提交第一个版本
authorliangzhenying <867174124@qq.com>
Wed, 19 Jun 2024 09:42:05 +0000 (17:42 +0800)
committerliangzhenying <867174124@qq.com>
Wed, 19 Jun 2024 09:42:05 +0000 (17:42 +0800)
449 files changed:
.gitignore [new file with mode: 0644]
MixSdk/Example/Example.xcodeproj/project.pbxproj
MixSdk/Example/Example.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist
MixSdk/Example/Example/AigcViewController.swift [new file with mode: 0644]
MixSdk/Example/Example/AppDelegate.swift
MixSdk/Example/Example/Base.lproj/Main.storyboard
MixSdk/Example/Example/ChatViewController.swift [new file with mode: 0644]
MixSdk/Example/Example/Info.plist
MixSdk/Example/Example/PlayerManager.swift [new file with mode: 0644]
MixSdk/Example/Example/Record/AiMouseAudioRecord.h [new file with mode: 0644]
MixSdk/Example/Example/Record/AiMouseAudioRecord.m [new file with mode: 0644]
MixSdk/Example/Example/Record/AiMouseRecordManager.h [new file with mode: 0644]
MixSdk/Example/Example/Record/AiMouseRecordManager.m [new file with mode: 0644]
MixSdk/Example/Example/Record/Example-Bridging-Header.h [new file with mode: 0644]
MixSdk/Example/Example/SendToolBar.swift [new file with mode: 0644]
MixSdk/Example/Example/SttViewController.swift [new file with mode: 0644]
MixSdk/Example/Example/Then.swift [new file with mode: 0755]
MixSdk/Example/Example/TranslateViewController.swift [new file with mode: 0644]
MixSdk/Example/Example/TtsLongViewController.swift [new file with mode: 0644]
MixSdk/Example/Example/TtsViewController.swift [new file with mode: 0644]
MixSdk/Example/Example/ViewController.swift
MixSdk/MixSdk.xcworkspace/contents.xcworkspacedata
MixSdk/MixSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate
MixSdk/MixSdk/MixSdk.xcodeproj/project.pbxproj
MixSdk/MixSdk/MixSdk/IBHttpManager.swift
MixSdk/MixSdk/MixSdk/MSAigc.swift
MixSdk/MixSdk/MixSdk/MSAigcModel.swift [new file with mode: 0644]
MixSdk/MixSdk/MixSdk/MSAsr.swift [deleted file]
MixSdk/MixSdk/MixSdk/MSAuth.swift
MixSdk/MixSdk/MixSdk/MSChat.swift [new file with mode: 0644]
MixSdk/MixSdk/MixSdk/MSError.swift
MixSdk/MixSdk/MixSdk/MSManager.swift [deleted file]
MixSdk/MixSdk/MixSdk/MSStt.swift [new file with mode: 0644]
MixSdk/MixSdk/MixSdk/MSTranslate.swift
MixSdk/MixSdk/MixSdk/MSTts.swift [new file with mode: 0644]
MixSdk/MixSdk/MixSdk/MixSdk.swift [new file with mode: 0644]
MixSdk/MixSdk/MixSdk/Tools/CRC16.swift
MixSdk/MixSdk/MixSdk/Tools/LRC.swift
MixSdk/MixSdk/MixSdk/Tools/Logger.swift
MixSdk/MixSdk/MixSdk/Tools/MSTool.swift
MixSdk/MixSdk/MixSdk/Tools/String+MD5.swift
MixSdk/MixSdk/MixSdk/Tools/UTF8.swift
MixSdk/MixSdk/MixSdk/Tools/WebSocket.swift [new file with mode: 0644]
MixSdk/Podfile.lock [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQActiveConfiguration.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQBarButtonItemConfiguration.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQKeyboardConfiguration.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQRootControllerConfiguration.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQScrollViewConfiguration.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQToolbarConfiguration.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQToolbarPlaceholderConfiguration.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstants.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Debug.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Deprecated.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Toolbar.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ToolbarActions.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UIKeyboardNotification.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UITextFieldViewNotification.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManagerCompatible/IQKeyboardManagerCompatible.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQTextView/IQPlaceholderable.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQTextView/IQTextView.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQBarButtonItem.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQInvocation.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQPreviousNextView.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQTitleBarButtonItem.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQToolbar.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbar.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbarDeprecated.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/IQKeyboardListener.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/IQTextFieldViewListener.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/Info/IQKeyboardInfo.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/Info/IQTextFieldViewInfo.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/PrivacyInfo.xcprivacy [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextFieldDelegate.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextViewDelegate.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQTextFieldViewInfoModel.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQNSArray+Sort.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUICollectionView+Additions.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIScrollView+Additions.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUITableView+Additions.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUITextFieldView+Additions.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIView+Hierarchy.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIViewController+Additions.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/UIImage+NextPrevious.swift [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/LICENSE.md [new file with mode: 0644]
MixSdk/Pods/IQKeyboardManagerSwift/README.md [new file with mode: 0644]
MixSdk/Pods/Manifest.lock [new file with mode: 0644]
MixSdk/Pods/Pods.xcodeproj/project.pbxproj [new file with mode: 0644]
MixSdk/Pods/SnapKit/LICENSE [new file with mode: 0644]
MixSdk/Pods/SnapKit/README.md [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/Constraint.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintAttributes.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintConfig.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintConstantTarget.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintDSL.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintDescription.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintInsetTarget.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintInsets.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintItem.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintMaker.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintMakerEditable.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintPriority.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintRelation.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintView+Extensions.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintView.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/ConstraintViewDSL.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/Debugging.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/LayoutConstraint.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/LayoutConstraintItem.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/Typealiases.swift [new file with mode: 0644]
MixSdk/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift [new file with mode: 0644]
MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-dummy.m [new file with mode: 0644]
MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch [new file with mode: 0644]
MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-umbrella.h [new file with mode: 0644]
MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.debug.xcconfig [new file with mode: 0644]
MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap [new file with mode: 0644]
MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.release.xcconfig [new file with mode: 0644]
MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-Info.plist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-input-files.xcfilelist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-output-files.xcfilelist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-input-files.xcfilelist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-output-files.xcfilelist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh [new file with mode: 0755]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig [new file with mode: 0644]
MixSdk/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/SnapKit/SnapKit-Info.plist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/SnapKit/SnapKit-dummy.m [new file with mode: 0644]
MixSdk/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch [new file with mode: 0644]
MixSdk/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h [new file with mode: 0644]
MixSdk/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig [new file with mode: 0644]
MixSdk/Pods/Target Support Files/SnapKit/SnapKit.modulemap [new file with mode: 0644]
MixSdk/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap [new file with mode: 0644]
MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig [new file with mode: 0644]
MixSdk/Pods/Toast-Swift/LICENSE [new file with mode: 0644]
MixSdk/Pods/Toast-Swift/README.md [new file with mode: 0644]
MixSdk/Pods/Toast-Swift/Toast/Resources/PrivacyInfo.xcprivacy [new file with mode: 0644]
MixSdk/Pods/Toast-Swift/Toast/Toast.swift [new file with mode: 0644]
MixSdk/podfile [new file with mode: 0644]
document/MixSdk.doccarchive/css/chunk-c0335d80.10a2f091.css [new file with mode: 0644]
document/MixSdk.doccarchive/css/documentation-topic.1d1eec04.css [new file with mode: 0644]
document/MixSdk.doccarchive/css/documentation-topic~topic.b6287bcf.css [new file with mode: 0644]
document/MixSdk.doccarchive/css/documentation-topic~topic~tutorials-overview.d6f5411c.css [new file with mode: 0644]
document/MixSdk.doccarchive/css/index.038e887c.css [new file with mode: 0644]
document/MixSdk.doccarchive/css/topic.d8c126f3.css [new file with mode: 0644]
document/MixSdk.doccarchive/css/tutorials-overview.c249c765.css [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/lrc.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/aigc.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/auth.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/chat.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/initsdk().json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/isdebug.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/logs.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/shared.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/stt.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/translate.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/tts.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/version.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdkversionnumber.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdkversionstring.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc/createtask(_:completehandler:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc/getresult(taskid:completehandler:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc/getstyle(type:completehandler:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcquerycallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcresult.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcresult/init(from:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcresult/url.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/code.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/init(from:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/name.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/url.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstylecallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/algorithm.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/amount.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/height.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/init().json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/init(from:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/subject.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/type.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/url.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/width.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctaskcallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msauth.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msauth/authorized.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msauth/login(productkey:secretkey:deviceid:devicesecrect:completehandler:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msauth/register(productkey:secretkey:deviceid:sn:completehandler:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mschat.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mschat/callback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mschat/send(content:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mschatcallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel/content.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel/init(from:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel/type.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mserror.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/error-implementations.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/invalidrequest.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/localizeddescription.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/msg.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/parsingerror.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/reponseerror(_:_:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/unauthorised.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/unknow.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mslanuagecallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mslogincallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msregistercallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msstt.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/eventcallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/sendvoice(data:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/sentencerecognize(filepath:format:sample_rate:lang:completehandler:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/starttranscription().json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/stoptranscription().json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttcallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msstteventcallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/event.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/init(from:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/msg.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/result.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/status.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/task_id.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/end_time.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/init(from:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/is_end.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/result.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/sentence_id.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/start_time.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslate.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslate/getsupportlanguages(completehandler:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslate/translate(lang:text:completehandler:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatecallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/cn.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/code.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/en.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/init(from:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstts.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/eventcallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/runsynthesis(text:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/sendlongtextstream(text:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/startsynthesis().json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/stopsynthesis().json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/voicecallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msttseventcallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/event.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/init(from:).json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/msg.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/status.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/task_id.json [new file with mode: 0644]
document/MixSdk.doccarchive/data/documentation/mixsdk/msttsvoicecallback.json [new file with mode: 0644]
document/MixSdk.doccarchive/developer-og-twitter.jpg [new file with mode: 0644]
document/MixSdk.doccarchive/developer-og.jpg [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/lrc/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/aigc/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/auth/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/chat/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/initsdk()/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/isdebug/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/logs/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/shared/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/stt/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/translate/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/tts/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/version/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdkversionnumber/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mixsdkversionstring/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigc/createtask(_:completehandler:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigc/getresult(taskid:completehandler:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigc/getstyle(type:completehandler:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigc/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcquerycallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcresult/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcresult/init(from:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcresult/url/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/code/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/init(from:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/name/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/url/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigcstylecallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/algorithm/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/amount/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/height/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/init()/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/init(from:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/subject/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/type/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/url/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/width/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msaigctaskcallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msauth/authorized/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msauth/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msauth/login(productkey:secretkey:deviceid:devicesecrect:completehandler:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msauth/register(productkey:secretkey:deviceid:sn:completehandler:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mschat/callback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mschat/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mschat/send(content:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mschatcallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/content/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/init(from:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/type/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mserror/error-implementations/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mserror/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mserror/invalidrequest/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mserror/localizeddescription/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mserror/msg/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mserror/parsingerror/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mserror/reponseerror(_:_:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mserror/unauthorised/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mserror/unknow/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mslanuagecallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mslogincallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msregistercallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msstt/eventcallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msstt/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msstt/sendvoice(data:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msstt/sentencerecognize(filepath:format:sample_rate:lang:completehandler:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msstt/starttranscription()/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msstt/stoptranscription()/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttcallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msstteventcallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/event/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/init(from:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/msg/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/result/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/status/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/task_id/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/end_time/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/init(from:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/is_end/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/result/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/sentence_id/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/start_time/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstranslate/getsupportlanguages(completehandler:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstranslate/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstranslate/translate(lang:text:completehandler:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstranslatecallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/cn/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/code/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/en/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/init(from:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstts/eventcallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstts/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstts/runsynthesis(text:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstts/sendlongtextstream(text:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstts/startsynthesis()/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstts/stopsynthesis()/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/mstts/voicecallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msttseventcallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/event/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/init(from:)/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/msg/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/status/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/task_id/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/documentation/mixsdk/msttsvoicecallback/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/favicon.ico [new file with mode: 0644]
document/MixSdk.doccarchive/favicon.svg [new file with mode: 0644]
document/MixSdk.doccarchive/img/added-icon.d6f7e47d.svg [new file with mode: 0644]
document/MixSdk.doccarchive/img/deprecated-icon.015b4f17.svg [new file with mode: 0644]
document/MixSdk.doccarchive/img/modified-icon.f496e73d.svg [new file with mode: 0644]
document/MixSdk.doccarchive/img/no-image@2x.df2a0a50.png [new file with mode: 0644]
document/MixSdk.doccarchive/index.html [new file with mode: 0644]
document/MixSdk.doccarchive/index/availability.index [new file with mode: 0644]
document/MixSdk.doccarchive/index/data.mdb [new file with mode: 0755]
document/MixSdk.doccarchive/index/index.json [new file with mode: 0644]
document/MixSdk.doccarchive/index/navigator.index [new file with mode: 0644]
document/MixSdk.doccarchive/js/chunk-2d0d3105.cd72cc8e.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/chunk-c0335d80.76a68cc5.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/chunk-vendors.ba2dd0cb.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/documentation-topic.57e91f8a.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/documentation-topic~topic.1679ec90.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/documentation-topic~topic~tutorials-overview.90c61522.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-bash.1b52852f.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-c.d1db3f17.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-cpp.eaddddbe.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-css.75eab1fe.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-custom-markdown.7cffc4b3.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-custom-swift.5cda5c20.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-diff.62d66733.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-http.163e45b6.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-java.8326d9d8.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-javascript.acb8a8eb.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-json.471128d2.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-llvm.6100b125.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-markdown.90077643.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-objectivec.bcdf5156.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-perl.757d7b6f.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-php.cc8d6c27.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-python.c214ed92.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-ruby.f889d392.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-scss.62ee18da.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-shell.dd7f411f.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-swift.84f3e88c.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/highlight-js-xml.9c3688c7.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/index.e8a5d294.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/topic.8cd0c0c4.js [new file with mode: 0644]
document/MixSdk.doccarchive/js/tutorials-overview.2a32cd6f.js [new file with mode: 0644]
document/MixSdk.doccarchive/metadata.json [new file with mode: 0644]
document/MixSdk.md [new file with mode: 0644]
document/MixSdk.pdf [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..b05a780
--- /dev/null
@@ -0,0 +1,60 @@
+# Xcode
+#
+# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
+
+## Build generated
+build/
+DerivedData/
+
+## Various settings
+*.pbxuser
+!default.pbxuser
+*.mode1v3
+!default.mode1v3
+*.mode2v3
+!default.mode2v3
+*.perspectivev3
+!default.perspectivev3
+xcuserdata/
+
+## Other
+*.moved-aside
+*.xccheckout
+*.xcscmblueprint
+
+## Obj-C/Swift specific
+*.hmap
+*.ipa
+*.dSYM.zip
+*.dSYM
+
+# CocoaPods
+#
+# We recommend against adding the Pods directory to your .gitignore. However
+# you should judge for yourself, the pros and cons are mentioned at:
+# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
+#
+## 自定义不要上传的文件
+#Pods/
+.DS_Store
+
+# Carthage
+#
+# Add this line if you want to avoid checking in source code from Carthage dependencies.
+# Carthage/Checkouts
+
+Carthage/Build
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/#source-control
+
+MixSdk_iOS/
+
+# Code Injection
+#
+# After new code Injection tools there's a generated folder /iOSInjectionProject
+# https://github.com/johnno1962/injectionforxcode
\ No newline at end of file
index 374e30c..ac8bad7 100644 (file)
@@ -8,6 +8,7 @@
 
 /* Begin PBXBuildFile section */
                1811885B2C1BE80B00C23FAB /* 1.pcm in Resources */ = {isa = PBXBuildFile; fileRef = 181188592C1BE80B00C23FAB /* 1.pcm */; };
+               18132AF82C1C4D15002F6B52 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 18132AF62C1C4D15002F6B52 /* libz.tbd */; };
                18204BD42C193F9A00F94E69 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204BD32C193F9A00F94E69 /* AppDelegate.swift */; };
                18204BD62C193F9A00F94E69 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204BD52C193F9A00F94E69 /* SceneDelegate.swift */; };
                18204BD82C193F9A00F94E69 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204BD72C193F9A00F94E69 /* ViewController.swift */; };
                18204BDD2C193F9D00F94E69 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 18204BDC2C193F9D00F94E69 /* Assets.xcassets */; };
                18204BE02C193F9D00F94E69 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 18204BDE2C193F9D00F94E69 /* LaunchScreen.storyboard */; };
                18204BEE2C19428100F94E69 /* MixSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18204BEC2C19417000F94E69 /* MixSdk.framework */; };
+               184FFC492C218FC4006F664D /* PlayerManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184FFC482C218FC4006F664D /* PlayerManager.swift */; };
+               184FFC4D2C2199E5006F664D /* SendToolBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184FFC4C2C2199E5006F664D /* SendToolBar.swift */; };
+               184FFC512C21A4EB006F664D /* TtsLongViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184FFC502C21A4EB006F664D /* TtsLongViewController.swift */; };
+               18B74A212C201CD600FABBA9 /* TtsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18B74A202C201CD600FABBA9 /* TtsViewController.swift */; };
+               18B74A242C201CE900FABBA9 /* SttViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18B74A232C201CE900FABBA9 /* SttViewController.swift */; };
+               18B74A262C201EBD00FABBA9 /* ChatViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18B74A252C201EBD00FABBA9 /* ChatViewController.swift */; };
+               18B74A282C201F2500FABBA9 /* TranslateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18B74A272C201F2500FABBA9 /* TranslateViewController.swift */; };
+               18B74A2A2C201FF200FABBA9 /* AigcViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18B74A292C201FF200FABBA9 /* AigcViewController.swift */; };
+               18DB20482C213D730070D571 /* AiMouseAudioRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 18DB20462C213D730070D571 /* AiMouseAudioRecord.m */; };
+               18DB20492C213D730070D571 /* AiMouseRecordManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 18DB20472C213D730070D571 /* AiMouseRecordManager.m */; };
+               F59940004E1C16053FBD42F5 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B555BC40ACD8F31DBCDD1A2 /* Pods_Example.framework */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -29,6 +41,7 @@
 
 /* Begin PBXFileReference section */
                181188592C1BE80B00C23FAB /* 1.pcm */ = {isa = PBXFileReference; lastKnownFileType = file; path = 1.pcm; sourceTree = "<group>"; };
+               18132AF62C1C4D15002F6B52 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
                18204BD02C193F9A00F94E69 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
                18204BD32C193F9A00F94E69 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
                18204BD52C193F9A00F94E69 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
                18204BDF2C193F9D00F94E69 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
                18204BE12C193F9D00F94E69 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
                18204BE72C19417000F94E69 /* MixSdk.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MixSdk.xcodeproj; path = ../MixSdk/MixSdk.xcodeproj; sourceTree = "<group>"; };
+               184FFC482C218FC4006F664D /* PlayerManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerManager.swift; sourceTree = "<group>"; };
+               184FFC4C2C2199E5006F664D /* SendToolBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendToolBar.swift; sourceTree = "<group>"; };
+               184FFC502C21A4EB006F664D /* TtsLongViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TtsLongViewController.swift; sourceTree = "<group>"; };
+               18B74A202C201CD600FABBA9 /* TtsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TtsViewController.swift; sourceTree = "<group>"; };
+               18B74A232C201CE900FABBA9 /* SttViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SttViewController.swift; sourceTree = "<group>"; };
+               18B74A252C201EBD00FABBA9 /* ChatViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatViewController.swift; sourceTree = "<group>"; };
+               18B74A272C201F2500FABBA9 /* TranslateViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TranslateViewController.swift; sourceTree = "<group>"; };
+               18B74A292C201FF200FABBA9 /* AigcViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AigcViewController.swift; sourceTree = "<group>"; };
+               18DB20432C213D720070D571 /* Example-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Example-Bridging-Header.h"; sourceTree = "<group>"; };
+               18DB20442C213D730070D571 /* AiMouseRecordManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AiMouseRecordManager.h; sourceTree = "<group>"; };
+               18DB20452C213D730070D571 /* AiMouseAudioRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AiMouseAudioRecord.h; sourceTree = "<group>"; };
+               18DB20462C213D730070D571 /* AiMouseAudioRecord.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AiMouseAudioRecord.m; sourceTree = "<group>"; };
+               18DB20472C213D730070D571 /* AiMouseRecordManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AiMouseRecordManager.m; sourceTree = "<group>"; };
+               4B555BC40ACD8F31DBCDD1A2 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+               759E170040ACED4895C8A49D /* 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>"; };
+               C85BC820E1AA39AC970C9E79 /* 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>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -45,7 +74,9 @@
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               18132AF82C1C4D15002F6B52 /* libz.tbd in Frameworks */,
                                18204BEE2C19428100F94E69 /* MixSdk.framework in Frameworks */,
+                               F59940004E1C16053FBD42F5 /* Pods_Example.framework in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -67,6 +98,7 @@
                                18204BD22C193F9A00F94E69 /* Example */,
                                18204BD12C193F9A00F94E69 /* Products */,
                                18204BED2C19428100F94E69 /* Frameworks */,
+                               E5A43F5BA6ADF749EC11253E /* Pods */,
                        );
                        sourceTree = "<group>";
                };
                18204BD22C193F9A00F94E69 /* Example */ = {
                        isa = PBXGroup;
                        children = (
+                               18DB20412C213D600070D571 /* Record */,
                                181188582C1BE80B00C23FAB /* Resource */,
                                18204BD32C193F9A00F94E69 /* AppDelegate.swift */,
                                18204BD52C193F9A00F94E69 /* SceneDelegate.swift */,
                                18204BD72C193F9A00F94E69 /* ViewController.swift */,
+                               184FFC482C218FC4006F664D /* PlayerManager.swift */,
+                               184FFC4C2C2199E5006F664D /* SendToolBar.swift */,
+                               18B74A202C201CD600FABBA9 /* TtsViewController.swift */,
+                               184FFC502C21A4EB006F664D /* TtsLongViewController.swift */,
+                               18B74A232C201CE900FABBA9 /* SttViewController.swift */,
+                               18B74A252C201EBD00FABBA9 /* ChatViewController.swift */,
+                               18B74A272C201F2500FABBA9 /* TranslateViewController.swift */,
+                               18B74A292C201FF200FABBA9 /* AigcViewController.swift */,
                                18204BD92C193F9A00F94E69 /* Main.storyboard */,
                                18204BDC2C193F9D00F94E69 /* Assets.xcassets */,
                                18204BDE2C193F9D00F94E69 /* LaunchScreen.storyboard */,
                18204BED2C19428100F94E69 /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
+                               18132AF62C1C4D15002F6B52 /* libz.tbd */,
+                               4B555BC40ACD8F31DBCDD1A2 /* Pods_Example.framework */,
                        );
                        name = Frameworks;
                        sourceTree = "<group>";
                };
+               18DB20412C213D600070D571 /* Record */ = {
+                       isa = PBXGroup;
+                       children = (
+                               18DB20452C213D730070D571 /* AiMouseAudioRecord.h */,
+                               18DB20462C213D730070D571 /* AiMouseAudioRecord.m */,
+                               18DB20442C213D730070D571 /* AiMouseRecordManager.h */,
+                               18DB20472C213D730070D571 /* AiMouseRecordManager.m */,
+                               18DB20432C213D720070D571 /* Example-Bridging-Header.h */,
+                       );
+                       path = Record;
+                       sourceTree = "<group>";
+               };
+               E5A43F5BA6ADF749EC11253E /* Pods */ = {
+                       isa = PBXGroup;
+                       children = (
+                               C85BC820E1AA39AC970C9E79 /* Pods-Example.debug.xcconfig */,
+                               759E170040ACED4895C8A49D /* Pods-Example.release.xcconfig */,
+                       );
+                       name = Pods;
+                       path = ../Pods;
+                       sourceTree = "<group>";
+               };
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
                        isa = PBXNativeTarget;
                        buildConfigurationList = 18204BE42C193F9D00F94E69 /* Build configuration list for PBXNativeTarget "Example" */;
                        buildPhases = (
+                               77F634FCD00C58D2BB6C4521 /* [CP] Check Pods Manifest.lock */,
                                18204BCC2C193F9A00F94E69 /* Sources */,
                                18204BCD2C193F9A00F94E69 /* Frameworks */,
                                18204BCE2C193F9A00F94E69 /* Resources */,
+                               D5947059D892BEBE383971CE /* [CP] Embed Pods Frameworks */,
                        );
                        buildRules = (
                        );
                                TargetAttributes = {
                                        18204BCF2C193F9A00F94E69 = {
                                                CreatedOnToolsVersion = 15.0.1;
+                                               LastSwiftMigration = 1500;
                                        };
                                };
                        };
                };
 /* End PBXResourcesBuildPhase section */
 
+/* Begin PBXShellScriptBuildPhase section */
+               77F634FCD00C58D2BB6C4521 /* [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;
+               };
+               D5947059D892BEBE383971CE /* [CP] Embed Pods Frameworks */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputFileListPaths = (
+                               "${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+                       );
+                       name = "[CP] Embed Pods Frameworks";
+                       outputFileListPaths = (
+                               "${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n";
+                       showEnvVarsInLog = 0;
+               };
+/* End PBXShellScriptBuildPhase section */
+
 /* Begin PBXSourcesBuildPhase section */
                18204BCC2C193F9A00F94E69 /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               18B74A212C201CD600FABBA9 /* TtsViewController.swift in Sources */,
+                               18DB20482C213D730070D571 /* AiMouseAudioRecord.m in Sources */,
                                18204BD82C193F9A00F94E69 /* ViewController.swift in Sources */,
+                               18B74A242C201CE900FABBA9 /* SttViewController.swift in Sources */,
                                18204BD42C193F9A00F94E69 /* AppDelegate.swift in Sources */,
+                               18B74A262C201EBD00FABBA9 /* ChatViewController.swift in Sources */,
+                               184FFC492C218FC4006F664D /* PlayerManager.swift in Sources */,
+                               18DB20492C213D730070D571 /* AiMouseRecordManager.m in Sources */,
                                18204BD62C193F9A00F94E69 /* SceneDelegate.swift in Sources */,
+                               184FFC4D2C2199E5006F664D /* SendToolBar.swift in Sources */,
+                               18B74A2A2C201FF200FABBA9 /* AigcViewController.swift in Sources */,
+                               184FFC512C21A4EB006F664D /* TtsLongViewController.swift in Sources */,
+                               18B74A282C201F2500FABBA9 /* TranslateViewController.swift in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                };
                18204BE52C193F9D00F94E69 /* Debug */ = {
                        isa = XCBuildConfiguration;
+                       baseConfigurationReference = C85BC820E1AA39AC970C9E79 /* Pods-Example.debug.xcconfig */;
                        buildSettings = {
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+                               CLANG_ENABLE_MODULES = YES;
                                CODE_SIGN_STYLE = Automatic;
                                CURRENT_PROJECT_VERSION = 1;
                                DEVELOPMENT_TEAM = M33X987285;
+                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
                                GENERATE_INFOPLIST_FILE = YES;
                                INFOPLIST_FILE = Example/Info.plist;
+                               INFOPLIST_KEY_CFBundleDisplayName = MixSdk;
+                               INFOPLIST_KEY_NSMicrophoneUsageDescription = "要使用麦克风录音哦";
                                INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
                                INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
                                INFOPLIST_KEY_UIMainStoryboardFile = Main;
                                PRODUCT_BUNDLE_IDENTIFIER = ZhiHui.Example;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                SWIFT_EMIT_LOC_STRINGS = YES;
+                               SWIFT_OBJC_BRIDGING_HEADER = "Example/Record/Example-Bridging-Header.h";
+                               SWIFT_OPTIMIZATION_LEVEL = "-Onone";
                                SWIFT_VERSION = 5.0;
                                TARGETED_DEVICE_FAMILY = "1,2";
                        };
                };
                18204BE62C193F9D00F94E69 /* Release */ = {
                        isa = XCBuildConfiguration;
+                       baseConfigurationReference = 759E170040ACED4895C8A49D /* Pods-Example.release.xcconfig */;
                        buildSettings = {
                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                                ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
+                               CLANG_ENABLE_MODULES = YES;
                                CODE_SIGN_STYLE = Automatic;
                                CURRENT_PROJECT_VERSION = 1;
                                DEVELOPMENT_TEAM = M33X987285;
+                               ENABLE_USER_SCRIPT_SANDBOXING = NO;
                                GENERATE_INFOPLIST_FILE = YES;
                                INFOPLIST_FILE = Example/Info.plist;
+                               INFOPLIST_KEY_CFBundleDisplayName = MixSdk;
+                               INFOPLIST_KEY_NSMicrophoneUsageDescription = "要使用麦克风录音哦";
                                INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
                                INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
                                INFOPLIST_KEY_UIMainStoryboardFile = Main;
                                PRODUCT_BUNDLE_IDENTIFIER = ZhiHui.Example;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                SWIFT_EMIT_LOC_STRINGS = YES;
+                               SWIFT_OBJC_BRIDGING_HEADER = "Example/Record/Example-Bridging-Header.h";
                                SWIFT_VERSION = 5.0;
                                TARGETED_DEVICE_FAMILY = "1,2";
                        };
index c1cbfb0..7b7c173 100644 (file)
@@ -7,7 +7,7 @@
                <key>Example.xcscheme_^#shared#^_</key>
                <dict>
                        <key>orderHint</key>
-                       <integer>1</integer>
+                       <integer>7</integer>
                </dict>
        </dict>
 </dict>
diff --git a/MixSdk/Example/Example/AigcViewController.swift b/MixSdk/Example/Example/AigcViewController.swift
new file mode 100644 (file)
index 0000000..3559e84
--- /dev/null
@@ -0,0 +1,96 @@
+//
+//  AigcViewController.swift
+//  Example
+//
+//  Created by incar on 2024/6/17.
+//
+
+import UIKit
+import MixSdk
+import SnapKit
+import Toast_Swift
+class AigcViewController: UIViewController{
+    var styleList:[MSAigcStyle]?
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do any additional setup after loading the view.
+        setupViews()
+        getStyleRequest()
+    }
+    func setupViews(){
+        self.title = "aigc"
+        self.view.backgroundColor = .white
+        
+        let toolBar = SendToolBar()
+        toolBar.textField.text = "小猫"
+        toolBar.sendBtn.setTitle("创建任务", for: .normal)
+        toolBar.delegate = self
+        view.addSubview(toolBar)
+        toolBar.snp.makeConstraints { make in
+            make.width.centerX.equalToSuperview()
+            make.height.equalTo(60)
+            make.bottom.equalToSuperview().inset(20)
+        }
+    }
+}
+
+extension AigcViewController:SendToolBarDelegate{
+    func sendToolBar(_ toolBar: SendToolBar, _ text: String) {
+        createTask(text)
+    }
+}
+
+extension AigcViewController{
+    func getStyleRequest() {
+        view.makeToastActivity(.center)
+        MixSdk.shared.aigc.getStyle(type: 5) {[weak self] list, error in
+            self?.view.hideToastActivity()
+            if let err = error{
+                print("\(err)")
+            }
+            else{
+                self?.styleList = list
+                print(list ?? "")
+            }
+        }
+    }
+    func createTask(_ text:String) {
+        view.makeToastActivity(.center)
+        let task = MSAigcTask()
+        task.subject = "一只奔跑的猫" // type=5 参数不生效
+        task.url = "https://public-vigen-video.oss-cn-shanghai.aliyuncs.com/public/dashscope/test.png" // type=0 不需要提交url type=5 必须提交
+        task.type = 5 //0:⽂字⽣图,1: ⽂+图⽣图 5: 图⽣图(⻛格变换)
+        task.amount = 2 //⽣成的图⽚数量  type=5 参数不生效
+        task.height = 1024//⽣成的图⽚⾼度,type=1时需要是32的倍数。 type=5 参数不生效
+        task.width = 1024//⽣成的图⽚宽度,type=1时需要是32的倍数。 type=5 参数不生效
+        task.algorithm = "4" //算法id可⽤值⻅get-style
+        
+        MixSdk.shared.aigc.createTask(task){[weak self] taskId, error in
+            guard let self = self else {return}
+            self.view.hideToastActivity()
+            if let err = error{
+                print("\(err)")
+            }
+            else{
+                print(taskId ?? "")
+                self.perform(#selector(getResultRequest), with: taskId, afterDelay: 1)
+            }
+        }
+    }
+    
+    //每隔1秒去查一次结果
+    @objc func getResultRequest(_ taskId:String) {
+        view.makeToastActivity(.center)
+        MixSdk.shared.aigc.getResult(taskId: taskId){[weak self] list, error in
+            guard let self = self else {return}
+            self.view.hideToastActivity()
+            if let list = list {
+                print("\(list)")
+            }
+            else{
+                self.perform(#selector(getResultRequest), with: taskId, afterDelay: 1)
+            }
+        }
+    }
+}
index 4c7d99f..91ddc4f 100644 (file)
@@ -7,6 +7,7 @@
 
 import UIKit
 import MixSdk
+import IQKeyboardManagerSwift
 @main
 class AppDelegate: UIResponder, UIApplicationDelegate {
 
@@ -14,8 +15,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
 
     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
         // Override point for customization after application launch.
-        MSManager.shared.initSDK()
-        MSManager.shared.isDebug = true
+        MixSdk.shared.initSDK()
+        MixSdk.shared.isDebug = true
+        
+        
+        IQKeyboardManager.shared.enable = true
+        IQKeyboardManager.shared.resignOnTouchOutside = true
         return true
     }
 
index d406427..1df7652 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="NwZ-cZ-Edj">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
                         <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                     </view>
+                    <navigationItem key="navigationItem" id="Fje-Ht-hZ4"/>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
             </objects>
             <point key="canvasLocation" x="119.84732824427481" y="3.5211267605633805"/>
         </scene>
+        <!--Navigation Controller-->
+        <scene sceneID="kBc-RH-mbu">
+            <objects>
+                <navigationController id="NwZ-cZ-Edj" sceneMemberID="viewController">
+                    <navigationBar key="navigationBar" contentMode="scaleToFill" id="h6A-NY-m59">
+                        <rect key="frame" x="0.0" y="59" width="393" height="44"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </navigationBar>
+                    <connections>
+                        <segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="Pnq-05-wnp"/>
+                    </connections>
+                </navigationController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="N1X-mb-ovV" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="1578" y="4"/>
+        </scene>
     </scenes>
     <resources>
         <systemColor name="systemBackgroundColor">
diff --git a/MixSdk/Example/Example/ChatViewController.swift b/MixSdk/Example/Example/ChatViewController.swift
new file mode 100644 (file)
index 0000000..3edc13a
--- /dev/null
@@ -0,0 +1,75 @@
+//
+//  ChatViewController.swift
+//  Example
+//
+//  Created by incar on 2024/6/17.
+//
+
+import UIKit
+import MixSdk
+import SnapKit
+import Toast_Swift
+class ChatViewController: UIViewController{
+    
+    let textView = UITextView()
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do any additional setup after loading the view.
+        
+        setupViews()
+        setupChatCallBack()
+    }
+    
+    func setupViews(){
+        self.title = "大模型对话"
+        self.view.backgroundColor = .white
+        
+        let toolBar = SendToolBar()
+        toolBar.textField.text = "今天天气怎么样"
+        toolBar.delegate = self
+        view.addSubview(toolBar)
+        toolBar.snp.makeConstraints { make in
+            make.width.centerX.equalToSuperview()
+            make.height.equalTo(60)
+            make.bottom.equalToSuperview().inset(20)
+        }
+        
+        textView.isEditable = false
+        view.addSubview(textView)
+        textView.snp.makeConstraints { make in
+            make.top.equalToSuperview().inset(80)
+            make.left.right.equalToSuperview()
+            make.bottom.equalTo(toolBar.snp.top)
+        }
+    }
+    
+    func setupChatCallBack(){
+        let chat = MixSdk.shared.chat
+        chat.callBack = {[weak self] model in
+            guard let self = self else {return}
+            print("\(model.type) : \(model.content ?? "")")
+            
+            if model.type == "start" {
+                textView.text += "[receive] "
+            }
+            else if model.type == "end" {
+                textView.text += "\n"
+            }
+            else if model.type == "middle"{
+                textView.text += model.content ?? ""
+            }
+            let range = NSMakeRange(self.textView.text.count - 1, 1)
+            self.textView.scrollRangeToVisible(range)
+        }
+    }
+}
+extension ChatViewController:SendToolBarDelegate{
+    func sendToolBar(_ toolBar: SendToolBar, _ text: String) {
+        MixSdk.shared.chat.send(content: text)
+        textView.text += "[send] " + text + "\n"
+        
+        let range = NSMakeRange(textView.text.count - 1, 1)
+        textView.scrollRangeToVisible(range)
+    }
+}
index 735e27a..c0ae0b4 100644 (file)
@@ -2,6 +2,11 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+       <key>NSAppTransportSecurity</key>
+       <dict>
+               <key>NSAllowsArbitraryLoads</key>
+               <true/>
+       </dict>
        <key>UIApplicationSceneManifest</key>
        <dict>
                <key>UIApplicationSupportsMultipleScenes</key>
                        </array>
                </dict>
        </dict>
-       <key>NSAppTransportSecurity</key>
-       <dict>
-               <key>NSAllowsArbitraryLoads</key>
-               <true/>
-       </dict>
 </dict>
 </plist>
diff --git a/MixSdk/Example/Example/PlayerManager.swift b/MixSdk/Example/Example/PlayerManager.swift
new file mode 100644 (file)
index 0000000..ef927b1
--- /dev/null
@@ -0,0 +1,36 @@
+//
+//  PlayerManager.swift
+//  Example
+//
+//  Created by incar on 2024/6/18.
+//
+
+import Foundation
+import AVFoundation
+
+class PlayerManager:NSObject{
+    public static let shared = PlayerManager()
+    
+    private override init() {
+        super.init()
+    }
+
+    var player = AVAudioPlayer()
+     
+    func play(filePath:String){
+        let url = URL(fileURLWithPath: filePath)
+        do {
+            // 准备播放器
+            try player = AVAudioPlayer(contentsOf: url)
+            player.prepareToPlay()
+            
+            // 播放声音
+            player.play()
+        } catch let error as NSError {
+            // 处理错误
+            print(error.description)
+        }
+    }
+}
+
+
diff --git a/MixSdk/Example/Example/Record/AiMouseAudioRecord.h b/MixSdk/Example/Example/Record/AiMouseAudioRecord.h
new file mode 100644 (file)
index 0000000..a5b1b43
--- /dev/null
@@ -0,0 +1,38 @@
+//
+//  AiMouseAudioRecord.h
+//  AVDemo
+//
+//  Created by incar on 2024/3/27.
+//
+
+#import <Foundation/Foundation.h>
+#import <CoreMedia/CoreMedia.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AiMouseAudioConfig : NSObject
++ (instancetype)defaultConfig;
+
+@property (nonatomic, assign) NSUInteger channels; // 声道数,default: 2。
+@property (nonatomic, assign) NSUInteger sampleRate; // 采样率,default: 44100。
+@property (nonatomic, assign) NSUInteger bitDepth; // 量化位深,default: 16。
+@end
+
+
+
+
+
+@interface AiMouseAudioRecord : NSObject
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+- (instancetype)initWithConfig:(AiMouseAudioConfig *)config;
+
+@property (nonatomic, strong, readonly) AiMouseAudioConfig *config;
+@property (nonatomic, copy) void (^sampleBufferOutputCallBack)(CMSampleBufferRef sample); // 音频采集数据回调。
+@property (nonatomic, copy) void (^errorCallBack)(NSError *error); // 音频采集错误回调。
+
+- (void)startRunning; // 开始采集音频数据。
+- (void)stopRunning; // 停止采集音频数据。
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/MixSdk/Example/Example/Record/AiMouseAudioRecord.m b/MixSdk/Example/Example/Record/AiMouseAudioRecord.m
new file mode 100644 (file)
index 0000000..7bc8ff5
--- /dev/null
@@ -0,0 +1,268 @@
+//
+//  AiMouseAudioRecord.m
+//  AVDemo
+//
+//  Created by incar on 2024/3/27.
+//
+
+#import "AiMouseAudioRecord.h"
+#import <AVFoundation/AVFoundation.h>
+#import <mach/mach_time.h>
+
+@implementation AiMouseAudioConfig
++ (instancetype)defaultConfig {
+    AiMouseAudioConfig *config = [[self alloc] init];
+    config.channels = 1;
+    config.sampleRate = 14000;
+    config.bitDepth = 16;
+    
+    return config;
+}
+
+@end
+
+@interface AiMouseAudioRecord ()
+@property (nonatomic, assign) AudioComponentInstance audioCaptureInstance; // 音频采集实例。
+@property (nonatomic, assign) AudioStreamBasicDescription audioFormat; // 音频采集参数。
+@property (nonatomic, strong, readwrite) AiMouseAudioConfig *config;
+@property (nonatomic, strong) dispatch_queue_t captureQueue;
+@property (nonatomic, assign) BOOL isError;
+@end
+
+@implementation AiMouseAudioRecord
+
+#pragma mark - Lifecycle
+- (instancetype)initWithConfig:(AiMouseAudioConfig *)config {
+    self = [super init];
+    if (self) {
+        _config = config;
+        _captureQueue = dispatch_queue_create("com.KeyFrameKit.audioCapture", DISPATCH_QUEUE_SERIAL);
+    }
+    
+    return self;
+}
+
+- (void)dealloc {
+    // 清理音频采集实例。
+    if (_audioCaptureInstance) {
+        AudioOutputUnitStop(_audioCaptureInstance);
+        AudioComponentInstanceDispose(_audioCaptureInstance);
+        _audioCaptureInstance = nil;
+    }
+}
+
+#pragma mark - Action
+- (void)startRunning {
+    if (self.isError) {
+        return;
+    }
+    
+    __weak typeof(self) weakSelf = self;
+    dispatch_async(_captureQueue, ^{
+        if (!weakSelf.audioCaptureInstance) {
+            NSError *error = nil;
+            // 第一次 startRunning 时创建音频采集实例。
+            [weakSelf setupAudioCaptureInstance:&error];
+            if (error) {
+                // 捕捉并回调创建音频实例时的错误。
+                [weakSelf callBackError:error];
+                return;
+            }
+        }
+        
+        // 开始采集。
+        OSStatus startStatus = AudioOutputUnitStart(weakSelf.audioCaptureInstance);
+        if (startStatus != noErr) {
+            // 捕捉并回调开始采集时的错误。
+            [weakSelf callBackError:[NSError errorWithDomain:NSStringFromClass([AiMouseAudioRecord class]) code:startStatus userInfo:nil]];
+        }
+    });
+}
+
+- (void)stopRunning {
+    if (self.isError) {
+        return;
+    }
+    
+    __weak typeof(self) weakSelf = self;
+    dispatch_async(_captureQueue, ^{
+        if (weakSelf.audioCaptureInstance) {
+            // 停止采集。
+            OSStatus stopStatus = AudioOutputUnitStop(weakSelf.audioCaptureInstance);
+            if (stopStatus != noErr) {
+                // 捕捉并回调停止采集时的错误。
+                [weakSelf callBackError:[NSError errorWithDomain:NSStringFromClass([AiMouseAudioRecord class]) code:stopStatus userInfo:nil]];
+            }
+        }
+    });
+}
+
+#pragma mark - Utility
+- (void)setupAudioCaptureInstance:(NSError **)error {
+    // 1、设置音频组件描述。
+    AudioComponentDescription acd = {
+        .componentType = kAudioUnitType_Output,
+        //.componentSubType = kAudioUnitSubType_VoiceProcessingIO, // 回声消除模式
+        .componentSubType = kAudioUnitSubType_RemoteIO,
+        .componentManufacturer = kAudioUnitManufacturer_Apple,
+        .componentFlags = 0,
+        .componentFlagsMask = 0,
+    };
+    
+    // 2、查找符合指定描述的音频组件。
+    AudioComponent component = AudioComponentFindNext(NULL, &acd);
+    
+    // 3、创建音频组件实例。
+    OSStatus status = AudioComponentInstanceNew(component, &_audioCaptureInstance);
+    if (status != noErr) {
+        *error = [NSError errorWithDomain:NSStringFromClass(self.class) code:status userInfo:nil];
+        return;
+    }
+        
+    // 4、设置实例的属性:可读写。0 不可读写,1 可读写。
+    UInt32 flagOne = 1;
+    AudioUnitSetProperty(_audioCaptureInstance, kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Input, 1, &flagOne, sizeof(flagOne));
+    
+    // 5、设置实例的属性:音频参数,如:数据格式、声道数、采样位深、采样率等。
+    AudioStreamBasicDescription asbd = {0};
+    asbd.mFormatID = kAudioFormatLinearPCM; // 原始数据为 PCM,采用声道交错格式。
+    asbd.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked;
+    asbd.mChannelsPerFrame = (UInt32) self.config.channels; // 每帧的声道数
+    asbd.mFramesPerPacket = 1; // 每个数据包帧数
+    asbd.mBitsPerChannel = (UInt32) self.config.bitDepth; // 采样位深
+    asbd.mBytesPerFrame = asbd.mChannelsPerFrame * asbd.mBitsPerChannel / 8; // 每帧字节数 (byte = bit / 8)
+    asbd.mBytesPerPacket = asbd.mFramesPerPacket * asbd.mBytesPerFrame; // 每个包的字节数
+    asbd.mSampleRate = self.config.sampleRate; // 采样率
+    self.audioFormat = asbd;
+    status = AudioUnitSetProperty(_audioCaptureInstance, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &asbd, sizeof(asbd));
+    if (status != noErr) {
+        *error = [NSError errorWithDomain:NSStringFromClass(self.class) code:status userInfo:nil];
+        return;
+    }
+    
+    // 6、设置实例的属性:数据回调函数。
+    AURenderCallbackStruct cb;
+    cb.inputProcRefCon = (__bridge void *) self;
+    cb.inputProc = audioBufferCallBack;
+    status = AudioUnitSetProperty(_audioCaptureInstance, kAudioOutputUnitProperty_SetInputCallback, kAudioUnitScope_Global, 1, &cb, sizeof(cb));
+    if (status != noErr) {
+        *error = [NSError errorWithDomain:NSStringFromClass(self.class) code:status userInfo:nil];
+        return;
+    }
+    
+    // 7、初始化实例。
+    status = AudioUnitInitialize(_audioCaptureInstance);
+    if (status != noErr) {
+        *error = [NSError errorWithDomain:NSStringFromClass(self.class) code:status userInfo:nil];
+        return;
+    }
+}
+
+- (void)callBackError:(NSError *)error {
+    self.isError = YES;
+    if (error && self.errorCallBack) {
+        dispatch_async(dispatch_get_main_queue(), ^{
+            self.errorCallBack(error);
+        });
+    }
+}
+
++ (CMSampleBufferRef)sampleBufferFromAudioBufferList:(AudioBufferList)buffers inTimeStamp:(const AudioTimeStamp *)inTimeStamp inNumberFrames:(UInt32)inNumberFrames description:(AudioStreamBasicDescription)description {
+    CMSampleBufferRef sampleBuffer = NULL; // 待生成的 CMSampleBuffer 实例的引用。
+    
+    // 1、创建音频流的格式描述信息。
+    CMFormatDescriptionRef format = NULL;
+    OSStatus status = CMAudioFormatDescriptionCreate(kCFAllocatorDefault, &description, 0, NULL, 0, NULL, NULL, &format);
+    if (status != noErr) {
+        CFRelease(format);
+        return nil;
+    }
+    
+    // 2、处理音频帧的时间戳信息。
+    mach_timebase_info_data_t info = {0, 0};
+    mach_timebase_info(&info);
+    uint64_t time = inTimeStamp->mHostTime;
+    // 转换为纳秒。
+    time *= info.numer;
+    time /= info.denom;
+    // PTS。
+    CMTime presentationTime = CMTimeMake(time, 1000000000.0f);
+    // 对于音频,PTS 和 DTS 是一样的。
+    CMSampleTimingInfo timing = {CMTimeMake(1, description.mSampleRate), presentationTime, presentationTime};
+    
+    // 3、创建 CMSampleBuffer 实例。
+    status = CMSampleBufferCreate(kCFAllocatorDefault, NULL, false, NULL, NULL, format, (CMItemCount) inNumberFrames, 1, &timing, 0, NULL, &sampleBuffer);
+    if (status != noErr) {
+        CFRelease(format);
+        return nil;
+    }
+    
+    // 4、创建 CMBlockBuffer 实例。其中数据拷贝自 AudioBufferList,并将 CMBlockBuffer 实例关联到 CMSampleBuffer 实例。
+    status = CMSampleBufferSetDataBufferFromAudioBufferList(sampleBuffer, kCFAllocatorDefault, kCFAllocatorDefault, 0, &buffers);
+    if (status != noErr) {
+        CFRelease(format);
+        return nil;
+    }
+    
+    CFRelease(format);
+    return sampleBuffer;
+}
+
+#pragma mark - Capture CallBack
+static OSStatus audioBufferCallBack(void *inRefCon,
+                                    AudioUnitRenderActionFlags *ioActionFlags,
+                                    const AudioTimeStamp *inTimeStamp,
+                                    UInt32 inBusNumber,
+                                    UInt32 inNumberFrames,
+                                    AudioBufferList *ioData) {
+    @autoreleasepool {
+        AiMouseAudioRecord *capture = (__bridge AiMouseAudioRecord *) inRefCon;
+        if (!capture) {
+            return -1;
+        }
+        
+        // 1、创建 AudioBufferList 空间,用来接收采集回来的数据。
+        AudioBuffer buffer;
+        buffer.mData = NULL;
+        buffer.mDataByteSize = 0;
+        // 采集的时候设置了数据格式是 kAudioFormatLinearPCM,即声道交错格式,所以即使是双声道这里也设置 mNumberChannels 为 1。
+        // 对于双声道的数据,会按照采样位深 16 bit 每组,一组接一组地进行两个声道数据的交错拼装。
+        buffer.mNumberChannels = 1;
+        AudioBufferList buffers;
+        buffers.mNumberBuffers = 1;
+        buffers.mBuffers[0] = buffer;
+        
+        // 2、获取音频 PCM 数据,存储到 AudioBufferList 中。
+        // 这里有几个问题要说明清楚:
+        // 1)每次回调会过来多少数据?
+        // 按照上面采集音频参数的设置:PCM 为声道交错格式、每帧的声道数为 2、采样位深为 16 bit。这样每帧的字节数是 4 字节(左右声道各 2 字节)。
+        // 返回数据的帧数是 inNumberFrames。这样一次回调回来的数据字节数是多少就是:mBytesPerFrame(4) * inNumberFrames。
+        // 2)这个数据回调的频率跟音频采样率有关系吗?
+        // 这个数据回调的频率与音频采样率(上面设置的 mSampleRate 44100)是没关系的。声道数、采样位深、采样率共同决定了设备单位时间里采样数据的大小,这些数据是会缓冲起来,然后一块一块的通过这个数据回调给我们,这个回调的频率是底层一块一块给我们数据的速度,跟采样率无关。
+        // 3)这个数据回调的频率是多少?
+        // 这个数据回调的间隔是 [AVAudioSession sharedInstance].preferredIOBufferDuration,频率即该值的倒数。我们可以通过 [[AVAudioSession sharedInstance] setPreferredIOBufferDuration:1 error:nil] 设置这个值来控制回调频率。
+        OSStatus status = AudioUnitRender(capture.audioCaptureInstance,
+                                          ioActionFlags,
+                                          inTimeStamp,
+                                          inBusNumber,
+                                          inNumberFrames,
+                                          &buffers);
+        
+        // 3、数据封装及回调。
+        if (status == noErr) {
+            // 使用工具方法将数据封装为 CMSampleBuffer。
+            CMSampleBufferRef sampleBuffer = [AiMouseAudioRecord sampleBufferFromAudioBufferList:buffers inTimeStamp:inTimeStamp inNumberFrames:inNumberFrames description:capture.audioFormat];
+            // 回调数据。
+            if (capture.sampleBufferOutputCallBack) {
+                capture.sampleBufferOutputCallBack(sampleBuffer);
+            }
+            if (sampleBuffer) {
+                CFRelease(sampleBuffer);
+            }
+        }
+        
+        return status;
+    }
+}
+
+@end
diff --git a/MixSdk/Example/Example/Record/AiMouseRecordManager.h b/MixSdk/Example/Example/Record/AiMouseRecordManager.h
new file mode 100644 (file)
index 0000000..ee1d1fe
--- /dev/null
@@ -0,0 +1,20 @@
+//
+//  AiMouseRecordManager.h
+//  AVDemo
+//
+//  Created by incar on 2024/3/27.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AiMouseRecordManager : NSObject
+@property (nonatomic, copy) void (^recordDataCallBack)(NSData *data); 
+
+- (void)start;
+
+- (void)stop;
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/MixSdk/Example/Example/Record/AiMouseRecordManager.m b/MixSdk/Example/Example/Record/AiMouseRecordManager.m
new file mode 100644 (file)
index 0000000..a25c830
--- /dev/null
@@ -0,0 +1,116 @@
+//
+//  AiMouseRecordManager.m
+//  AVDemo
+//
+//  Created by incar on 2024/3/27.
+//
+
+#import "AiMouseRecordManager.h"
+#import <AVFoundation/AVFoundation.h>
+#import "AiMouseAudioRecord.h"
+
+@interface AiMouseRecordManager()
+@property (nonatomic, strong) AiMouseAudioConfig *audioConfig;
+@property (nonatomic, strong) AiMouseAudioRecord *audioCapture;
+//@property (nonatomic, strong) NSFileHandle *fileHandle;
+@end
+
+@implementation AiMouseRecordManager
+#pragma mark - Property
+- (AiMouseAudioConfig *)audioConfig {
+    if (!_audioConfig) {
+        _audioConfig = [AiMouseAudioConfig defaultConfig];
+    }
+    
+    return _audioConfig;
+}
+
+- (AiMouseAudioRecord *)audioCapture {
+    if (!_audioCapture) {
+        __weak typeof(self) weakSelf = self;
+        _audioCapture = [[AiMouseAudioRecord alloc] initWithConfig:self.audioConfig];
+        _audioCapture.errorCallBack = ^(NSError* error) {
+            NSLog(@"KFAudioCapture error: %zi %@", error.code, error.localizedDescription);
+        };
+        // 音频采集数据回调。在这里将 PCM 数据写入文件。
+        _audioCapture.sampleBufferOutputCallBack = ^(CMSampleBufferRef sampleBuffer) {
+            if (sampleBuffer) {
+                // 1、获取 CMBlockBuffer,这里面封装着 PCM 数据。
+                CMBlockBufferRef blockBuffer = CMSampleBufferGetDataBuffer(sampleBuffer);
+                size_t lengthAtOffsetOutput, totalLengthOutput;
+                char *dataPointer;
+                
+                // 2、从 CMBlockBuffer 中获取 PCM 数据存储到文件中。
+                CMBlockBufferGetDataPointer(blockBuffer, 0, &lengthAtOffsetOutput, &totalLengthOutput, &dataPointer);
+                weakSelf.recordDataCallBack([NSData dataWithBytes:dataPointer length:totalLengthOutput]);
+//                [weakSelf.fileHandle writeData:[NSData dataWithBytes:dataPointer length:totalLengthOutput]];
+            }
+        };
+    }
+    
+    return _audioCapture;
+}
+
+//- (NSFileHandle *)fileHandle {
+//    if (!_fileHandle) {
+//        NSString *audioPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"test.pcm"];
+//        NSLog(@"PCM file path: %@", audioPath);
+//        [[NSFileManager defaultManager] removeItemAtPath:audioPath error:nil];
+//        [[NSFileManager defaultManager] createFileAtPath:audioPath contents:nil attributes:nil];
+//        _fileHandle = [NSFileHandle fileHandleForWritingAtPath:audioPath];
+//    }
+//
+//    return _fileHandle;
+//}
+//- (void)dealloc {
+//    if (_fileHandle) {
+//        [_fileHandle closeFile];
+//    }
+//}
+-(instancetype)init{
+    if (self = [super init]) {
+        [self setupAudioSession];
+    }
+    return self;
+}
+
+#pragma mark - Action
+- (void)start {
+    [self.audioCapture startRunning];
+}
+
+- (void)stop {
+    [self.audioCapture stopRunning];
+}
+
+- (void)setupAudioSession {
+    NSError *error = nil;
+    
+    // 1、获取音频会话实例。
+    AVAudioSession *session = [AVAudioSession sharedInstance];
+
+    // 2、设置分类和选项。
+    [session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionDefaultToSpeaker error:&error];
+    if (error) {
+        NSLog(@"AVAudioSession setCategory error.");
+        error = nil;
+        return;
+    }
+    
+    // 3、设置模式。
+    [session setMode:AVAudioSessionModeVideoRecording error:&error];
+    if (error) {
+        NSLog(@"AVAudioSession setMode error.");
+        error = nil;
+        return;
+    }
+
+    // 4、激活会话。
+    [session setActive:YES error:&error];
+    if (error) {
+        NSLog(@"AVAudioSession setActive error.");
+        error = nil;
+        return;
+    }
+}
+@end
diff --git a/MixSdk/Example/Example/Record/Example-Bridging-Header.h b/MixSdk/Example/Example/Record/Example-Bridging-Header.h
new file mode 100644 (file)
index 0000000..16dc85b
--- /dev/null
@@ -0,0 +1,6 @@
+//
+//  Use this file to import your target's public headers that you would like to expose to Swift.
+//
+
+#import "AiMouseAudioRecord.h"
+#import "AiMouseRecordManager.h"
diff --git a/MixSdk/Example/Example/SendToolBar.swift b/MixSdk/Example/Example/SendToolBar.swift
new file mode 100644 (file)
index 0000000..8b19f72
--- /dev/null
@@ -0,0 +1,56 @@
+//
+//  SendToolBar.swift
+//  Example
+//
+//  Created by incar on 2024/6/18.
+//
+
+import UIKit
+
+
+protocol SendToolBarDelegate:NSObject {
+    func sendToolBar(_ toolBar:SendToolBar,_ text:String)
+}
+
+
+class SendToolBar:UIView{
+    let textField = UITextField()
+    let sendBtn = UIButton()
+    
+    weak var delegate:SendToolBarDelegate?
+    
+    override init(frame: CGRect) {
+        super.init(frame: frame)
+        backgroundColor = .lightGray
+        
+        sendBtn.setTitle("发送", for: .normal)
+        sendBtn.setTitleColor(.white, for: .normal)
+        sendBtn.backgroundColor = .blue
+        sendBtn.addTarget(self, action: #selector(sendAction), for: .touchUpInside)
+        addSubview(sendBtn)
+        sendBtn.snp.makeConstraints { make in
+            make.width.equalTo(80)
+            make.top.bottom.equalToSuperview().inset(5)
+            make.right.equalToSuperview().inset(10)
+        }
+        
+        textField.backgroundColor = .white
+        textField.placeholder = "请输入文字"
+        addSubview(textField)
+        textField.snp.makeConstraints { make in
+            make.left.equalToSuperview().inset(10)
+            make.top.bottom.equalToSuperview().inset(5)
+            make.right.equalTo(sendBtn.snp.left).offset(-10)
+        }
+    }
+    
+    required init?(coder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+   @objc func sendAction(){
+       if let text = textField.text {
+           self.delegate?.sendToolBar(self,text)
+       }
+    }
+}
diff --git a/MixSdk/Example/Example/SttViewController.swift b/MixSdk/Example/Example/SttViewController.swift
new file mode 100644 (file)
index 0000000..40dbff5
--- /dev/null
@@ -0,0 +1,144 @@
+//
+//  SttViewController.swift
+//  Example
+//
+//  Created by incar on 2024/6/17.
+//
+
+import UIKit
+import MixSdk
+import SnapKit
+import Toast_Swift
+class SttViewController: UIViewController{
+    let recordMamager =  AiMouseRecordManager()
+    var isRecord = false;
+    let textView = UITextView()
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do any additional setup after loading the view.
+        setupViews()
+        setupSttCallBack()
+        setupRecordCallBack()
+    }
+    func setupViews(){
+        self.title = "实时转写"
+        self.view.backgroundColor = .white
+        
+        let fileBtn = UIButton(type: .custom)
+        fileBtn.setTitle("select file", for: .normal)
+        fileBtn.setTitleColor(.white, for: .normal)
+        fileBtn.backgroundColor = .blue
+        fileBtn.addTarget(self, action: #selector(sentenceRecognizeAction), for: .touchUpInside)
+        view.addSubview(fileBtn)
+        fileBtn.snp.makeConstraints { make in
+            make.left.equalToSuperview().inset(10)
+            make.width.equalTo(self.view.bounds.size.width/2 - 20)
+            make.height.equalTo(60)
+            make.bottom.equalToSuperview().inset(20)
+        }
+        
+        let recordBtn = UIButton(type: .custom)
+        recordBtn.setTitle("start record", for: .normal)
+        recordBtn.setTitle("stop record", for: .selected)
+        recordBtn.setTitleColor(.white, for: .normal)
+        recordBtn.backgroundColor = .blue
+        recordBtn.addTarget(self, action: #selector(recordAction(button:)), for: .touchUpInside)
+        view.addSubview(recordBtn)
+        recordBtn.snp.makeConstraints { make in
+            make.width.equalTo(fileBtn)
+            make.right.equalToSuperview().inset(10)
+            make.height.equalTo(60)
+            make.bottom.equalToSuperview().inset(20)
+        }
+        
+        textView.isEditable = false
+        view.addSubview(textView)
+        textView.snp.makeConstraints { make in
+            make.top.equalToSuperview().inset(80)
+            make.left.right.equalToSuperview()
+            make.bottom.equalTo(fileBtn.snp.top)
+        }
+    }
+    func setupSttCallBack(){
+        MixSdk.shared.stt.eventCallBack = {[weak self] event in
+            guard let self = self else {return}
+            if event.event == "TranscriptionStarted" {
+                self.startTask()
+            }
+            else if event.event == "TranscriptionCompleted"{
+                self.endTask()
+            }
+            else if event.event == "SentenceEnd",let text = event.result?.result{
+                self.textView.text += text + "\n"
+                let range = NSMakeRange(textView.text.count - 1, 1)
+                self.textView.scrollRangeToVisible(range)
+            }
+        }
+    }
+    func setupRecordCallBack(){
+        recordMamager.recordDataCallBack = { data in
+            MixSdk.shared.stt.sendVoice(data: data)
+        }
+    }
+}
+
+
+
+extension SttViewController{
+    @objc func recordAction(button:UIButton){
+        button.isSelected = !button.isSelected
+        isRecord = button.isSelected
+        
+        if button.isSelected {
+            MixSdk.shared.stt.startTranscription()
+        }
+        else{
+            MixSdk.shared.stt.stopTranscription()
+            recordMamager.stop()
+        }
+    }
+    
+    @objc func startTask(){
+        print("开始")
+        recordMamager.start()
+        
+    }
+    @objc func endTask(){
+        print("结束录音")
+    }
+    @objc func sendVoiceAction(){
+        guard let path = Bundle.main.path(forResource: "1", ofType: "pcm") else {return}
+        let fileURL = URL(fileURLWithPath: path)
+        do {
+            let data = try Data(contentsOf:fileURL)
+            MixSdk.shared.stt.sendVoice(data: data)
+            
+        } catch {
+            
+        }
+    }
+}
+extension SttViewController{
+    @objc func sentenceRecognizeAction() {
+        if isRecord {
+            view.makeToast("正在录音!!!")
+            return
+        }
+        
+        view.makeToastActivity(.center)
+        guard let path = Bundle.main.path(forResource: "1", ofType: "pcm") else {return}
+        MixSdk.shared.stt.sentenceRecognize(filePath: path,format:"pcm",sample_rate:"16000",lang: "zh-cn") {[weak self] text, error in
+            guard let self = self else {return}
+            self.view.hideToastActivity()
+            if let err = error{
+                self.view.makeToast(err.msg)
+            }
+            else{
+                textView.text += text ?? "" + "\n"
+                let range = NSMakeRange(textView.text.count - 1, 1)
+                textView.scrollRangeToVisible(range)
+            }
+        }
+    }
+}
diff --git a/MixSdk/Example/Example/Then.swift b/MixSdk/Example/Example/Then.swift
new file mode 100755 (executable)
index 0000000..c7e0966
--- /dev/null
@@ -0,0 +1,105 @@
+// The MIT License (MIT)
+//
+// Copyright (c) 2015 Suyeol Jeon (xoul.kr)
+//
+// 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 CoreGraphics
+#if os(iOS) || os(tvOS)
+  import UIKit.UIGeometry
+#endif
+
+public protocol Then {}
+
+extension Then where Self: Any {
+
+  /// Makes it available to set properties with closures just after initializing and copying the value types.
+  ///
+  ///     let frame = CGRect().with {
+  ///       $0.origin.x = 10
+  ///       $0.size.width = 100
+  ///     }
+  public func with(_ block: (inout Self) throws -> Void) rethrows -> Self {
+    var copy = self
+    try block(&copy)
+    return copy
+  }
+
+  /// Makes it available to execute something with closures.
+  ///
+  ///     UserDefaults.standard.do {
+  ///       $0.set("devxoul", forKey: "username")
+  ///       $0.set("devxoul@gmail.com", forKey: "email")
+  ///       $0.synchronize()
+  ///     }
+  public func `do`(_ block: (Self) throws -> Void) rethrows {
+    try block(self)
+  }
+
+}
+
+extension Then where Self: AnyObject {
+
+  /// Makes it available to set properties with closures just after initializing.
+  ///
+  ///     let label = UILabel().then {
+  ///       $0.textAlignment = .center
+  ///       $0.textColor = UIColor.black
+  ///       $0.text = "Hello, World!"
+  ///     }
+  public func then(_ block: (Self) throws -> Void) rethrows -> Self {
+    try block(self)
+    return self
+  }
+
+}
+
+extension NSObject: Then {}
+
+extension CGPoint: Then {}
+extension CGRect: Then {}
+extension CGSize: Then {}
+extension CGVector: Then {}
+extension Array: Then {}
+extension Dictionary: Then {}
+extension Set: Then {}
+
+#if os(iOS) || os(tvOS)
+  extension UIEdgeInsets: Then {}
+  extension UIOffset: Then {}
+  extension UIRectEdge: Then {}
+#endif
+
+
+extension Then where Self: UIView {
+    public func add(toSuperView superView: UIView) -> Self {
+        guard superview != self else { return self }
+        superView.addSubview(self)
+        return self
+    }
+}
+
+extension Array where Element: UIView {
+    public func `do`(_ block: (Element) throws -> Void) rethrows {
+        for e in self {
+            try block(e)
+        }
+    }
+}
diff --git a/MixSdk/Example/Example/TranslateViewController.swift b/MixSdk/Example/Example/TranslateViewController.swift
new file mode 100644 (file)
index 0000000..3284a86
--- /dev/null
@@ -0,0 +1,85 @@
+//
+//  TranslateViewController.swift
+//  Example
+//
+//  Created by incar on 2024/6/17.
+//
+
+import UIKit
+import MixSdk
+import SnapKit
+import Toast_Swift
+class TranslateViewController: UIViewController{
+    
+    var tableView:UITableView!
+    var list = [MSTranslateLanguage]()
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do any additional setup after loading the view.
+        
+        setupViews()
+        getSupportLanguagesReqeust()
+    }
+    func setupViews(){
+        self.title = "翻译"
+        self.view.backgroundColor = .white
+        
+        
+        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)
+        self.tableView = tableView
+    }
+}
+
+extension TranslateViewController: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].cn
+        
+        return cell
+    }
+    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        let data = list[indexPath.row]
+        tranlateAction(data)
+    }
+}
+extension TranslateViewController{
+    func tranlateAction(_ lang:MSTranslateLanguage) {
+        view.makeToastActivity(.center)
+        MixSdk.shared.translate.translate(lang: lang, text: "Translate General"){[weak self] text,error in
+            guard let self = self else {return}
+            self.view.hideToastActivity()
+            if let err = error{
+                self.view.makeToast(err.msg)
+            }
+            else{
+                self.view.makeToast(text ?? "")
+            }
+        }
+    }
+    func getSupportLanguagesReqeust() {
+        view.makeToastActivity(.center)
+        MixSdk.shared.translate.getSupportLanguages {[weak self] list, error in
+            guard let self = self else {return}
+            self.view.hideToastActivity()
+            if let err = error{
+                self.view.makeToast(err.msg)
+            }
+            else{
+                self.list = list ?? []
+                self.tableView.reloadData()
+            }
+        }
+    }
+}
diff --git a/MixSdk/Example/Example/TtsLongViewController.swift b/MixSdk/Example/Example/TtsLongViewController.swift
new file mode 100644 (file)
index 0000000..2fc2548
--- /dev/null
@@ -0,0 +1,87 @@
+//
+//  TtsLongViewController.swift
+//  Example
+//
+//  Created by incar on 2024/6/18.
+//
+
+
+import UIKit
+import MixSdk
+import SnapKit
+import Toast_Swift
+
+class TtsLongViewController: UIViewController{
+    var voiceData:NSMutableData = NSMutableData()
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do any additional setup after loading the view.
+        
+        setupViews()
+        setupCallBack()
+    }
+}
+extension TtsLongViewController{
+    func setupViews(){
+        self.title = "长文本合成语音"
+        self.view.backgroundColor = .white
+        
+        let fileBtn = UIButton(type: .custom)
+        fileBtn.setTitle("长文本合成", for: .normal)
+        fileBtn.setTitleColor(.white, for: .normal)
+        fileBtn.backgroundColor = .blue
+        fileBtn.addTarget(self, action: #selector(longTextAction), for: .touchUpInside)
+        view.addSubview(fileBtn)
+        fileBtn.snp.makeConstraints { make in
+            make.width.equalTo(200)
+            make.height.equalTo(40)
+            make.top.equalToSuperview().inset(150)
+            make.centerX.equalToSuperview()
+        }
+    }
+    
+    func setupCallBack(){
+        MixSdk.shared.tts.eventCallBack = { [weak self] model in
+            guard let self = self else {
+                return
+            }
+            if model.event == "EndSynthesis" {
+                self.saveToFile()
+                self.voiceData = NSMutableData()
+                self.view.hideToastActivity()
+            }
+        }
+        MixSdk.shared.tts.voiceCallBack = {[weak self] data in
+//            print(data);
+            self?.voiceData.append(data)
+        }
+    }
+    
+    func saveToFile(){
+        let filePath = NSHomeDirectory() + "/Documents/1.wav"
+        print(filePath)
+        
+        let url = URL(fileURLWithPath: filePath)
+        do {
+            try self.voiceData.write(to: url, options: .atomic)
+            PlayerManager.shared.play(filePath: filePath)
+        }
+        catch{
+            print(error)
+        }
+    }
+}
+
+extension TtsLongViewController{
+    @objc func longTextAction(){
+//        let text = "深圳市北科瑞声科技股份有限公司,是由国家重大人才计划特聘专家刘轶博士创办的国内人工智能音频领军企业,专注于行业智能音频交互技术,拥有全链条核心自主知识产权,汇集世界一流的研发运营团队。"
+        view.makeToastActivity(.center)
+        let text = "人之初,性本善。性相近,习相远。苟不教,性乃迁。教之道,贵以专。昔孟母,择邻处。子不学,断机杼。窦燕山,有义方。教五子,名俱扬。养不教,父之过。教不严,师之惰。子不学,非所宜。幼不学,老何为。"
+        MixSdk.shared.tts.sendLongTextStream(text: text)
+    }
+
+}
+
+
+
diff --git a/MixSdk/Example/Example/TtsViewController.swift b/MixSdk/Example/Example/TtsViewController.swift
new file mode 100644 (file)
index 0000000..30e9a36
--- /dev/null
@@ -0,0 +1,119 @@
+//
+//  TtsViewController.swift
+//  Example
+//
+//  Created by incar on 2024/6/17.
+//
+
+import UIKit
+import MixSdk
+import SnapKit
+import Toast_Swift
+
+class TtsViewController: UIViewController{
+    let toolBar = SendToolBar()
+    var voiceData:NSMutableData = NSMutableData()
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do any additional setup after loading the view.
+        
+        setupViews()
+        setupCallBack()
+    }
+}
+extension TtsViewController{
+    func setupViews(){
+        self.title = "文本合成语音"
+        self.view.backgroundColor = .white
+        
+        let btn = UIButton(type: .custom)
+        btn.setTitle("start", for: .normal)
+        btn.setTitle("stop", for: .selected)
+        btn.setTitleColor(.white, for: .normal)
+        btn.backgroundColor = .blue
+        btn.addTarget(self, action: #selector(btnAction(button:)), for: .touchUpInside)
+        view.addSubview(btn)
+        btn.snp.makeConstraints { make in
+            make.width.equalTo(200)
+            make.height.equalTo(40)
+            make.top.equalToSuperview().inset(150)
+            make.centerX.equalToSuperview()
+        }
+        
+        toolBar.isHidden = true
+        toolBar.textField.text = "您好呀"
+        toolBar.delegate = self
+        view.addSubview(toolBar)
+        toolBar.snp.makeConstraints { make in
+            make.width.centerX.equalToSuperview()
+            make.height.equalTo(60)
+            make.bottom.equalToSuperview().inset(20)
+        }
+    }
+    
+    func setupCallBack(){
+        MixSdk.shared.tts.eventCallBack = { [weak self] model in
+            guard let self = self else {
+                return
+            }
+            if model.event == "SentenceEnd" {
+                self.saveToFile()
+                self.voiceData = NSMutableData()
+            }
+        }
+        MixSdk.shared.tts.voiceCallBack = {[weak self] data in
+            print(data);
+            self?.voiceData.append(data)
+        }
+    }
+    
+    func saveToFile(){
+        let filePath = NSHomeDirectory() + "/Documents/1.wav"
+        print(filePath)
+        
+        let url = URL(fileURLWithPath: filePath)
+        do {
+            try self.voiceData.write(to: url, options: .atomic)
+            PlayerManager.shared.play(filePath: filePath)
+        }
+        catch{
+            print(error)
+        }
+    }
+    @objc func btnAction(button:UIButton){
+        button.isSelected = !button.isSelected
+        if button.isSelected {
+            startSynthesis()
+            toolBar.isHidden = false
+        }
+        else{
+            toolBar.isHidden = true
+            stopSynthesis()
+        }
+    }
+}
+
+extension TtsViewController:SendToolBarDelegate{
+    func sendToolBar(_ toolBar: SendToolBar, _ text: String) {
+        runSynthesis(text)
+    }
+}
+
+extension TtsViewController{
+    @objc func startSynthesis(){
+        MixSdk.shared.tts.startSynthesis()
+    }
+
+    @objc func stopSynthesis(){
+        MixSdk.shared.tts.stopSynthesis()
+    }
+    
+    @objc func runSynthesis(_ text: String){
+        MixSdk.shared.tts.runSynthesis(text: text)
+    }
+   
+}
+
+
+
index 8a136e9..9a55482 100644 (file)
@@ -7,29 +7,28 @@
 
 import UIKit
 import MixSdk
+import SnapKit
+import Toast_Swift
 
 class ViewController: UIViewController{
-    
     let list:[(name:String,action:String)] = [
         ("注册","registerAction"),
         ("登录","loginAction"),
         
-        ("获取翻译支持的语言","getSupportLanguagesAction"),
-        ("通用翻译","tranlateAction"),
+        ("翻译","translateAction"),
+        ("aigc","aigcAction"),
+        ("大模型对话","chatAction"),
         
-        ("一句话识别","sentenceRecognizeAction"),
-        ("开始实时转写","startTransAction"),
-        ("结束实时转写","endTransAction"),
+        ("长文本合成语音","longTtsAction"),
+        ("文本合成语音","ttsAction"),
         
-        ("aigc 获取算法类型","aigcGetStyleAction"),
-        ("aigc 创建任务","aigcCreateTaskAction"),
-        ("aigc 查询任务状态","aigcGetResultAction")
+        ("语音转文本","sttAction"),
     ]
     
     override func viewDidLoad() {
         super.viewDidLoad()
         // Do any additional setup after loading the view.
-        
+        self.title = "MixSdk"
         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
@@ -39,6 +38,9 @@ class ViewController: UIViewController{
 }
 
 extension ViewController:UITableViewDelegate,UITableViewDataSource {
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return 60
+    }
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
         return list.count
     }
@@ -58,114 +60,89 @@ extension ViewController:UITableViewDelegate,UITableViewDataSource {
 
 extension ViewController{
     @objc func registerAction() {
+        view.makeToastActivity(.center)
         let sn = "MSCL1BKZ12105000042363"
         let deviceId = "C0310000A57B"
         let productKey = "ccvUoJOLbXn"
         let secretKey = "nNRjkRpKTxvprGaW"
-        MSManager.shared.auth.register(productKey: productKey, secretKey: secretKey, deviceId: deviceId,sn:sn){ deviceSecret,error in
+        MixSdk.shared.auth.register(productKey: productKey, secretKey: secretKey, deviceId: deviceId,sn:sn){[weak self] deviceSecret,error in
+            self?.view.hideToastActivity()
             if let err = error{
                 print("\(err)")
+                self?.view.makeToast(err.msg)
             }
             else{
+                self?.view.makeToast("register success!")
                 print(deviceSecret ?? "")
             }
         }
     }
     @objc func loginAction() {
+        view.makeToastActivity(.center)
         let deviceId = "C0310000A57B"
         let productKey = "ccvUoJOLbXn"
         let secretKey = "nNRjkRpKTxvprGaW"
         let deviceSecret = "LQWKSJTOxUjqJgpxWTzLYDGPdTeFr2hO"
-        MSManager.shared.auth.login(productKey: productKey, secretKey: secretKey, deviceId: deviceId, deviceSecrect: deviceSecret){ isSuccess,error in
+        MixSdk.shared.auth.login(productKey: productKey, secretKey: secretKey, deviceId: deviceId, deviceSecrect: deviceSecret){[weak self]  isSuccess,error in
+            self?.view.hideToastActivity()
             if let err = error{
-                print("\(err)")
+                self?.view.makeToast(err.msg)
             }
             else{
-                print("Login Success")
+                self?.view.makeToast("Login success!")
             }
         }
     }
 }
 extension ViewController{
-    @objc func tranlateAction() {
-        MSManager.shared.translate.translate(lang: "zh", text: "Translate General"){text,error in
-            if let err = error{
-                print("\(err)")
-            }
-            else{
-                print(text ?? "")
-            }
+    @objc func translateAction() {
+        if !MixSdk.shared.auth.authorized {
+            self.view.makeToast("unAuthorized!")
+            return;
         }
+        let vc = TranslateViewController()
+        self.navigationController?.pushViewController(vc, animated: true)
     }
-    @objc func getSupportLanguagesAction() {
-        MSManager.shared.translate.getSupportLanguages { list, error in
-            if let err = error{
-                print("\(err)")
-            }
-            else{
-                print(list ?? "")
-            }
+    @objc func chatAction() {
+        if !MixSdk.shared.auth.authorized {
+            self.view.makeToast("unAuthorized!")
+            return;
         }
+        let vc = ChatViewController()
+        self.navigationController?.pushViewController(vc, animated: true)
     }
-    @objc func sentenceRecognizeAction() {
-        guard let path = Bundle.main.path(forResource: "1", ofType: "pcm") else {return}
-        MSManager.shared.asr.sentenceRecognize(filePath: path,format:"WAV",sample_rate:"16000",lang: "zh-cn") { text, error in
-            if let err = error{
-                print("\(err)")
-            }
-            else{
-                print(text ?? "")
-            }
+    @objc func longTtsAction() {
+        if !MixSdk.shared.auth.authorized {
+            self.view.makeToast("unAuthorized!")
+            return;
         }
+        let vc = TtsLongViewController()
+        self.navigationController?.pushViewController(vc, animated: true)
     }
-}
-extension ViewController{
-    @objc func aigcGetStyleAction() {
-        MSManager.shared.aigc.getStyle(type: 5) { list, error in
-            if let err = error{
-                print("\(err)")
-            }
-            else{
-                print(list ?? "")
-            }
+    @objc func ttsAction() {
+        if !MixSdk.shared.auth.authorized {
+            self.view.makeToast("unAuthorized!")
+            return;
         }
+        let vc = TtsViewController()
+        self.navigationController?.pushViewController(vc, animated: true)
     }
-    @objc func aigcGetResultAction() {
-        MSManager.shared.aigc.getResult(taskId: "123"){ jsonString, error in
-            if let err = error{
-                print("\(err)")
-            }
-            else{
-                print(jsonString ?? "")
-            }
+    
+    @objc func sttAction() {
+        if !MixSdk.shared.auth.authorized {
+            self.view.makeToast("unAuthorized!")
+            return;
         }
+        let vc = SttViewController()
+        self.navigationController?.pushViewController(vc, animated: true)
     }
-    @objc func aigcCreateTaskAction() {
-        let task = MSAigcTask()
-        task.subject = "一只奔跑的猫" // type=5 参数不生效
-        task.url = "https://public-vigen-video.oss-cn-shanghai.aliyuncs.com/public/dashscope/test.png" // type=0 不需要提交url type=5 必须提交
-        task.type = 5 //0:⽂字⽣图,1: ⽂+图⽣图 5: 图⽣图(⻛格变换)
-        task.amount = 2 //⽣成的图⽚数量  type=5 参数不生效
-        task.height = 1024//⽣成的图⽚⾼度,type=1时需要是32的倍数。 type=5 参数不生效
-        task.width = 1024//⽣成的图⽚宽度,type=1时需要是32的倍数。 type=5 参数不生效
-        task.algorithm = "4" //算法id可⽤值⻅get-style
-        
-        MSManager.shared.aigc.createTask(task){ taskId, error in
-            if let err = error{
-                print("\(err)")
-            }
-            else{
-                print(taskId ?? "")
-            }
+    @objc func aigcAction() {
+        if !MixSdk.shared.auth.authorized {
+            self.view.makeToast("unAuthorized!")
+            return;
         }
+        let vc = AigcViewController()
+        self.navigationController?.pushViewController(vc, animated: true)
     }
 }
 
-extension ViewController{
-    @objc func startTransAction(){
-        
-    }
-    @objc func endTransAction(){
-        
-    }
-}
index b30795b..5f1604d 100644 (file)
@@ -4,4 +4,7 @@
    <FileRef
       location = "group:Example/Example.xcodeproj">
    </FileRef>
+   <FileRef
+      location = "group:Pods/Pods.xcodeproj">
+   </FileRef>
 </Workspace>
index 2b744e2..24a5cd0 100644 (file)
Binary files a/MixSdk/MixSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate and b/MixSdk/MixSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate differ
index 44e2ee5..4a4324b 100644 (file)
@@ -7,7 +7,7 @@
        objects = {
 
 /* Begin PBXBuildFile section */
-               1811882F2C1A89E600C23FAB /* MSManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1811882E2C1A89E600C23FAB /* MSManager.swift */; };
+               1811882F2C1A89E600C23FAB /* MixSdk.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1811882E2C1A89E600C23FAB /* MixSdk.swift */; };
                181188392C1A8B5200C23FAB /* Date.swift in Sources */ = {isa = PBXBuildFile; fileRef = 181188312C1A8B5200C23FAB /* Date.swift */; };
                1811883A2C1A8B5200C23FAB /* Any.swift in Sources */ = {isa = PBXBuildFile; fileRef = 181188322C1A8B5200C23FAB /* Any.swift */; };
                1811883B2C1A8B5200C23FAB /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 181188332C1A8B5200C23FAB /* Logger.swift */; };
                181188452C1AC35F00C23FAB /* MSError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 181188442C1AC35F00C23FAB /* MSError.swift */; };
                181188472C1ACA6100C23FAB /* String+MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 181188462C1ACA6100C23FAB /* String+MD5.swift */; };
                1811884E2C1AEF0F00C23FAB /* MSTranslate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1811884D2C1AEF0F00C23FAB /* MSTranslate.swift */; };
-               181188572C1BE24200C23FAB /* MSAsr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 181188562C1BE24200C23FAB /* MSAsr.swift */; };
+               181188572C1BE24200C23FAB /* MSStt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 181188562C1BE24200C23FAB /* MSStt.swift */; };
                18132AED2C1C1EA8002F6B52 /* MSTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18132AEC2C1C1EA8002F6B52 /* MSTool.swift */; };
                18132AEF2C1C25CC002F6B52 /* MSAigc.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18132AEE2C1C25CC002F6B52 /* MSAigc.swift */; };
+               18132AF22C1C4938002F6B52 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18132AF12C1C4938002F6B52 /* WebSocket.swift */; };
+               18132AF52C1C4C85002F6B52 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 18132AF42C1C4C85002F6B52 /* libz.tbd */; };
                18204BBF2C193E3D00F94E69 /* MixSdk.h in Headers */ = {isa = PBXBuildFile; fileRef = 18204BBE2C193E3D00F94E69 /* MixSdk.h */; settings = {ATTRIBUTES = (Public, ); }; };
                18204BC62C193E4B00F94E69 /* MSAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204BC52C193E4B00F94E69 /* MSAuth.swift */; };
                18204BF02C19457600F94E69 /* IBHttpManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204BEF2C19457600F94E69 /* IBHttpManager.swift */; };
                18204BFB2C19488900F94E69 /* Upload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204BF52C19488800F94E69 /* Upload.swift */; };
                18204BFC2C19488900F94E69 /* HTTPSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204BF62C19488800F94E69 /* HTTPSecurity.swift */; };
                18204BFD2C19488900F94E69 /* Operation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18204BF72C19488800F94E69 /* Operation.swift */; };
+               184FFC542C21B091006F664D /* MSAigcModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184FFC532C21B091006F664D /* MSAigcModel.swift */; };
+               18B74A1C2C1FD44A00FABBA9 /* MSTts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18B74A1B2C1FD44A00FABBA9 /* MSTts.swift */; };
+               18B74A1E2C1FDDB500FABBA9 /* MSChat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18B74A1D2C1FDDB400FABBA9 /* MSChat.swift */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXFileReference section */
-               1811882E2C1A89E600C23FAB /* MSManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSManager.swift; sourceTree = "<group>"; };
+               1811882E2C1A89E600C23FAB /* MixSdk.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MixSdk.swift; sourceTree = "<group>"; };
                181188312C1A8B5200C23FAB /* Date.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Date.swift; sourceTree = "<group>"; };
                181188322C1A8B5200C23FAB /* Any.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Any.swift; sourceTree = "<group>"; };
                181188332C1A8B5200C23FAB /* Logger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = "<group>"; };
                181188442C1AC35F00C23FAB /* MSError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSError.swift; sourceTree = "<group>"; };
                181188462C1ACA6100C23FAB /* String+MD5.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+MD5.swift"; sourceTree = "<group>"; };
                1811884D2C1AEF0F00C23FAB /* MSTranslate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSTranslate.swift; sourceTree = "<group>"; };
-               181188562C1BE24200C23FAB /* MSAsr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSAsr.swift; sourceTree = "<group>"; };
+               181188562C1BE24200C23FAB /* MSStt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSStt.swift; sourceTree = "<group>"; };
                18132AEC2C1C1EA8002F6B52 /* MSTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSTool.swift; sourceTree = "<group>"; };
                18132AEE2C1C25CC002F6B52 /* MSAigc.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSAigc.swift; sourceTree = "<group>"; };
+               18132AF12C1C4938002F6B52 /* WebSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocket.swift; sourceTree = "<group>"; };
+               18132AF42C1C4C85002F6B52 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/lib/libz.tbd; sourceTree = DEVELOPER_DIR; };
                18204BBB2C193E3D00F94E69 /* MixSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MixSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                18204BBE2C193E3D00F94E69 /* MixSdk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MixSdk.h; sourceTree = "<group>"; };
                18204BC52C193E4B00F94E69 /* MSAuth.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSAuth.swift; sourceTree = "<group>"; };
@@ -57,6 +64,9 @@
                18204BF52C19488800F94E69 /* Upload.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Upload.swift; sourceTree = "<group>"; };
                18204BF62C19488800F94E69 /* HTTPSecurity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPSecurity.swift; sourceTree = "<group>"; };
                18204BF72C19488800F94E69 /* Operation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Operation.swift; sourceTree = "<group>"; };
+               184FFC532C21B091006F664D /* MSAigcModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSAigcModel.swift; sourceTree = "<group>"; };
+               18B74A1B2C1FD44A00FABBA9 /* MSTts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSTts.swift; sourceTree = "<group>"; };
+               18B74A1D2C1FDDB400FABBA9 /* MSChat.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MSChat.swift; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -64,6 +74,7 @@
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
+                               18132AF52C1C4C85002F6B52 /* libz.tbd in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -73,6 +84,7 @@
                181188302C1A8B5200C23FAB /* Tools */ = {
                        isa = PBXGroup;
                        children = (
+                               18132AF12C1C4938002F6B52 /* WebSocket.swift */,
                                181188312C1A8B5200C23FAB /* Date.swift */,
                                181188322C1A8B5200C23FAB /* Any.swift */,
                                181188332C1A8B5200C23FAB /* Logger.swift */,
                        path = Tools;
                        sourceTree = "<group>";
                };
+               18132AF32C1C4C84002F6B52 /* Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               18132AF42C1C4C85002F6B52 /* libz.tbd */,
+                       );
+                       name = Frameworks;
+                       sourceTree = "<group>";
+               };
                18204BB12C193E3D00F94E69 = {
                        isa = PBXGroup;
                        children = (
                                18204BBD2C193E3D00F94E69 /* MixSdk */,
                                18204BBC2C193E3D00F94E69 /* Products */,
+                               18132AF32C1C4C84002F6B52 /* Frameworks */,
                        );
                        sourceTree = "<group>";
                };
                                18204BF12C19488800F94E69 /* SwiftHTTP */,
                                18204BBE2C193E3D00F94E69 /* MixSdk.h */,
                                18204BEF2C19457600F94E69 /* IBHttpManager.swift */,
-                               1811882E2C1A89E600C23FAB /* MSManager.swift */,
+                               1811882E2C1A89E600C23FAB /* MixSdk.swift */,
                                18204BC52C193E4B00F94E69 /* MSAuth.swift */,
                                1811884D2C1AEF0F00C23FAB /* MSTranslate.swift */,
-                               181188562C1BE24200C23FAB /* MSAsr.swift */,
                                18132AEE2C1C25CC002F6B52 /* MSAigc.swift */,
+                               184FFC532C21B091006F664D /* MSAigcModel.swift */,
+                               181188562C1BE24200C23FAB /* MSStt.swift */,
+                               18B74A1B2C1FD44A00FABBA9 /* MSTts.swift */,
+                               18B74A1D2C1FDDB400FABBA9 /* MSChat.swift */,
                                181188442C1AC35F00C23FAB /* MSError.swift */,
                        );
                        path = MixSdk;
                                18204BC62C193E4B00F94E69 /* MSAuth.swift in Sources */,
                                18132AED2C1C1EA8002F6B52 /* MSTool.swift in Sources */,
                                181188472C1ACA6100C23FAB /* String+MD5.swift in Sources */,
+                               18132AF22C1C4938002F6B52 /* WebSocket.swift in Sources */,
                                1811883F2C1A8B5200C23FAB /* CRC16.swift in Sources */,
                                181188452C1AC35F00C23FAB /* MSError.swift in Sources */,
                                1811883B2C1A8B5200C23FAB /* Logger.swift in Sources */,
-                               181188572C1BE24200C23FAB /* MSAsr.swift in Sources */,
+                               181188572C1BE24200C23FAB /* MSStt.swift in Sources */,
                                18204BFD2C19488900F94E69 /* Operation.swift in Sources */,
                                1811883C2C1A8B5200C23FAB /* JSON.swift in Sources */,
                                181188402C1A8B5200C23FAB /* LRC.swift in Sources */,
                                18204BFC2C19488900F94E69 /* HTTPSecurity.swift in Sources */,
                                18204BFB2C19488900F94E69 /* Upload.swift in Sources */,
                                18204BFA2C19488900F94E69 /* Request.swift in Sources */,
-                               1811882F2C1A89E600C23FAB /* MSManager.swift in Sources */,
+                               1811882F2C1A89E600C23FAB /* MixSdk.swift in Sources */,
                                18204BF02C19457600F94E69 /* IBHttpManager.swift in Sources */,
+                               18B74A1C2C1FD44A00FABBA9 /* MSTts.swift in Sources */,
                                181188392C1A8B5200C23FAB /* Date.swift in Sources */,
                                18132AEF2C1C25CC002F6B52 /* MSAigc.swift in Sources */,
                                1811883A2C1A8B5200C23FAB /* Any.swift in Sources */,
                                1811883E2C1A8B5200C23FAB /* UTF8.swift in Sources */,
                                1811884E2C1AEF0F00C23FAB /* MSTranslate.swift in Sources */,
                                18204BF82C19488800F94E69 /* StatusCode.swift in Sources */,
+                               18B74A1E2C1FDDB500FABBA9 /* MSChat.swift in Sources */,
+                               184FFC542C21B091006F664D /* MSAigcModel.swift in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index 33448e9..b61b780 100644 (file)
@@ -9,55 +9,65 @@ import Foundation
 
 class IBHttpManager{
     
-    func request(_ url:URL){
-        // 创建URL对象
-
-            // 创建URLSessionDataTask来发送请求
-            let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
-                // 确保没有错误发生
-                if let error = error {
-                    print("Error: \(error)")
-                    return
-                }
-                
-                // 确保我们得到了数据
-                guard let data = data else {
-                    print("未收到数据")
-                    return
-                }
-                
-                // 尝试解析数据为JSON(如果服务器返回的是JSON)
-                if let jsonObject = try? JSONSerialization.jsonObject(with: data, options: []) {
-                    print(jsonObject)
-                } else {
-                    print("JSON解析失败")
-                }
-            }
-            
-            // 启动任务
-            task.resume()
-    }
-    
-     
-    func post(_ url:URL){
-        var request = URLRequest(url: url)
-        request.httpMethod = "POST"
-        request.setValue("application/json", forHTTPHeaderField: "Content-Type")
-        
-        // 创建POST的数据(例如JSON)
-        let postData = "{\"key\":\"value\"}".data(using: .utf8)
-        request.httpBody = postData
-        
-        // 创建URLSessionDataTask来发送请求
-        let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
-            // 处理响应类似于GET请求
+    static func receiveData(_ response:Response) ->(NSDictionary?,MSError?){
+        if let _ = response.error {
+            Logger.log(response.description)
+            return (nil,MSError.invalidRequest)
         }
-        
-        // 启动任务
-        task.resume()
+        Logger.log(response.data.string ?? "")
+        guard let dict = response.data.jsonObject() as? NSDictionary else{
+            return (nil,MSError.parsingError)
+        }
+        return (dict,nil)
     }
-
     
+    //    func request(_ url:URL){
+    //        // 创建URL对象
+    //
+    //            // 创建URLSessionDataTask来发送请求
+    //            let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
+    //                // 确保没有错误发生
+    //                if let error = error {
+    //                    print("Error: \(error)")
+    //                    return
+    //                }
+    //
+    //                // 确保我们得到了数据
+    //                guard let data = data else {
+    //                    print("未收到数据")
+    //                    return
+    //                }
+    //
+    //                // 尝试解析数据为JSON(如果服务器返回的是JSON)
+    //                if let jsonObject = try? JSONSerialization.jsonObject(with: data, options: []) {
+    //                    print(jsonObject)
+    //                } else {
+    //                    print("JSON解析失败")
+    //                }
+    //            }
+    //
+    //            // 启动任务
+    //            task.resume()
+    //    }
+    //
+    //
+    //    func post(_ url:URL){
+    //        var request = URLRequest(url: url)
+    //        request.httpMethod = "POST"
+    //        request.setValue("application/json", forHTTPHeaderField: "Content-Type")
+    //
+    //        // 创建POST的数据(例如JSON)
+    //        let postData = "{\"key\":\"value\"}".data(using: .utf8)
+    //        request.httpBody = postData
+    //
+    //        // 创建URLSessionDataTask来发送请求
+    //        let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
+    //            // 处理响应类似于GET请求
+    //        }
+    //
+    //        // 启动任务
+    //        task.resume()
+    //    }
 }
- 
+
 
index 7928a34..7d21d24 100644 (file)
@@ -7,49 +7,16 @@
 
 import Foundation
 
-class MSAigcModel:Codable{
-    var status:Int = 0
-    var data:[MSAigcStyle] = []
-}
-
-
-/// aigc算法类型模型
-public class MSAigcStyle:Codable{
-    /// 名称
-    public var name = ""
-    /// 链接
-    public var url = ""
-    /// 代码
-    public var code = ""
-}
-
-/// aigc创建任务模型
-public class MSAigcTask:Codable{
-    /// 0:⽂字⽣图,1: ⽂+图⽣图 5: 图⽣图(⻛格变换)
-    public var type:Int = 0
-    /// 主题,type=5 参数不生效
-    public var subject:String?
-    /// type=0 不需要提交,url type=5 必须提交
-    public var url:String?
-    /// ⽣成的图⽚数量,  type=5 参数不生效
-    public var amount:Int = 4
-    /// ⽣成的图⽚⾼度,type=1时需要是32的倍数。 type=5 参数不生效
-    public var height:Int = 320
-    /// ⽣成的图⽚宽度,type=1时需要是32的倍数。 type=5 参数不生效
-    public var width:Int = 320
-    /// 算法id可⽤值⻅get-style
-    public var algorithm:String = "auto"
-    
-    public init() { }
-}
 
 
+/// aigc获取算法类型回调
 public typealias MSAigcStyleCallBack = (_ list: [MSAigcStyle]?,_ error:MSError?) -> Void
-
+/// aigc任务回调
 public typealias MSAigcTaskCallBack = (_ taskId: String?,_ error:MSError?) -> Void
+/// aigc查询任务回调
+public typealias MSAigcQueryCallBack = (_ urls: [String]?,_ error:MSError?) -> Void
 
-public typealias MSAigcQueryCallBack = (_ jsonString: String?,_ error:MSError?) -> Void
-
+/// aigc管理类
 public class MSAigc{
     func getUrl(_ api:String)->String{
         return "http://121.40.67.151:9099/" + api
@@ -61,7 +28,7 @@ public class MSAigc{
     ///   - type: 0:⽂字⽣图,1: ⽂+图⽣图 5:图⽣图(⻛格变换)
     ///   - completeHandler: 结果回调
     public func getStyle(type:Int,completeHandler: @escaping MSAigcStyleCallBack){
-        if !MSManager.shared.auth.authorized {
+        if !MixSdk.shared.auth.authorized {
             completeHandler(nil,.unauthorised)
             return
         }
@@ -69,24 +36,25 @@ public class MSAigc{
         let params = [
             "type":type,
         ]
-        Logger.log(url,params)
+        Logger.log(params)
         
         HTTP.POST(url,parameters: params,requestSerializer: JSONParameterSerializer()){ response in
-            if let _ = response.error {
-                Logger.log(response.description)
-                completeHandler(nil,MSError.invalidRequest)
-                return
-            }
-            Logger.log(response.data.string ?? "")
-            guard let model = JSON.decode(MSAigcModel.self, from: response.data) else{
-                completeHandler(nil,MSError.parsingError)
-                return
-            }
-            if model.data.count > 0 {
-                completeHandler(model.data,nil)
-            }
-            else{
-                completeHandler(nil,MSError.reponseError(model.status,"获取失败"))
+            DispatchQueue.main.sync {
+                let (_,error) = IBHttpManager.receiveData(response)
+                if let error = error {
+                    completeHandler(nil,error)
+                    return
+                }
+                guard let model = JSON.decode(MSAigcStyleModel.self, from: response.data) else{
+                    completeHandler(nil,MSError.parsingError)
+                    return
+                }
+                if model.data.count > 0 {
+                    completeHandler(model.data,nil)
+                }
+                else{
+                    completeHandler(nil,MSError.reponseError(model.status,"获取失败"))
+                }
             }
         }
     }
@@ -97,7 +65,7 @@ public class MSAigc{
     ///   - taskId: 任务id
     ///   - completeHandler: 结果回调
     public func getResult(taskId:String,completeHandler: @escaping MSAigcQueryCallBack){
-        if !MSManager.shared.auth.authorized {
+        if !MixSdk.shared.auth.authorized {
             completeHandler(nil,.unauthorised)
             return
         }
@@ -105,16 +73,27 @@ public class MSAigc{
         let params = [
             "task_id":taskId,
         ]
-        Logger.log(url,params)
+        Logger.log(params)
         
         HTTP.POST(url,parameters: params,requestSerializer: JSONParameterSerializer()){ response in
-            if let _ = response.error {
-                Logger.log(response.description)
-                completeHandler(nil,MSError.invalidRequest)
-                return
+            DispatchQueue.main.sync {
+                let (_,error) = IBHttpManager.receiveData(response)
+                if let error = error {
+                    completeHandler(nil,error)
+                    return
+                }
+                guard let model = JSON.decode(MSAigcResultModel.self, from: response.data) else{
+                    completeHandler(nil,MSError.parsingError)
+                    return
+                }
+                if let list = model.data.results,list.count > 0{
+                    let urls = list.map { $0.url }
+                    completeHandler(urls,nil)
+                }
+                else{
+                    completeHandler(nil,.reponseError(model.status, model.data.status))
+                }
             }
-            Logger.log(response.data.string ?? "")
-            completeHandler(response.data.string,nil)
         }
     }
     
@@ -124,7 +103,7 @@ public class MSAigc{
     ///   - task: 任务参数
     ///   - completeHandler: 结果回调
     public func createTask(_ task:MSAigcTask,completeHandler: @escaping MSAigcTaskCallBack){
-        if !MSManager.shared.auth.authorized {
+        if !MixSdk.shared.auth.authorized {
             completeHandler(nil,.unauthorised)
             return
         }
@@ -133,24 +112,22 @@ public class MSAigc{
             return }
         
         let url = getUrl("aigc/create-image")
-        Logger.log(url,params)
+        Logger.log(params)
         
         HTTP.POST(url,parameters: params,requestSerializer: JSONParameterSerializer()){ response in
-            if let _ = response.error {
-                Logger.log(response.description)
-                completeHandler(nil,MSError.invalidRequest)
-                return
-            }
-            Logger.log(response.data.string ?? "")
-            guard let dict = response.data.jsonObject() as? NSDictionary else{
-                completeHandler(nil,MSError.parsingError)
-                return
-            }
-            if let status = dict["status"] as? Int,status == 0,let data = dict["data"] as? [String:Any], let task_id = data["task_id"] as? String{
-                completeHandler(task_id,nil)
-            }
-            else{
-                completeHandler(nil,MSError.reponseError(dict["status"] as? Int ?? 0, "请求失败"))
+            DispatchQueue.main.sync {
+                let (dict,error) = IBHttpManager.receiveData(response)
+                if let error = error {
+                    completeHandler(nil,error)
+                    return
+                }
+                guard let dict = dict else {return completeHandler(nil,error)}
+                if let status = dict["status"] as? Int,status == 0,let data = dict["data"] as? [String:Any], let task_id = data["task_id"] as? String{
+                    completeHandler(task_id,nil)
+                }
+                else{
+                    completeHandler(nil,MSError.reponseError(dict["status"] as? Int ?? 0, "请求失败"))
+                }
             }
         }
     }
diff --git a/MixSdk/MixSdk/MixSdk/MSAigcModel.swift b/MixSdk/MixSdk/MixSdk/MSAigcModel.swift
new file mode 100644 (file)
index 0000000..61bd184
--- /dev/null
@@ -0,0 +1,60 @@
+//
+//  MSAigcModel.swift
+//  MixSdk
+//
+//  Created by incar on 2024/6/18.
+//
+
+import Foundation
+
+class MSAigcResultModel:Codable{
+    var status:Int = 0
+    var data:MSAigcResultDataModel = MSAigcResultDataModel()
+}
+
+class MSAigcResultDataModel:Codable{
+    var status:String = ""
+    var task_id:String = ""
+    var results:[MSAigcResult]?
+}
+/// aigc状态查询
+public class MSAigcResult:Codable{
+    /// url
+    public var url:String = ""
+}
+
+class MSAigcStyleModel:Codable{
+    var status:Int = 0
+    var data:[MSAigcStyle] = []
+}
+
+/// aigc算法类型模型
+public class MSAigcStyle:Codable{
+    /// 名称
+    public var name:String = ""
+    /// 链接
+    public var url:String = ""
+    /// 代码
+    public var code:String = ""
+}
+
+
+/// aigc创建任务模型
+public class MSAigcTask:Codable{
+    /// 0:⽂字⽣图,1: ⽂+图⽣图 5: 图⽣图(⻛格变换)
+    public var type:Int = 0
+    /// 主题,type=5 参数不生效
+    public var subject:String?
+    /// type=0 不需要提交,url type=5 必须提交
+    public var url:String?
+    /// ⽣成的图⽚数量,  type=5 参数不生效
+    public var amount:Int = 4
+    /// ⽣成的图⽚⾼度,type=1时需要是32的倍数。 type=5 参数不生效
+    public var height:Int = 320
+    /// ⽣成的图⽚宽度,type=1时需要是32的倍数。 type=5 参数不生效
+    public var width:Int = 320
+    /// 算法id可⽤值⻅get-style
+    public var algorithm:String = "auto"
+    
+    public init() { }
+}
diff --git a/MixSdk/MixSdk/MixSdk/MSAsr.swift b/MixSdk/MixSdk/MixSdk/MSAsr.swift
deleted file mode 100644 (file)
index 148e0f3..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-//  MSAsr.swift
-//  MixSdk
-//
-//  Created by incar on 2024/6/14.
-//
-
-import Foundation
-
-public typealias MSAsrCallBack = (_ text: String?,_ error:MSError?) -> Void
-
-public class MSAsr {
-    
-    func getUrl()->String{
-        return "http://121.40.67.151:9099/asr/sentence-recognize?"
-    }
-    
-    /// 一句话识别
-    /// - Parameters:
-    ///   - filePath: 语音文件路径
-    ///   - format: 语音格式,单声道(mono)16bit采样位数音频,包括无压缩的PCM、WAV、OPUS、AMR、SPEEX、MP3、AAC格式。
-    ///   - sample_rate:采样率
-    ///   - lang: zh-cn 中文/en-us 英文
-    ///   - completeHandler: 结果回调
-    public func sentenceRecognize(filePath:String,format:String? = nil,sample_rate:String? = nil,lang:String? = nil,completeHandler: @escaping MSAsrCallBack){
-        if !MSManager.shared.auth.authorized {
-            completeHandler(nil,.unauthorised)
-            return
-        }
-        guard let fileData = MSTool.readFile(from: filePath) else {
-            completeHandler(nil,.invalidRequest)
-            return
-        }
-
-        var url = getUrl()
-        if let value = format{
-            url += "format=\(value)&"
-        }
-        if let value = lang{
-            url += "lang=\(value)&"
-        }
-        if let value = sample_rate{
-            url += "sample_rate=\(value)&"
-        }
-        Logger.log(url)
-        
-        var request = URLRequest(url:  URL(string:url)!)
-        request.httpMethod = "POST"
-        request.setValue("application/json", forHTTPHeaderField: "Content-Type")
-        request.httpBody = fileData
-        let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
-            if let error = error {
-                completeHandler(nil,.invalidRequest)
-                Logger.log("Error: \(error)")
-                return
-            }
-            guard let data = data else {
-                completeHandler(nil,.invalidRequest)
-                return
-            }
-            Logger.log(data.string ?? "")
-            guard let dict = data.jsonObject() as? NSDictionary else{
-                completeHandler(nil,MSError.parsingError)
-                return
-            }
-            if let status = dict["status"] as? Int,status == 0,let data = dict["data"] as? [String:Any], let result = data["result"] as? String{
-                completeHandler(result,nil)
-            }
-            else{
-                completeHandler(nil,MSError.reponseError(dict["status"] as? Int ?? 0, "请求失败"))
-            }
-            
-        }
-        task.resume()
-    }
-}
-
-
-
- 
-
index d21cdb0..f0df586 100644 (file)
@@ -8,11 +8,16 @@
 import Foundation
 import CommonCrypto
 
+/// 注册回调
 public typealias MSRegisterCallBack = (_ deviceSecret: String?,_ error:MSError?) -> Void
+/// 登录回调
 public typealias MSLoginCallBack = (_ isSuccess: Bool,_ error:MSError?) -> Void
 
+
+/// 鉴权管理类
 public class MSAuth {
-    public var authorized = true
+    /// 是否已经鉴权
+    public var authorized = false
     
     func getUrl(_ api:String)->String{
         return "https://app.api.thisiot.com/da/auth/" + api
@@ -26,6 +31,7 @@ public class MSAuth {
     ///   - sn: SN号
     ///   - completeHandler: 结果回调
     public func register(productKey:String,secretKey:String,deviceId:String,sn:String,completeHandler: @escaping MSRegisterCallBack){
+        
         let timeStamp = "\(Int(Date().timeIntervalSince1970)*1000)"
         let value = deviceId + sn + timeStamp + secretKey
         let signValue = value.md5
@@ -38,24 +44,22 @@ public class MSAuth {
             "sn":sn
         ]
         let url = getUrl("active")
-        Logger.log(url,params)
+        Logger.log(params)
         
         HTTP.PUT(url,parameters: params,requestSerializer: JSONParameterSerializer()){ response in
-            if let _ = response.error {
-                Logger.log(response.description)
-                completeHandler(nil,MSError.invalidRequest)
-                return
-            }
-            Logger.log(response.data.string ?? "")
-            guard let dict = response.data.jsonObject() as? NSDictionary else{
-                completeHandler(nil,MSError.parsingError)
-                return
-            }
-            if let result = dict["success"] as? Bool,result == true,let data = dict["data"] as? [String:Any], let deviceSecret = data["deviceSecret"] as? String{
-                completeHandler(deviceSecret,nil)
-            }
-            else{
-                completeHandler(nil,MSError.reponseError(dict["code"] as? Int ?? 0,dict["msg"] as? String ?? ""))
+            DispatchQueue.main.sync {
+                let (dict,error) = IBHttpManager.receiveData(response)
+                if let error = error {
+                    completeHandler(nil,error)
+                    return
+                }
+                guard let dict = dict else {return completeHandler(nil,error)}
+                if let result = dict["success"] as? Bool,result == true,let data = dict["data"] as? [String:Any], let deviceSecret = data["deviceSecret"] as? String{
+                    completeHandler(deviceSecret,nil)
+                }
+                else{
+                    completeHandler(nil,MSError.reponseError(dict["code"] as? Int ?? 0,dict["msg"] as? String ?? ""))
+                }
             }
         }
     }
@@ -80,25 +84,24 @@ public class MSAuth {
             "sign":signValue
         ]
         let url = getUrl("login")
-        Logger.log(url,params)
+        Logger.log(params)
         
         HTTP.POST(url,parameters: params,requestSerializer: JSONParameterSerializer()){ response in
-            if let _ = response.error {
-                Logger.log(response.description)
-                completeHandler(false,MSError.invalidRequest)
-                return
-            }
-            Logger.log(response.data.string ?? "")
-            guard let dict = response.data.jsonObject() as? NSDictionary else{
-                completeHandler(false,MSError.parsingError)
-                return
-            }
-            if let result = dict["success"] as? Bool,result == true{
-                self.authorized = true
-                completeHandler(true,nil)
-            }
-            else{
-                completeHandler(false,MSError.reponseError(dict["code"] as? Int ?? 0,dict["msg"] as? String ?? ""))
+            DispatchQueue.main.sync {
+                let (dict,error) = IBHttpManager.receiveData(response)
+                if let error = error {
+                    completeHandler(false,error)
+                    return
+                }
+                guard let dict = dict else {return completeHandler(false,error)}
+                
+                if let result = dict["success"] as? Bool,result == true{
+                    self.authorized = true
+                    completeHandler(true,nil)
+                }
+                else{
+                    completeHandler(false,MSError.reponseError(dict["code"] as? Int ?? 0,dict["msg"] as? String ?? ""))
+                }
             }
         }
     }
diff --git a/MixSdk/MixSdk/MixSdk/MSChat.swift b/MixSdk/MixSdk/MixSdk/MSChat.swift
new file mode 100644 (file)
index 0000000..2f76bde
--- /dev/null
@@ -0,0 +1,91 @@
+//
+//  MSChat.swift
+//  MixSdk
+//
+//  Created by incar on 2024/6/17.
+//
+
+import Foundation
+
+/// 对话回调
+public typealias MSChatCallBack = (_ model: MSChatModel) -> Void
+
+/// 对话模型
+public class MSChatModel:Codable{
+    /// 类型 start middle end
+    public var type:String = ""
+    /// 内容
+    public var content:String?
+}
+
+
+
+/// 大模型对话管理类
+public class MSChat {
+    let socket:WebSocket
+    
+    /// 对话回调
+    public var callBack:MSChatCallBack?
+    
+    init(){
+      let url = "ws://121.40.67.151:9099/chat/ws/watches"
+//        let url = "wss://ichat.raisound.com/chat-ws/chat/ws"
+//        print(url)
+        socket = WebSocket(url)
+//        socket.allowSelfSignedSSL = true
+        socket.delegate = self
+        
+//        let request = URLRequest(urlString: "wss://121.40.67.151:9099/chat-ws/chat/ws")
+//        
+//        socket = WebSocket(request: request!)
+//        socket.delegate = self
+    }
+
+    
+    /// 发送内容
+    /// - Parameter content: 内容
+    public func send(content:String){
+        let params = [
+            "type":"chat",
+            "content":content,
+        ]
+        let cmd = params.jsonString() ?? ""
+        Logger.log("send" ,cmd)
+        socket.send(text: cmd)
+    }
+}
+
+
+extension MSChat:WebSocketDelegate{
+     func webSocketOpen() {
+//        Logger.log("MSChat webSocketOpen")
+    }
+    
+     func webSocketClose(_ code: Int, reason: String, wasClean: Bool) {
+        Logger.log("MSChat webSocketClose",code,reason,wasClean)
+    }
+    
+     func webSocketError(_ error: NSError) {
+        Logger.log("MSChat webSocketError",error)
+    }
+    
+     func webSocketMessageText(_ text: String) {
+        Logger.log("MSChat receive",text)
+    }
+    
+     func webSocketMessageData(_ data: Data){
+        Logger.log("MSChat receive",data.joined(""))
+        
+        if let model = MSChatModel.decode(data){
+            callBack?(model)
+        }
+    }
+    
+     func webSocketPong(){
+        Logger.log("MSChat Pong")
+    }
+    
+     func webSocketEnd(_ code: Int, reason: String, wasClean: Bool, error: NSError?){
+        Logger.log("MSChat webSocketEnd",code,reason,wasClean,error ?? "")
+    }
+}
index 32e1a7a..f9dc801 100644 (file)
@@ -17,4 +17,17 @@ public enum MSError: Error {
     case reponseError(Int,String)
     /// 未鉴权
     case unauthorised
+    /// 未知错误
+    case unknow
+    
+   public var msg:String{
+        switch self {
+        case .unauthorised:
+            return "未鉴权"
+        case .reponseError(_,let message):
+            return message
+        default:
+            return "请求失败"
+        }
+    }
 }
diff --git a/MixSdk/MixSdk/MixSdk/MSManager.swift b/MixSdk/MixSdk/MixSdk/MSManager.swift
deleted file mode 100644 (file)
index 25e8a44..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-//  MSManager.swift
-//  MixSdk
-//
-//  Created by incar on 2024/6/13.
-//
-
-import Foundation
-
-/// SDK 管理类
-public class MSManager:NSObject {
-    public static let shared = MSManager()
-    
-    private override init() {
-        super.init()
-    }
-    
-    /// 初始化工作
-    public func initSDK() {
-        Logger.log("sdk version:",MSManager.version)
-    }
-    
-    
-    /// 日志
-    public var logs: [String] { Logger.logs }
-    
-    /// SDK 版本号
-    public let version: String = "1.0.0"
-    /// 默认为 false
-    public var isDebug: Bool = false {
-        didSet { Logger.isDebug = isDebug }
-    }
-    
-    
-    /// 鉴权
-    public var auth = MSAuth()
-    
-    /// 翻译
-    public var translate = MSTranslate()
-    
-    /// 语音识别
-    public var asr = MSAsr()
-    
-    /// 人工智能AIGC
-    public var aigc = MSAigc()
-}
diff --git a/MixSdk/MixSdk/MixSdk/MSStt.swift b/MixSdk/MixSdk/MixSdk/MSStt.swift
new file mode 100644 (file)
index 0000000..9af5d96
--- /dev/null
@@ -0,0 +1,202 @@
+//
+//  MSStt.swift
+//  MixSdk
+//
+//  Created by incar on 2024/6/14.
+//
+
+import Foundation
+
+/// 
+public typealias MSSttCallBack = (_ text: String?,_ error:MSError?) -> Void
+/// 事件回调
+public typealias MSSttEventCallBack = (_ model:MSSttModel) -> Void
+
+/// 语音翻译结果模型
+public class MSSttModel:Codable{
+    /// 事件
+    public var event:String = ""
+    /// message
+    public var msg:String = ""
+    /// 状态码
+    public var status:Int = 0
+    /// 任务id
+    public var task_id:String = ""
+    /// 识别的文字
+    public var result:MSSttResult?
+}
+/// 语音识别结果
+public class MSSttResult:Codable{
+    /// 识别文字
+    public var result:String = ""
+    /// 是否结束
+    public var is_end:Bool = false
+    /// 句子id
+    public var sentence_id:String = ""
+    /// 开始时间
+    public var start_time:Int = 0
+    /// 结束时间
+    public var end_time:Int = 0
+}
+
+/// 语音转文字管理类
+public class MSStt {
+    let socket:WebSocket
+    var taskId:String?
+    
+    /// 事件回调
+    public var eventCallBack:MSSttEventCallBack?
+    //    public var voiceCallBack:MSTtsVoiceCallBack?
+    
+    init(){
+        socket = WebSocket("ws://121.40.67.151:9099/asr/ws")
+        socket.delegate = self
+    }
+    
+    func getUrl()->String{
+        return "http://121.40.67.151:9099/asr/sentence-recognize?"
+    }
+    
+    /// 一句话识别
+    /// - Parameters:
+    ///   - filePath: 语音文件路径
+    ///   - format: 语音格式,单声道(mono)16bit采样位数音频,包括无压缩的PCM、WAV、OPUS、AMR、SPEEX、MP3、AAC格式。
+    ///   - sample_rate:采样率
+    ///   - lang: zh-cn 中文/en-us 英文
+    ///   - completeHandler: 结果回调
+    public func sentenceRecognize(filePath:String,format:String? = nil,sample_rate:String? = nil,lang:String? = nil,completeHandler: @escaping MSSttCallBack){
+        if !MixSdk.shared.auth.authorized {
+            completeHandler(nil,.unauthorised)
+            return
+        }
+        guard let fileData = MSTool.readFile(from: filePath) else {
+            completeHandler(nil,.invalidRequest)
+            return
+        }
+        
+        var url = getUrl()
+        if let value = format{
+            url += "format=\(value)&"
+        }
+        if let value = lang{
+            url += "lang=\(value)&"
+        }
+        if let value = sample_rate{
+            url += "sample_rate=\(value)&"
+        }
+//        Logger.log(url)
+        
+        var request = URLRequest(url:  URL(string:url)!)
+        request.httpMethod = "POST"
+        request.setValue("application/json", forHTTPHeaderField: "Content-Type")
+        request.httpBody = fileData
+        let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
+            DispatchQueue.main.sync {
+                if let error = error {
+                    completeHandler(nil,.invalidRequest)
+                    Logger.log("Error: \(error)")
+                    return
+                }
+                guard let data = data else {
+                    completeHandler(nil,.invalidRequest)
+                    return
+                }
+                Logger.log(data.string ?? "")
+                guard let dict = data.jsonObject() as? NSDictionary else{
+                    completeHandler(nil,MSError.parsingError)
+                    return
+                }
+                if let status = dict["status"] as? Int,status == 0,let data = dict["data"] as? [String:Any], let result = data["result"] as? String{
+                    completeHandler(result,nil)
+                }
+                else{
+                    completeHandler(nil,MSError.reponseError(dict["status"] as? Int ?? 0, "请求失败"))
+                }
+            }
+        }
+        task.resume()
+    }
+}
+
+public extension MSStt{
+    
+    /// 开始转换
+    func startTranscription(){
+        let taskId = "\(Int(Date().timeIntervalSince1970)*1000)".md5.lowercased();
+        self.taskId = taskId
+        let params = [
+            "header":[
+                "event":"StartTranscription",
+                "trace_id":taskId,
+            ],
+            "payload":[
+                "format":"pcm",
+                "sample_rate":16000
+            ]
+        ]
+        let cmd = params.jsonString() ?? ""
+        Logger.log(cmd)
+        socket.send(text: cmd )
+    }
+    //结束转换
+    func stopTranscription(){
+        let params = [
+            "header":[
+                "event":"StopTranscription",
+                "trace_id":self.taskId ?? ""
+            ]
+        ]
+        let cmd = params.jsonString() ?? ""
+        Logger.log(cmd)
+        socket.send(text: cmd )
+    }
+    
+    
+    /// 发送语音数据,format pcm,采样率 16000
+    /// - Parameter data: 语音数据
+    func sendVoice(data:Data){
+        //        Logger.log(data)
+        socket.send(data: data)
+    }
+    
+    //    func openWebSocket(){
+    //        socket.open()
+    //    }
+}
+
+
+extension MSStt:WebSocketDelegate{
+    func webSocketOpen() {
+//        Logger.log("MSStt webSocketOpen")
+    }
+    
+    func webSocketClose(_ code: Int, reason: String, wasClean: Bool) {
+        Logger.log("MSStt webSocketClose",code,reason,wasClean)
+    }
+    
+    func webSocketError(_ error: NSError) {
+        Logger.log("MSStt webSocketError",error)
+    }
+    func webSocketMessageText(_ text: String) {
+        Logger.log("MSStt receive",text)
+        guard let data = text.data,let model = JSON.decode(MSSttModel.self, from: data) else{
+            return
+        }
+        eventCallBack?(model)
+    }
+    
+    func webSocketMessageData(_ data: Data){
+        Logger.log("MSStt receive",data)
+    }
+    
+    func webSocketPong(){
+        Logger.log("MSStt Pong")
+    }
+    
+    func webSocketEnd(_ code: Int, reason: String, wasClean: Bool, error: NSError?){
+        Logger.log("MSStt webSocketEnd",code,reason,wasClean,error ?? "")
+    }
+}
+
+
+
index ba10efa..4b4d3f3 100644 (file)
@@ -9,25 +9,26 @@ import Foundation
 
 class MSSupportLanModel:Codable{
     var status:Int = 0
-    var data:[MSSupportLanguage] = []
+    var data:[MSTranslateLanguage] = []
 }
 
 /// 翻译支持的语言
-public class MSSupportLanguage:Codable{
+public class MSTranslateLanguage:Codable{
     /// 中文名称
-    public var cn = ""
+    public var cn:String = ""
     /// 英文名称
-    public var en = ""
+    public var en:String = ""
     /// 代码
-    public var code = ""
+    public var code:String = ""
 }
 
-
+/// 翻译回调
 public typealias MSTranslateCallBack = (_ text: String?,_ error:MSError?) -> Void
-public typealias MSLanuageCallBack = (_ list: [MSSupportLanguage]?,_ error:MSError?) -> Void
+/// 获取支持语言回调
+public typealias MSLanuageCallBack = (_ list: [MSTranslateLanguage]?,_ error:MSError?) -> Void
 
+/// 翻译管理类
 public class MSTranslate {
-    
     private func getUrl(_ api:String)->String{
         return "http://121.40.67.151:9099/translate/" + api
     }
@@ -40,35 +41,33 @@ public extension MSTranslate{
     ///   - lang: 语言
     ///   - text: 需要翻译的文字
     ///   - completeHandler: 结果回调
-    func translate(lang:String,text:String,completeHandler: @escaping MSTranslateCallBack){
-        if !MSManager.shared.auth.authorized {
+    func translate(lang:MSTranslateLanguage,text:String,completeHandler: @escaping MSTranslateCallBack){
+        if !MixSdk.shared.auth.authorized {
             completeHandler(nil,.unauthorised)
             return
         }
         let url = getUrl("general")
         let params = [
             "sl":"auto",
-            "tl":lang,
+            "tl":lang.code,
             "text":text
         ]
-        Logger.log(url,params)
+        Logger.log(params)
         
         HTTP.POST(url,parameters: params,requestSerializer: JSONParameterSerializer()){ response in
-            if let _ = response.error {
-                Logger.log(response.description)
-                completeHandler(nil,MSError.invalidRequest)
-                return
-            }
-            Logger.log(response.data.string ?? "")
-            guard let dict = response.data.jsonObject() as? NSDictionary else{
-                completeHandler(nil,MSError.parsingError)
-                return
-            }
-            if let data = dict["data"] as? [String:Any], let translated = data["translated"] as? String{
-                completeHandler(translated,nil)
-            }
-            else{
-                completeHandler(nil,MSError.reponseError(dict["status"] as? Int ?? 0,"翻译失败"))
+            DispatchQueue.main.sync {
+                let (dict,error) = IBHttpManager.receiveData(response)
+                if let error = error {
+                    completeHandler(nil,error)
+                    return
+                }
+                guard let dict = dict else {return completeHandler(nil,error)}
+                if let data = dict["data"] as? [String:Any], let translated = data["translated"] as? String{
+                    completeHandler(translated,nil)
+                }
+                else{
+                    completeHandler(nil,MSError.reponseError(dict["status"] as? Int ?? 0,"翻译失败"))
+                }
             }
         }
     }
@@ -77,29 +76,29 @@ public extension MSTranslate{
     /// 获取支持的语言
     /// - Parameter completeHandler: 结果回调
     func getSupportLanguages(completeHandler: @escaping MSLanuageCallBack){
-        if !MSManager.shared.auth.authorized {
+        if !MixSdk.shared.auth.authorized {
             completeHandler(nil,.unauthorised)
             return
         }
         let url = getUrl("languages")
-        Logger.log(url)
         
         HTTP.POST(url,requestSerializer: JSONParameterSerializer()){ response in
-            if let _ = response.error {
-                Logger.log(response.description)
-                completeHandler(nil,MSError.invalidRequest)
-                return
-            }
-            Logger.log(response.data.string ?? "")
-            guard let model = JSON.decode(MSSupportLanModel.self, from: response.data) else{
-                completeHandler(nil,MSError.parsingError)
-                return
-            }
-            if model.data.count > 0 {
-                completeHandler(model.data,nil)
-            }
-            else{
-                completeHandler(nil,MSError.reponseError(model.status,"获取失败"))
+            DispatchQueue.main.sync {
+                let (_,error) = IBHttpManager.receiveData(response)
+                if let error = error {
+                    completeHandler(nil,error)
+                    return
+                }
+                guard let model = JSON.decode(MSSupportLanModel.self, from: response.data) else{
+                    completeHandler(nil,MSError.parsingError)
+                    return
+                }
+                if model.data.count > 0 {
+                    completeHandler(model.data,nil)
+                }
+                else{
+                    completeHandler(nil,MSError.reponseError(model.status,"获取失败"))
+                }
             }
         }
     }
diff --git a/MixSdk/MixSdk/MixSdk/MSTts.swift b/MixSdk/MixSdk/MixSdk/MSTts.swift
new file mode 100644 (file)
index 0000000..cc93b50
--- /dev/null
@@ -0,0 +1,169 @@
+//
+//  MSTts.swift
+//  MixSdk
+//
+//  Created by incar on 2024/6/17.
+//
+
+import Foundation
+
+/// 合成事件回调
+public typealias MSTtsEventCallBack = (_ model:MSTtsModel) -> Void
+/// 语音合成数据回调
+public typealias MSTtsVoiceCallBack = (_ data:Data) -> Void
+
+/// 语音合成事件
+class MSTtsEventHead:Codable{
+    public var header:MSTtsModel = MSTtsModel()
+}
+/// 语音合成事件
+public class MSTtsModel:Codable{
+    /// 事件
+    /// SentenceBegin        服务器检测到一句完整的句子
+    /// SentenceSynthesis  有新的合成结果
+    /// SentenceEnd           句子合成结束
+    /// EndSynthesis          合成技术
+
+    public var event:String = ""
+    /// message
+    public var msg:String = ""
+    /// 状态码
+    public var status:Int = 0
+    /// 任务id
+    public var task_id:String = ""
+}
+
+/// 文字转语音管理类
+public class MSTts {
+    let socket:WebSocket
+    var taskId:String?
+    
+    /// 事件回调
+    public var eventCallBack:MSTtsEventCallBack?
+    
+    /// 语音数据回调
+    public var voiceCallBack:MSTtsVoiceCallBack?
+    
+    init(){
+        socket = WebSocket("ws://121.40.67.151:9099/tts/stream")
+        socket.delegate = self
+    }
+}
+
+public extension MSTts{
+    /// 开始实时语音合成
+    func startSynthesis(){
+        let taskId = "\(Int(Date().timeIntervalSince1970)*1000)".md5.lowercased();
+        self.taskId = taskId
+        let params = [
+            "header": [
+                "event": "StartSynthesis",
+                "trace_id": taskId
+            ],
+            "payload": [
+                "voice":"zhixiaomei",
+                "format":"WAV",
+                "sample_rate":16000,
+                "volume":50,
+                "speech_rate":0,
+            ]
+        ]
+        let cmd = params.jsonString() ?? ""
+        Logger.log(cmd)
+        socket.send(text: cmd )
+    }
+    
+    /// 结束实时语音合成
+    func stopSynthesis(){
+        let params = [
+            "header": [
+                "event": "StopSynthesis",
+                "trace_id":self.taskId
+            ]
+        ]
+        let cmd = params.jsonString() ?? ""
+        Logger.log(cmd)
+        socket.send(text: cmd )
+    }
+    
+    /// 实时发送。注意实时合成和一次性只能同时运行一个
+    /// - Parameter text: 合成的内容
+    func runSynthesis(text:String){
+        let params = [
+            "header": [
+                "event": "RunSynthesis",
+                "trace_id": "3fa6b9e6a30b407ea38ad7ae69e6c291"
+            ],
+            "payload": [
+                "text":text
+            ]
+        ]
+        let cmd = params.jsonString() ?? ""
+        Logger.log(cmd)
+        socket.send(text: cmd )
+    }
+    
+    /// 发送一次性长内容。注意实时合成和一次性只能同时运行一个
+    /// - Parameter text: 合成的内容
+    func sendLongTextStream(text:String){
+        let taskId = "\(Int(Date().timeIntervalSince1970)*1000)".md5.lowercased();
+        self.taskId = taskId
+        let params = [
+            "header": [
+                "event": "LongTextStream",
+                "trace_id": taskId
+            ],
+            "payload": [
+                "voice":"xiaoyun",
+                "format":"WAV",
+                "sample_rate":16000,
+                "volume":50,
+                "speech_rate":0,
+                "text":text
+            ]
+        ]
+        
+        let cmd = params.jsonString() ?? ""
+        Logger.log(cmd)
+        
+        guard let data = cmd.data else {return}
+        socket.send(data: data)
+    }
+}
+
+
+extension MSTts:WebSocketDelegate{
+     func webSocketOpen() {
+//        Logger.log("MSTts webSocketOpen")
+    }
+    
+     func webSocketClose(_ code: Int, reason: String, wasClean: Bool) {
+        Logger.log("MSTts webSocketClose",code,reason,wasClean)
+    }
+    
+     func webSocketError(_ error: NSError) {
+        Logger.log("MSTts webSocketError",error)
+    }
+     func webSocketMessageText(_ text: String) {
+        Logger.log("MSTts receive",text)
+        guard let data = text.data,let model = JSON.decode(MSTtsEventHead.self, from: data) else{
+            return
+        }
+        eventCallBack?(model.header)
+    }
+    
+     func webSocketMessageData(_ data: Data){
+        Logger.log("MSTts receive",data)
+        voiceCallBack?(data)
+    }
+    
+     func webSocketPong(){
+        Logger.log("MSTts Pong")
+    }
+    
+     func webSocketEnd(_ code: Int, reason: String, wasClean: Bool, error: NSError?){
+        Logger.log("MSTts webSocketEnd",code,reason,wasClean,error ?? "")
+    }
+}
+
+
diff --git a/MixSdk/MixSdk/MixSdk/MixSdk.swift b/MixSdk/MixSdk/MixSdk/MixSdk.swift
new file mode 100644 (file)
index 0000000..18778fb
--- /dev/null
@@ -0,0 +1,85 @@
+//
+//  MixSdk.swift
+//  MixSdk
+//
+//  Created by incar on 2024/6/13.
+//
+
+import Foundation
+
+/// SDK 管理类
+public class MixSdk:NSObject {
+    public static let shared = MixSdk()
+    
+    private override init() {
+        super.init()
+        
+//    https://apifox.com/apidoc/shared-054b7e2c-cf4b-4e2b-875c-79fda14ddbbf?pwd=xRzzNg7l  
+//    访问密码: xRzzNg7l
+
+    }
+    
+    /// 初始化工作
+    public func initSDK() {
+        Logger.log("sdk version:",MixSdk.version)
+    }
+    
+    
+    /// 日志
+    public var logs: [String] { Logger.logs }
+    
+    /// SDK 版本号
+    public let version: String = "1.0.0"
+    /// 默认为 false
+    public var isDebug: Bool = false {
+        didSet { Logger.isDebug = isDebug }
+    }
+    
+    
+    /// 鉴权
+    public var auth = MSAuth()
+    
+    /// 翻译
+    public var translate = MSTranslate()
+    
+    /// 人工智能AIGC
+    public var aigc = MSAigc()
+    
+    /// 大模型对话
+    public var chat = MSChat()
+    
+    /// 文字转语音
+    public var tts = MSTts()
+    
+    /// 语音转文字
+    public var stt = MSStt()
+    
+//    /// 鉴权
+//    public lazy var auth:MSAuth = {
+//        return MSAuth()
+//    }()
+//    
+//    /// 翻译
+//    public lazy var translate = MSTranslate()
+//    
+//    /// 人工智能AIGC
+//    public lazy var aigc:MSAigc = {
+//        return MSAigc()
+//    }()
+//    
+//    /// 大模型对话
+//    public lazy var chat:MSChat = {
+//        return MSChat()
+//    }()
+//    
+//    /// 文字转语音
+//    public lazy var tts:MSTts = {
+//        return MSTts()
+//    }()
+//    
+//    /// 语音转文字
+//    public lazy var stt:MSStt = {
+//        return MSStt()
+//    }()
+    
+}
index d454510..0c80f0b 100644 (file)
@@ -1,6 +1,6 @@
 //
 //  CRC16.swift
-//  MSManager
+//  MixSdk
 //
 //  Created by yaozuopan on 2024/3/12.
 //
index e3f04f7..7ccdf8a 100644 (file)
@@ -1,6 +1,6 @@
 //
 //  LRC.swift
-//  MSManager
+//  MixSdk
 //
 //  Created by yaozuopan on 2024/3/13.
 //
index 86f74e1..15beecd 100644 (file)
@@ -23,9 +23,9 @@ extension Logger {
     static func log(_ logs: Any..., line: Int = #line, separator: String = " ", terminator: String = "\n") {
         objc_sync_enter(Logger.shared)
         if Logger.isDebug {
-            print(Logger.shared.dateString, terminator: " [MSManager-\(String(format: "%03d", line))]: ")
+            print(Logger.shared.dateString, terminator: " [MixSdk-\(String(format: "%03d", line))]: ")
             print(logs, separator: separator, terminator: terminator)
-            let logString = Logger.shared.dateString + " [MSManager-\(String(format: "%03d", line))]: " + logs.map({ "\($0)" }).joined(separator: separator) + terminator
+            let logString = Logger.shared.dateString + " [MixSdk-\(String(format: "%03d", line))]: " + logs.map({ "\($0)" }).joined(separator: separator) + terminator
             Self.logs.append(logString)
         }
         objc_sync_exit(Logger.shared)
index a705581..f92fd1b 100644 (file)
@@ -8,6 +8,12 @@
 import Foundation
 
 class MSTool{
+    static func stringToJson(_ text:String)->[String:Any]?{
+        guard let data = text.data(using: .utf8) else{
+            return nil
+        }
+        return dataToJson(data)
+    }
     static func dataToJson(_ data:Data)->[String:Any]?{
         do {
             let jsonData = try JSONSerialization.jsonObject(with: data, options: .fragmentsAllowed)
index 0a651a5..9db0568 100644 (file)
@@ -9,7 +9,7 @@ import Foundation
 import CommonCrypto
 extension String {
     /// 原生md5
-    public var md5: String {
+    var md5: String {
         guard let data = data(using: .utf8) else {
             return self
         }
@@ -30,6 +30,5 @@ extension String {
         #endif
 
         return digest.map { String(format: "%02X", $0) }.joined()
-
     }
 }
index e52689c..366b89f 100644 (file)
@@ -1,6 +1,6 @@
 //
 //  UTF8.swift
-//  MSManager
+//  MixSdk
 //
 //  Created by yaozuopan on 2024/3/6.
 //
diff --git a/MixSdk/MixSdk/MixSdk/Tools/WebSocket.swift b/MixSdk/MixSdk/MixSdk/Tools/WebSocket.swift
new file mode 100644 (file)
index 0000000..68ccbe1
--- /dev/null
@@ -0,0 +1,1846 @@
+/*
+* SwiftWebSocket (websocket.swift)
+*
+* Copyright (C) Josh Baker. All Rights Reserved.
+* Contact: @tidwall, joshbaker77@gmail.com
+*
+* This software may be modified and distributed under the terms
+* of the MIT license.  See the LICENSE file for details.
+*
+*/
+
+import Foundation
+
+private let windowBufferSize = 0x2000
+
+private class Payload {
+    var ptr : UnsafeMutableRawPointer
+    var cap : Int
+    var len : Int
+    init(){
+        len = 0
+        cap = windowBufferSize
+        ptr = malloc(cap)
+    }
+    deinit{
+        free(ptr)
+    }
+    var count : Int {
+        get {
+            return len
+        }
+        set {
+            if newValue > cap {
+                while cap < newValue {
+                    cap *= 2
+                }
+                ptr = realloc(ptr, cap)
+            }
+            len = newValue
+        }
+    }
+    func append(_ bytes: UnsafePointer<UInt8>, length: Int){
+        let prevLen = len
+        count = len+length
+        memcpy(ptr+prevLen, bytes, length)
+    }
+    var array : [UInt8] {
+        get {
+            var array = [UInt8](repeating: 0, count: count)
+            memcpy(&array, ptr, count)
+            return array
+        }
+        set {
+            count = 0
+            append(newValue, length: newValue.count)
+        }
+    }
+    var nsdata : Data {
+        get {
+            return Data(bytes: ptr.assumingMemoryBound(to: UInt8.self), count: count)
+        }
+        set {
+            count = 0
+            append((newValue as NSData).bytes.bindMemory(to: UInt8.self, capacity: newValue.count), length: newValue.count)
+        }
+    }
+    var buffer : UnsafeBufferPointer<UInt8> {
+        get {
+            return UnsafeBufferPointer<UInt8>(start: ptr.assumingMemoryBound(to: UInt8.self), count: count)
+        }
+        set {
+            count = 0
+            append(newValue.baseAddress!, length: newValue.count)
+        }
+    }
+}
+
+private enum OpCode : UInt8, CustomStringConvertible {
+    case `continue` = 0x0, text = 0x1, binary = 0x2, close = 0x8, ping = 0x9, pong = 0xA
+    var isControl : Bool {
+        switch self {
+        case .close, .ping, .pong:
+            return true
+        default:
+            return false
+        }
+    }
+    var description : String {
+        switch self {
+        case .`continue`: return "Continue"
+        case .text: return "Text"
+        case .binary: return "Binary"
+        case .close: return "Close"
+        case .ping: return "Ping"
+        case .pong: return "Pong"
+        }
+    }
+}
+
+/// The WebSocketEvents struct is used by the events property and manages the events for the WebSocket connection.
+struct WebSocketEvents {
+    /// An event to be called when the WebSocket connection's readyState changes to .Open; this indicates that the connection is ready to send and receive data.
+    var open : ()->() = {}
+    /// An event to be called when the WebSocket connection's readyState changes to .Closed.
+    var close : (_ code : Int, _ reason : String, _ wasClean : Bool)->() = {(code, reason, wasClean) in}
+    /// An event to be called when an error occurs.
+    var error : (_ error : Error)->() = {(error) in}
+    /// An event to be called when a message is received from the server.
+    var message : (_ data : Any)->() = {(data) in}
+    /// An event to be called when a pong is received from the server.
+    var pong : (_ data : Any)->() = {(data) in}
+    /// An event to be called when the WebSocket process has ended; this event is guarenteed to be called once and can be used as an alternative to the "close" or "error" events.
+    var end : (_ code : Int, _ reason : String, _ wasClean : Bool, _ error : Error?)->() = {(code, reason, wasClean, error) in}
+}
+
+/// The WebSocketBinaryType enum is used by the binaryType property and indicates the type of binary data being transmitted by the WebSocket connection.
+enum WebSocketBinaryType : CustomStringConvertible {
+    /// The WebSocket should transmit [UInt8] objects.
+    case uInt8Array
+    /// The WebSocket should transmit NSData objects.
+    case nsData
+    /// The WebSocket should transmit UnsafeBufferPointer<UInt8> objects. This buffer is only valid during the scope of the message event. Use at your own risk.
+    case uInt8UnsafeBufferPointer
+    var description : String {
+        switch self {
+        case .uInt8Array: return "UInt8Array"
+        case .nsData: return "NSData"
+        case .uInt8UnsafeBufferPointer: return "UInt8UnsafeBufferPointer"
+        }
+    }
+}
+
+/// The WebSocketReadyState enum is used by the readyState property to describe the status of the WebSocket connection.
+@objc enum WebSocketReadyState : Int, CustomStringConvertible {
+    /// The connection is not yet open.
+    case connecting = 0
+    /// The connection is open and ready to communicate.
+    case open = 1
+    /// The connection is in the process of closing.
+    case closing = 2
+    /// The connection is closed or couldn't be opened.
+    case closed = 3
+    fileprivate var isClosed : Bool {
+        switch self {
+        case .closing, .closed:
+            return true
+        default:
+            return false
+        }
+    }
+    /// Returns a string that represents the ReadyState value.
+    var description : String {
+        switch self {
+        case .connecting: return "Connecting"
+        case .open: return "Open"
+        case .closing: return "Closing"
+        case .closed: return "Closed"
+        }
+    }
+}
+
+private let defaultMaxWindowBits = 15
+/// The WebSocketCompression struct is used by the compression property and manages the compression options for the WebSocket connection.
+ struct WebSocketCompression {
+    /// Used to accept compressed messages from the server. Default is true.
+    var on = false
+    /// request no context takeover.
+    var noContextTakeover = false
+    /// request max window bits.
+    var maxWindowBits = defaultMaxWindowBits
+}
+
+/// The WebSocketService options are used by the services property and manages the underlying socket services.
+ struct WebSocketService :  OptionSet {
+    typealias RawValue = UInt
+    var value: UInt = 0
+    init(_ value: UInt) { self.value = value }
+    init(rawValue value: UInt) { self.value = value }
+    init(nilLiteral: ()) { self.value = 0 }
+    static var allZeros: WebSocketService { return self.init(0) }
+    static func fromMask(_ raw: UInt) -> WebSocketService { return self.init(raw) }
+    var rawValue: UInt { return self.value }
+    /// No services.
+    static var None: WebSocketService { return self.init(0) }
+    /// Allow socket to handle VoIP.
+    static var VoIP: WebSocketService { return self.init(1 << 0) }
+    /// Allow socket to handle video.
+    static var Video: WebSocketService { return self.init(1 << 1) }
+    /// Allow socket to run in background.
+    static var Background: WebSocketService { return self.init(1 << 2) }
+    /// Allow socket to handle voice.
+    static var Voice: WebSocketService { return self.init(1 << 3) }
+}
+
+private let atEndDetails = "streamStatus.atEnd"
+private let timeoutDetails = "The operation couldn’t be completed. Operation timed out"
+private let timeoutDuration : CFTimeInterval = 30
+
+enum WebSocketError : Error, CustomStringConvertible {
+    case memory
+    case needMoreInput
+    case invalidHeader
+    case invalidAddress
+    case network(String)
+    case libraryError(String)
+    case payloadError(String)
+    case protocolError(String)
+    case invalidResponse(String)
+    case invalidCompressionOptions(String)
+    var description : String {
+        switch self {
+        case .memory: return "Memory"
+        case .needMoreInput: return "NeedMoreInput"
+        case .invalidAddress: return "InvalidAddress"
+        case .invalidHeader: return "InvalidHeader"
+        case let .invalidResponse(details): return "InvalidResponse(\(details))"
+        case let .invalidCompressionOptions(details): return "InvalidCompressionOptions(\(details))"
+        case let .libraryError(details): return "LibraryError(\(details))"
+        case let .protocolError(details): return "ProtocolError(\(details))"
+        case let .payloadError(details): return "PayloadError(\(details))"
+        case let .network(details): return "Network(\(details))"
+        }
+    }
+    var details : String {
+        switch self {
+        case .invalidResponse(let details): return details
+        case .invalidCompressionOptions(let details): return details
+        case .libraryError(let details): return details
+        case .protocolError(let details): return details
+        case .payloadError(let details): return details
+        case .network(let details): return details
+        default: return ""
+        }
+    }
+}
+
+private class UTF8 {
+    var text : String = ""
+    var count : UInt32 = 0          // number of bytes
+    var procd : UInt32 = 0          // number of bytes processed
+    var codepoint : UInt32 = 0      // the actual codepoint
+    var bcount = 0
+    init() { text = "" }
+    func append(_ byte : UInt8) throws {
+        if count == 0 {
+            if byte <= 0x7F {
+                text.append(String(UnicodeScalar(byte)))
+                return
+            }
+            if byte == 0xC0 || byte == 0xC1 {
+                throw WebSocketError.payloadError("invalid codepoint: invalid byte")
+            }
+            if byte >> 5 & 0x7 == 0x6 {
+                count = 2
+            } else if byte >> 4 & 0xF == 0xE {
+                count = 3
+            } else if byte >> 3 & 0x1F == 0x1E {
+                count = 4
+            } else {
+                throw WebSocketError.payloadError("invalid codepoint: frames")
+            }
+            procd = 1
+            codepoint = (UInt32(byte) & (0xFF >> count)) << ((count-1) * 6)
+            return
+        }
+        if byte >> 6 & 0x3 != 0x2 {
+            throw WebSocketError.payloadError("invalid codepoint: signature")
+        }
+        codepoint += UInt32(byte & 0x3F) << ((count-procd-1) * 6)
+        if codepoint > 0x10FFFF || (codepoint >= 0xD800 && codepoint <= 0xDFFF) {
+            throw WebSocketError.payloadError("invalid codepoint: out of bounds")
+        }
+        procd += 1
+        if procd == count {
+            if codepoint <= 0x7FF && count > 2 {
+                throw WebSocketError.payloadError("invalid codepoint: overlong")
+            }
+            if codepoint <= 0xFFFF && count > 3 {
+                throw WebSocketError.payloadError("invalid codepoint: overlong")
+            }
+            procd = 0
+            count = 0
+            text.append(String.init(describing: UnicodeScalar(codepoint)!))
+        }
+        return
+    }
+    func append(_ bytes : UnsafePointer<UInt8>, length : Int) throws {
+        if length == 0 {
+            return
+        }
+        if count == 0 {
+            var ascii = true
+            for i in 0 ..< length {
+                if bytes[i] > 0x7F {
+                    ascii = false
+                    break
+                }
+            }
+            if ascii {
+                text += NSString(bytes: bytes, length: length, encoding: String.Encoding.ascii.rawValue)! as String
+                bcount += length
+                return
+            }
+        }
+        for i in 0 ..< length {
+            try append(bytes[i])
+        }
+        bcount += length
+    }
+    var completed : Bool {
+        return count == 0
+    }
+    static func bytes(_ string : String) -> [UInt8]{
+        let data = string.data(using: String.Encoding.utf8)!
+        return [UInt8](UnsafeBufferPointer<UInt8>(start: (data as NSData).bytes.bindMemory(to: UInt8.self, capacity: data.count), count: data.count))
+    }
+    static func string(_ bytes : [UInt8]) -> String{
+        if let str = NSString(bytes: bytes, length: bytes.count, encoding: String.Encoding.utf8.rawValue) {
+            return str as String
+        }
+        return ""
+    }
+}
+
+private class Frame {
+    var inflate = false
+    var code = OpCode.continue
+    var utf8 = UTF8()
+    var payload = Payload()
+    var statusCode = UInt16(0)
+    var finished = true
+    static func makeClose(_ statusCode: UInt16, reason: String) -> Frame {
+        let f = Frame()
+        f.code = .close
+        f.statusCode = statusCode
+        f.utf8.text = reason
+        return f
+    }
+    func copy() -> Frame {
+        let f = Frame()
+        f.code = code
+        f.utf8.text = utf8.text
+        f.payload.buffer = payload.buffer
+        f.statusCode = statusCode
+        f.finished = finished
+        f.inflate = inflate
+        return f
+    }
+}
+
+private class Delegate : NSObject, StreamDelegate {
+    @objc func stream(_ aStream: Stream, handle eventCode: Stream.Event){
+        manager.signal()
+    }
+}
+
+
+@_silgen_name("zlibVersion") private func zlibVersion() -> OpaquePointer
+@_silgen_name("deflateInit2_") private func deflateInit2(_ strm : UnsafeMutableRawPointer, level : CInt, method : CInt, windowBits : CInt, memLevel : CInt, strategy : CInt, version : OpaquePointer, stream_size : CInt) -> CInt
+@_silgen_name("deflateInit_") private func deflateInit(_ strm : UnsafeMutableRawPointer, level : CInt, version : OpaquePointer, stream_size : CInt) -> CInt
+@_silgen_name("deflateEnd") private func deflateEnd(_ strm : UnsafeMutableRawPointer) -> CInt
+@_silgen_name("deflate") private func deflate(_ strm : UnsafeMutableRawPointer, flush : CInt) -> CInt
+@_silgen_name("inflateInit2_") private func inflateInit2(_ strm : UnsafeMutableRawPointer, windowBits : CInt, version : OpaquePointer, stream_size : CInt) -> CInt
+@_silgen_name("inflateInit_") private func inflateInit(_ strm : UnsafeMutableRawPointer, version : OpaquePointer, stream_size : CInt) -> CInt
+@_silgen_name("inflate") private func inflateG(_ strm : UnsafeMutableRawPointer, flush : CInt) -> CInt
+@_silgen_name("inflateEnd") private func inflateEndG(_ strm : UnsafeMutableRawPointer) -> CInt
+
+private func zerror(_ res : CInt) -> Error? {
+    var err = ""
+    switch res {
+    case 0: return nil
+    case 1: err = "stream end"
+    case 2: err = "need dict"
+    case -1: err = "errno"
+    case -2: err = "stream error"
+    case -3: err = "data error"
+    case -4: err = "mem error"
+    case -5: err = "buf error"
+    case -6: err = "version error"
+    default: err = "undefined error"
+    }
+    return WebSocketError.payloadError("zlib: \(err): \(res)")
+}
+
+private struct z_stream {
+    var next_in : UnsafePointer<UInt8>? = nil
+    var avail_in : CUnsignedInt = 0
+    var total_in : CUnsignedLong = 0
+
+    var next_out : UnsafeMutablePointer<UInt8>? = nil
+    var avail_out : CUnsignedInt = 0
+    var total_out : CUnsignedLong = 0
+
+    var msg : UnsafePointer<CChar>? = nil
+    var state : OpaquePointer? = nil
+
+    var zalloc : OpaquePointer? = nil
+    var zfree : OpaquePointer? = nil
+    var opaque : OpaquePointer? = nil
+
+    var data_type : CInt = 0
+    var adler : CUnsignedLong = 0
+    var reserved : CUnsignedLong = 0
+}
+
+private class Inflater {
+    var windowBits = 0
+    var strm = z_stream()
+    var tInput = [[UInt8]]()
+    var inflateEnd : [UInt8] = [0x00, 0x00, 0xFF, 0xFF]
+    var bufferSize = windowBufferSize
+    var buffer = malloc(windowBufferSize)
+    init?(windowBits : Int){
+        if buffer == nil {
+            return nil
+        }
+        self.windowBits = windowBits
+        let ret = inflateInit2(&strm, windowBits: -CInt(windowBits), version: zlibVersion(), stream_size: CInt(MemoryLayout<z_stream>.size))
+        if ret != 0 {
+            return nil
+        }
+    }
+    deinit{
+        _ = inflateEndG(&strm)
+        free(buffer)
+    }
+    func inflate(_ bufin : UnsafePointer<UInt8>, length : Int, final : Bool) throws -> (p : UnsafeMutablePointer<UInt8>, n : Int){
+        var buf = buffer
+        var bufsiz = bufferSize
+        var buflen = 0
+        for i in 0 ..< 2{
+            if i == 0 {
+                strm.avail_in = CUnsignedInt(length)
+                strm.next_in = UnsafePointer<UInt8>(bufin)
+            } else {
+                if !final {
+                    break
+                }
+                strm.avail_in = CUnsignedInt(inflateEnd.count)
+                strm.next_in = UnsafePointer<UInt8>(inflateEnd)
+            }
+            while true {
+                strm.avail_out = CUnsignedInt(bufsiz)
+                strm.next_out = buf?.assumingMemoryBound(to: UInt8.self)
+                _ = inflateG(&strm, flush: 0)
+                let have = bufsiz - Int(strm.avail_out)
+                bufsiz -= have
+                buflen += have
+                if strm.avail_out != 0{
+                    break
+                }
+                if bufsiz == 0 {
+                    bufferSize *= 2
+                    let nbuf = realloc(buffer, bufferSize)
+                    if nbuf == nil {
+                        throw WebSocketError.payloadError("memory")
+                    }
+                    buffer = nbuf
+                    buf = buffer?.advanced(by: Int(buflen))
+                    bufsiz = bufferSize - buflen
+                }
+            }
+        }
+        return (buffer!.assumingMemoryBound(to: UInt8.self), buflen)
+    }
+}
+
+private class Deflater {
+    var windowBits = 0
+    var memLevel = 0
+    var strm = z_stream()
+    var bufferSize = windowBufferSize
+    var buffer = malloc(windowBufferSize)
+    init?(windowBits : Int, memLevel : Int){
+        if buffer == nil {
+            return nil
+        }
+        self.windowBits = windowBits
+        self.memLevel = memLevel
+        let ret = deflateInit2(&strm, level: 6, method: 8, windowBits: -CInt(windowBits), memLevel: CInt(memLevel), strategy: 0, version: zlibVersion(), stream_size: CInt(MemoryLayout<z_stream>.size))
+        if ret != 0 {
+            return nil
+        }
+    }
+    deinit{
+        _ = deflateEnd(&strm)
+        free(buffer)
+    }
+    /*func deflate(_ bufin : UnsafePointer<UInt8>, length : Int, final : Bool) -> (p : UnsafeMutablePointer<UInt8>, n : Int, err : NSError?){
+        return (nil, 0, nil)
+    }*/
+}
+
+/// WebSocketDelegate is an Objective-C alternative to WebSocketEvents and is used to delegate the events for the WebSocket connection.
+@objc  protocol WebSocketDelegate {
+    /// A function to be called when the WebSocket connection's readyState changes to .Open; this indicates that the connection is ready to send and receive data.
+    func webSocketOpen()
+    /// A function to be called when the WebSocket connection's readyState changes to .Closed.
+    func webSocketClose(_ code: Int, reason: String, wasClean: Bool)
+    /// A function to be called when an error occurs.
+    func webSocketError(_ error: NSError)
+    /// A function to be called when a message (string) is received from the server.
+    @objc optional func webSocketMessageText(_ text: String)
+    /// A function to be called when a message (binary) is received from the server.
+    @objc optional func webSocketMessageData(_ data: Data)
+    /// A function to be called when a pong is received from the server.
+    @objc optional func webSocketPong()
+    /// A function to be called when the WebSocket process has ended; this event is guarenteed to be called once and can be used as an alternative to the "close" or "error" events.
+    @objc optional func webSocketEnd(_ code: Int, reason: String, wasClean: Bool, error: NSError?)
+}
+
+/// WebSocket objects are bidirectional network streams that communicate over HTTP. RFC 6455.
+private class InnerWebSocket: Hashable {
+    var id : Int
+    var mutex = pthread_mutex_t()
+    let request : URLRequest!
+    let subProtocols : [String]!
+    var frames : [Frame] = []
+    var delegate : Delegate
+    var inflater : Inflater!
+    var deflater : Deflater!
+    var outputBytes : UnsafeMutablePointer<UInt8>?
+    var outputBytesSize : Int = 0
+    var outputBytesStart : Int = 0
+    var outputBytesLength : Int = 0
+    var inputBytes : UnsafeMutablePointer<UInt8>?
+    var inputBytesSize : Int = 0
+    var inputBytesStart : Int = 0
+    var inputBytesLength : Int = 0
+    var createdAt = CFAbsoluteTimeGetCurrent()
+    var connectionTimeout = false
+    var eclose : ()->() = {}
+    var _eventQueue : DispatchQueue? = DispatchQueue.main
+    var _subProtocol = ""
+    var _compression = WebSocketCompression()
+    var _allowSelfSignedSSL = false
+    var _services = WebSocketService.None
+    var _event = WebSocketEvents()
+    var _eventDelegate: WebSocketDelegate?
+    var _binaryType = WebSocketBinaryType.uInt8Array
+    var _readyState = WebSocketReadyState.connecting
+    var _networkTimeout = TimeInterval(-1)
+
+
+    var url : String {
+        return request.url!.description
+    }
+    var subProtocol : String {
+        get { return privateSubProtocol }
+    }
+    var privateSubProtocol : String {
+        get { lock(); defer { unlock() }; return _subProtocol }
+        set { lock(); defer { unlock() }; _subProtocol = newValue }
+    }
+    var compression : WebSocketCompression {
+        get { lock(); defer { unlock() }; return _compression }
+        set { lock(); defer { unlock() }; _compression = newValue }
+    }
+    var allowSelfSignedSSL : Bool {
+        get { lock(); defer { unlock() }; return _allowSelfSignedSSL }
+        set { lock(); defer { unlock() }; _allowSelfSignedSSL = newValue }
+    }
+    var services : WebSocketService {
+        get { lock(); defer { unlock() }; return _services }
+        set { lock(); defer { unlock() }; _services = newValue }
+    }
+    var event : WebSocketEvents {
+        get { lock(); defer { unlock() }; return _event }
+        set { lock(); defer { unlock() }; _event = newValue }
+    }
+    var eventDelegate : WebSocketDelegate? {
+        get { lock(); defer { unlock() }; return _eventDelegate }
+        set { lock(); defer { unlock() }; _eventDelegate = newValue }
+    }
+    var eventQueue : DispatchQueue? {
+        get { lock(); defer { unlock() }; return _eventQueue; }
+        set { lock(); defer { unlock() }; _eventQueue = newValue }
+    }
+    var binaryType : WebSocketBinaryType {
+        get { lock(); defer { unlock() }; return _binaryType }
+        set { lock(); defer { unlock() }; _binaryType = newValue }
+    }
+    var readyState : WebSocketReadyState {
+        get { return privateReadyState }
+    }
+    var privateReadyState : WebSocketReadyState {
+        get { lock(); defer { unlock() }; return _readyState }
+        set { lock(); defer { unlock() }; _readyState = newValue }
+    }
+
+    func copyOpen(_ request: URLRequest, subProtocols : [String] = []) -> InnerWebSocket{
+        let ws = InnerWebSocket(request: request, subProtocols: subProtocols, stub: false)
+        ws.eclose = eclose
+        ws.compression = compression
+        ws.allowSelfSignedSSL = allowSelfSignedSSL
+        ws.services = services
+        ws.event = event
+        ws.eventQueue = eventQueue
+        ws.binaryType = binaryType
+        return ws
+    }
+
+    var hashValue: Int { return id }
+
+    func hash(into hasher: inout Hasher) {
+        hasher.combine(id)
+    }
+
+    init(request: URLRequest, subProtocols : [String] = [], stub : Bool = false){
+        pthread_mutex_init(&mutex, nil)
+        self.id = manager.nextId()
+        self.request = request
+        self.subProtocols = subProtocols
+        self.outputBytes = UnsafeMutablePointer<UInt8>.allocate(capacity: windowBufferSize)
+        self.outputBytesSize = windowBufferSize
+        self.inputBytes = UnsafeMutablePointer<UInt8>.allocate(capacity: windowBufferSize)
+        self.inputBytesSize = windowBufferSize
+        self.delegate = Delegate()
+        if stub{
+            manager.queue.asyncAfter(deadline: DispatchTime.now() + Double(0) / Double(NSEC_PER_SEC)){
+                _ = self
+            }
+        } else {
+            manager.queue.asyncAfter(deadline: DispatchTime.now() + Double(0) / Double(NSEC_PER_SEC)){
+                manager.add(self)
+            }
+        }
+    }
+    deinit{
+        if outputBytes != nil {
+            free(outputBytes)
+        }
+        if inputBytes != nil {
+            free(inputBytes)
+        }
+        pthread_mutex_init(&mutex, nil)
+    }
+    @inline(__always) fileprivate func lock(){
+        pthread_mutex_lock(&mutex)
+    }
+    @inline(__always) fileprivate func unlock(){
+        pthread_mutex_unlock(&mutex)
+    }
+
+    fileprivate var dirty : Bool {
+        lock()
+        defer { unlock() }
+        if exit {
+            return false
+        }
+        if connectionTimeout {
+            return true
+        }
+        if stage != .readResponse && stage != .handleFrames {
+            return true
+        }
+        if rd.streamStatus == .opening && wr.streamStatus == .opening {
+            return false;
+        }
+        if rd.streamStatus != .open || wr.streamStatus != .open {
+            return true
+        }
+        if rd.streamError != nil || wr.streamError != nil {
+            return true
+        }
+        if rd.hasBytesAvailable || frames.count > 0 || inputBytesLength > 0 {
+            return true
+        }
+        if outputBytesLength > 0 && wr.hasSpaceAvailable{
+            return true
+        }
+        return false
+    }
+    enum Stage : Int {
+        case openConn
+        case readResponse
+        case handleFrames
+        case closeConn
+        case end
+    }
+    var stage = Stage.openConn
+    var rd : InputStream!
+    var wr : OutputStream!
+    var atEnd = false
+    var closeCode = UInt16(0)
+    var closeReason = ""
+    var closeClean = false
+    var closeFinal = false
+    var finalError : Error?
+    var exit = false
+    var more = true
+    func step(){
+        if exit {
+            return
+        }
+        do {
+            try stepBuffers(more)
+            try stepStreamErrors()
+            more = false
+            switch stage {
+            case .openConn:
+                try openConn()
+                stage = .readResponse
+            case .readResponse:
+                try readResponse()
+                privateReadyState = .open
+                fire {
+                    self.event.open()
+                    self.eventDelegate?.webSocketOpen()
+                }
+                stage = .handleFrames
+            case .handleFrames:
+                try stepOutputFrames()
+                if closeFinal {
+                    privateReadyState = .closing
+                    stage = .closeConn
+                    return
+                }
+                let frame = try readFrame()
+                switch frame.code {
+                case .text:
+                    fire {
+                        self.event.message(frame.utf8.text)
+                        self.eventDelegate?.webSocketMessageText?(frame.utf8.text)
+                    }
+                case .binary:
+                    fire {
+                        switch self.binaryType {
+                        case .uInt8Array:
+                            self.event.message(frame.payload.array)
+//                            let data = Data(bytes: frame.payload.array, count: frame.payload.array.count)
+//                            print(data)
+                            self.eventDelegate?.webSocketMessageData?(frame.payload.nsdata)
+                        case .nsData:
+                            self.event.message(frame.payload.nsdata)
+                            // The WebSocketDelegate is necessary to add Objective-C compability and it is only possible to send binary data with NSData.
+                            self.eventDelegate?.webSocketMessageData?(frame.payload.nsdata)
+                        case .uInt8UnsafeBufferPointer:
+                            self.event.message(frame.payload.buffer)
+                        }
+                    }
+                case .ping:
+                    let nframe = frame.copy()
+                    nframe.code = .pong
+                    lock()
+                    frames += [nframe]
+                    unlock()
+                case .pong:
+                    fire {
+                        switch self.binaryType {
+                        case .uInt8Array:
+                            self.event.pong(frame.payload.array)
+                        case .nsData:
+                            self.event.pong(frame.payload.nsdata)
+                        case .uInt8UnsafeBufferPointer:
+                            self.event.pong(frame.payload.buffer)
+                        }
+                        self.eventDelegate?.webSocketPong?()
+                    }
+                case .close:
+                    lock()
+                    frames += [frame]
+                    unlock()
+                default:
+                    break
+                }
+            case .closeConn:
+                if let error = finalError {
+                    self.event.error(error)
+                    self.eventDelegate?.webSocketError(error as NSError)
+                }
+                privateReadyState = .closed
+                if rd != nil {
+                    closeConn()
+                    fire {
+                        self.eclose()
+                        self.event.close(Int(self.closeCode), self.closeReason, self.closeFinal)
+                        self.eventDelegate?.webSocketClose(Int(self.closeCode), reason: self.closeReason, wasClean: self.closeFinal)
+                    }
+                }
+                stage = .end
+            case .end:
+                fire {
+                    self.event.end(Int(self.closeCode), self.closeReason, self.closeClean, self.finalError)
+                    self.eventDelegate?.webSocketEnd?(Int(self.closeCode), reason: self.closeReason, wasClean: self.closeClean, error: self.finalError as NSError?)
+                }
+                exit = true
+                manager.remove(self)
+            }
+        } catch WebSocketError.needMoreInput {
+            more = true
+        } catch {
+            if finalError != nil {
+                return
+            }
+            finalError = error
+            if stage == .openConn || stage == .readResponse {
+                stage = .closeConn
+            } else {
+                var frame : Frame?
+                if let error = error as? WebSocketError{
+                    switch error {
+                    case .network(let details):
+                        if details == atEndDetails{
+                            stage = .closeConn
+                            frame = Frame.makeClose(1006, reason: "Abnormal Closure")
+                            atEnd = true
+                            finalError = nil
+                        }
+                    case .protocolError:
+                        frame = Frame.makeClose(1002, reason: "Protocol error")
+                    case .payloadError:
+                        frame = Frame.makeClose(1007, reason: "Payload error")
+                    default:
+                        break
+                    }
+                }
+                if frame == nil {
+                    frame = Frame.makeClose(1006, reason: "Abnormal Closure")
+                }
+                if let frame = frame {
+                    if frame.statusCode == 1007 {
+                        self.lock()
+                        self.frames = [frame]
+                        self.unlock()
+                        manager.signal()
+                    } else {
+                        manager.queue.asyncAfter(deadline: DispatchTime.now() + Double(0) / Double(NSEC_PER_SEC)){
+                            self.lock()
+                            self.frames += [frame]
+                            self.unlock()
+                            manager.signal()
+                        }
+                    }
+                }
+            }
+        }
+    }
+    func stepBuffers(_ more: Bool) throws {
+        if rd != nil {
+            if stage != .closeConn && rd.streamStatus == Stream.Status.atEnd  {
+                if atEnd {
+                    return;
+                }
+                throw WebSocketError.network(atEndDetails)
+            }
+            if more {
+                while rd.hasBytesAvailable {
+                    var size = inputBytesSize
+                    while size-(inputBytesStart+inputBytesLength) < windowBufferSize {
+                        size *= 2
+                    }
+                    if size > inputBytesSize {
+                        let ptr = realloc(inputBytes, size)
+                        if ptr == nil {
+                            throw WebSocketError.memory
+                        }
+                        inputBytes = ptr?.assumingMemoryBound(to: UInt8.self)
+                        inputBytesSize = size
+                    }
+                    let n = rd.read(inputBytes!+inputBytesStart+inputBytesLength, maxLength: inputBytesSize-inputBytesStart-inputBytesLength)
+                    if n > 0 {
+                        inputBytesLength += n
+                    }
+                }
+            }
+        }
+        if wr != nil && wr.hasSpaceAvailable && outputBytesLength > 0 {
+            let n = wr.write(outputBytes!+outputBytesStart, maxLength: outputBytesLength)
+            if n > 0 {
+                outputBytesLength -= n
+                if outputBytesLength == 0 {
+                    outputBytesStart = 0
+                } else {
+                    outputBytesStart += n
+                }
+            }
+        }
+    }
+    func stepStreamErrors() throws {
+        if finalError == nil {
+            if connectionTimeout {
+                throw WebSocketError.network(timeoutDetails)
+            }
+            if let error = rd?.streamError {
+                throw WebSocketError.network(error.localizedDescription)
+            }
+            if let error = wr?.streamError {
+                throw WebSocketError.network(error.localizedDescription)
+            }
+        }
+    }
+    func stepOutputFrames() throws {
+        lock()
+        defer {
+            frames = []
+            unlock()
+        }
+        if !closeFinal {
+            for frame in frames {
+                try writeFrame(frame)
+                if frame.code == .close {
+                    closeCode = frame.statusCode
+                    closeReason = frame.utf8.text
+                    closeFinal = true
+                    return
+                }
+            }
+        }
+    }
+    @inline(__always) func fire(_ block: ()->()){
+        if let queue = eventQueue {
+            queue.sync {
+                block()
+            }
+        } else {
+            block()
+        }
+    }
+
+    var readStateSaved = false
+    var readStateFrame : Frame?
+    var readStateFinished = false
+    var leaderFrame : Frame?
+    func readFrame() throws -> Frame {
+        var frame : Frame
+        var finished : Bool
+        if !readStateSaved {
+            if leaderFrame != nil {
+                frame = leaderFrame!
+                finished = false
+                leaderFrame = nil
+            } else {
+                frame = try readFrameFragment(nil)
+                finished = frame.finished
+            }
+            if frame.code == .continue{
+                throw WebSocketError.protocolError("leader frame cannot be a continue frame")
+            }
+            if !finished {
+                readStateSaved = true
+                readStateFrame = frame
+                readStateFinished = finished
+                throw WebSocketError.needMoreInput
+            }
+        } else {
+            frame = readStateFrame!
+            finished = readStateFinished
+            if !finished {
+                let cf = try readFrameFragment(frame)
+                finished = cf.finished
+                if cf.code != .continue {
+                    if !cf.code.isControl {
+                        throw WebSocketError.protocolError("only ping frames can be interlaced with fragments")
+                    }
+                    leaderFrame = frame
+                    return cf
+                }
+                if !finished {
+                    readStateSaved = true
+                    readStateFrame = frame
+                    readStateFinished = finished
+                    throw WebSocketError.needMoreInput
+                }
+            }
+        }
+        if !frame.utf8.completed {
+            throw WebSocketError.payloadError("incomplete utf8")
+        }
+        readStateSaved = false
+        readStateFrame = nil
+        readStateFinished = false
+        return frame
+    }
+
+    func closeConn() {
+        rd.remove(from: RunLoop.main, forMode: RunLoop.Mode.default)
+        wr.remove(from: RunLoop.main, forMode: RunLoop.Mode.default)
+        rd.delegate = nil
+        wr.delegate = nil
+        rd.close()
+        wr.close()
+    }
+
+    func openConn() throws {
+        var req = request!
+        req.setValue("websocket", forHTTPHeaderField: "Upgrade")
+        req.setValue("Upgrade", forHTTPHeaderField: "Connection")
+        if req.value(forHTTPHeaderField: "User-Agent") == nil {
+                req.setValue("SwiftWebSocket", forHTTPHeaderField: "User-Agent")
+        }
+        req.setValue("13", forHTTPHeaderField: "Sec-WebSocket-Version")
+
+        if req.url == nil || req.url!.host == nil{
+            throw WebSocketError.invalidAddress
+        }
+        if req.url!.port == nil || req.url!.port! == 80 || req.url!.port! == 443 {
+            req.setValue(req.url!.host!, forHTTPHeaderField: "Host")
+        } else {
+            req.setValue("\(req.url!.host!):\(req.url!.port!)", forHTTPHeaderField: "Host")
+        }
+        let origin = req.value(forHTTPHeaderField: "Origin")
+        if origin == nil || origin! == ""{
+            req.setValue(req.url!.absoluteString, forHTTPHeaderField: "Origin")
+        }
+        if subProtocols.count > 0 {
+            req.setValue(subProtocols.joined(separator: ","), forHTTPHeaderField: "Sec-WebSocket-Protocol")
+        }
+        if req.url!.scheme != "wss" && req.url!.scheme != "ws" {
+            throw WebSocketError.invalidAddress
+        }
+        if compression.on {
+            var val = "permessage-deflate"
+            if compression.noContextTakeover {
+                val += "; client_no_context_takeover; server_no_context_takeover"
+            }
+            val += "; client_max_window_bits"
+            if compression.maxWindowBits != 0 {
+                val += "; server_max_window_bits=\(compression.maxWindowBits)"
+            }
+            req.setValue(val, forHTTPHeaderField: "Sec-WebSocket-Extensions")
+        }
+               
+               let security: TCPConnSecurity
+               let port : Int
+               if req.url!.scheme == "wss" {
+                       port = req.url!.port ?? 443
+                       security = .negoticatedSSL
+               } else {
+                       port = req.url!.port ?? 80
+                       security = .none
+               }
+
+               var path = CFURLCopyPath(req.url! as CFURL) as String
+        if path == "" {
+            path = "/"
+        }
+        if let q = req.url!.query {
+            if q != "" {
+                path += "?" + q
+            }
+        }
+        var reqs = "GET \(path) HTTP/1.1\r\n"
+        for key in req.allHTTPHeaderFields!.keys {
+            if let val = req.value(forHTTPHeaderField: key) {
+                reqs += "\(key): \(val)\r\n"
+            }
+        }
+        var keyb = [UInt32](repeating: 0, count: 4)
+        for i in 0 ..< 4 {
+            keyb[i] = arc4random()
+        }
+        let rkey = Data(bytes: UnsafePointer(keyb), count: 16).base64EncodedString(options: NSData.Base64EncodingOptions(rawValue: 0))
+        reqs += "Sec-WebSocket-Key: \(rkey)\r\n"
+        reqs += "\r\n"
+        var header = [UInt8]()
+        for b in reqs.utf8 {
+            header += [b]
+        }
+        let addr = ["\(req.url!.host!)", "\(port)"]
+        if addr.count != 2 || Int(addr[1]) == nil {
+            throw WebSocketError.invalidAddress
+        }
+
+        var (rdo, wro) : (InputStream?, OutputStream?)
+        var readStream:  Unmanaged<CFReadStream>?
+        var writeStream: Unmanaged<CFWriteStream>?
+        CFStreamCreatePairWithSocketToHost(nil, addr[0] as CFString, UInt32(Int(addr[1])!), &readStream, &writeStream);
+        rdo = readStream!.takeRetainedValue()
+        wro = writeStream!.takeRetainedValue()
+        (rd, wr) = (rdo!, wro!)
+        rd.setProperty(security.level, forKey: Stream.PropertyKey.socketSecurityLevelKey)
+               wr.setProperty(security.level, forKey: Stream.PropertyKey.socketSecurityLevelKey)
+        if services.contains(.VoIP) {
+            rd.setProperty(StreamNetworkServiceTypeValue.voIP.rawValue, forKey: Stream.PropertyKey.networkServiceType)
+            wr.setProperty(StreamNetworkServiceTypeValue.voIP.rawValue, forKey: Stream.PropertyKey.networkServiceType)
+        }
+        if services.contains(.Video) {
+            rd.setProperty(StreamNetworkServiceTypeValue.video.rawValue, forKey: Stream.PropertyKey.networkServiceType)
+            wr.setProperty(StreamNetworkServiceTypeValue.video.rawValue, forKey: Stream.PropertyKey.networkServiceType)
+        }
+        if services.contains(.Background) {
+            rd.setProperty(StreamNetworkServiceTypeValue.background.rawValue, forKey: Stream.PropertyKey.networkServiceType)
+            wr.setProperty(StreamNetworkServiceTypeValue.background.rawValue, forKey: Stream.PropertyKey.networkServiceType)
+        }
+        if services.contains(.Voice) {
+            rd.setProperty(StreamNetworkServiceTypeValue.voice.rawValue, forKey: Stream.PropertyKey.networkServiceType)
+            wr.setProperty(StreamNetworkServiceTypeValue.voice.rawValue, forKey: Stream.PropertyKey.networkServiceType)
+        }
+        if allowSelfSignedSSL {
+            let prop: Dictionary<NSObject,NSObject> = [kCFStreamSSLPeerName: kCFNull, kCFStreamSSLValidatesCertificateChain: NSNumber(value: false)]
+            rd.setProperty(prop, forKey: Stream.PropertyKey(rawValue: kCFStreamPropertySSLSettings as String as String))
+            wr.setProperty(prop, forKey: Stream.PropertyKey(rawValue: kCFStreamPropertySSLSettings as String as String))
+        }
+        rd.delegate = delegate
+        wr.delegate = delegate
+        rd.schedule(in: RunLoop.main, forMode: RunLoop.Mode.default)
+        wr.schedule(in: RunLoop.main, forMode: RunLoop.Mode.default)
+        rd.open()
+        wr.open()
+        try write(header, length: header.count)
+    }
+
+    func write(_ bytes: UnsafePointer<UInt8>, length: Int) throws {
+        if outputBytesStart+outputBytesLength+length > outputBytesSize {
+            var size = outputBytesSize
+            while outputBytesStart+outputBytesLength+length > size {
+                size *= 2
+            }
+            let ptr = realloc(outputBytes, size)
+            if ptr == nil {
+                throw WebSocketError.memory
+            }
+            outputBytes = ptr?.assumingMemoryBound(to: UInt8.self)
+            outputBytesSize = size
+        }
+        memcpy(outputBytes!+outputBytesStart+outputBytesLength, bytes, length)
+        outputBytesLength += length
+    }
+
+    func readResponse() throws {
+        let end : [UInt8] = [ 0x0D, 0x0A, 0x0D, 0x0A ]
+        let ptr = memmem(inputBytes!+inputBytesStart, inputBytesLength, end, 4)
+        if ptr == nil {
+            throw WebSocketError.needMoreInput
+        }
+        let buffer = inputBytes!+inputBytesStart
+        let bufferCount = ptr!.assumingMemoryBound(to: UInt8.self)-(inputBytes!+inputBytesStart)
+        let string = NSString(bytesNoCopy: buffer, length: bufferCount, encoding: String.Encoding.utf8.rawValue, freeWhenDone: false) as String?
+        if string == nil {
+            throw WebSocketError.invalidHeader
+        }
+        let header = string!
+        var needsCompression = false
+        var serverMaxWindowBits = 15
+        let clientMaxWindowBits = 15
+        var key = ""
+        let trim : (String)->(String) = { (text) in return text.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)}
+        let eqval : (String,String)->(String) = { (line, del) in return trim(line.components(separatedBy: del)[1]) }
+        let lines = header.components(separatedBy: "\r\n")
+        for i in 0 ..< lines.count {
+            let line = trim(lines[i])
+            if i == 0  {
+                if !line.hasPrefix("HTTP/1.1 101"){
+                    throw WebSocketError.invalidResponse(line)
+                }
+            } else if line != "" {
+                var value = ""
+                if line.hasPrefix("\t") || line.hasPrefix(" ") {
+                    value = trim(line)
+                } else {
+                    key = ""
+                    if let r = line.range(of: ":") {
+                        key = trim(String(line[..<r.lowerBound]))
+                        value = trim(String(line[r.upperBound...]))
+                    }
+                }
+                
+                switch key.lowercased() {
+                case "sec-websocket-subprotocol":
+                    privateSubProtocol = value
+                case "sec-websocket-extensions":
+                    let parts = value.components(separatedBy: ";")
+                    for p in parts {
+                        let part = trim(p)
+                        if part == "permessage-deflate" {
+                            needsCompression = true
+                        } else if part.hasPrefix("server_max_window_bits="){
+                            if let i = Int(eqval(line, "=")) {
+                                serverMaxWindowBits = i
+                            }
+                        }
+                    }
+                default:
+                    break
+                }
+            }
+        }
+        if needsCompression {
+            if serverMaxWindowBits < 8 || serverMaxWindowBits > 15 {
+                throw WebSocketError.invalidCompressionOptions("server_max_window_bits")
+            }
+            if serverMaxWindowBits < 8 || serverMaxWindowBits > 15 {
+                throw WebSocketError.invalidCompressionOptions("client_max_window_bits")
+            }
+            inflater = Inflater(windowBits: serverMaxWindowBits)
+            if inflater == nil {
+                throw WebSocketError.invalidCompressionOptions("inflater init")
+            }
+            deflater = Deflater(windowBits: clientMaxWindowBits, memLevel: 8)
+            if deflater == nil {
+                throw WebSocketError.invalidCompressionOptions("deflater init")
+            }
+        }
+        inputBytesLength -= bufferCount+4
+        if inputBytesLength == 0 {
+            inputBytesStart = 0
+        } else {
+            inputBytesStart += bufferCount+4
+        }
+    }
+
+    class ByteReader {
+        var start : UnsafePointer<UInt8>
+        var end : UnsafePointer<UInt8>
+        var bytes : UnsafePointer<UInt8>
+        init(bytes: UnsafePointer<UInt8>, length: Int){
+            self.bytes = bytes
+            start = bytes
+            end = bytes+length
+        }
+        func readByte() throws -> UInt8 {
+            if bytes >= end {
+                throw WebSocketError.needMoreInput
+            }
+            let b = bytes.pointee
+            bytes += 1
+            return b
+        }
+        var length : Int {
+            return end - bytes
+        }
+        var position : Int {
+            get {
+                return bytes - start
+            }
+            set {
+                bytes = start + newValue
+            }
+        }
+    }
+
+    var fragStateSaved = false
+    var fragStatePosition = 0
+    var fragStateInflate = false
+    var fragStateLen = 0
+    var fragStateFin = false
+    var fragStateCode = OpCode.continue
+    var fragStateLeaderCode = OpCode.continue
+    var fragStateUTF8 = UTF8()
+    var fragStatePayload = Payload()
+    var fragStateStatusCode = UInt16(0)
+    var fragStateHeaderLen = 0
+    var buffer = [UInt8](repeating: 0, count: windowBufferSize)
+    var reusedPayload = Payload()
+    func readFrameFragment(_ leader : Frame?) throws -> Frame {
+        var inflate : Bool
+        var len : Int
+        var fin = false
+        var code : OpCode
+        var leaderCode : OpCode
+        var utf8 : UTF8
+        var payload : Payload
+        var statusCode : UInt16
+        var headerLen : Int
+        var leader = leader
+
+        let reader = ByteReader(bytes: inputBytes!+inputBytesStart, length: inputBytesLength)
+        if fragStateSaved {
+            // load state
+            reader.position += fragStatePosition
+            inflate = fragStateInflate
+            len = fragStateLen
+            fin = fragStateFin
+            code = fragStateCode
+            leaderCode = fragStateLeaderCode
+            utf8 = fragStateUTF8
+            payload = fragStatePayload
+            statusCode = fragStateStatusCode
+            headerLen = fragStateHeaderLen
+            fragStateSaved = false
+        } else {
+            var b = try reader.readByte()
+            fin = b >> 7 & 0x1 == 0x1
+            let rsv1 = b >> 6 & 0x1 == 0x1
+            let rsv2 = b >> 5 & 0x1 == 0x1
+            let rsv3 = b >> 4 & 0x1 == 0x1
+            if inflater != nil && (rsv1 || (leader != nil && leader!.inflate)) {
+                inflate = true
+            } else if rsv1 || rsv2 || rsv3 {
+                throw WebSocketError.protocolError("invalid extension")
+            } else {
+                inflate = false
+            }
+            code = OpCode.binary
+            if let c = OpCode(rawValue: (b & 0xF)){
+                code = c
+            } else {
+                throw WebSocketError.protocolError("invalid opcode")
+            }
+            if !fin && code.isControl {
+                throw WebSocketError.protocolError("unfinished control frame")
+            }
+            b = try reader.readByte()
+            if b >> 7 & 0x1 == 0x1 {
+                throw WebSocketError.protocolError("server sent masked frame")
+            }
+            var len64 = Int64(b & 0x7F)
+            var bcount = 0
+            if b & 0x7F == 126 {
+                bcount = 2
+            } else if len64 == 127 {
+                bcount = 8
+            }
+            if bcount != 0 {
+                if code.isControl {
+                    throw WebSocketError.protocolError("invalid payload size for control frame")
+                }
+                len64 = 0
+                var i = bcount-1
+                while i >= 0 {
+                    b = try reader.readByte()
+                    len64 += Int64(b) << Int64(i*8)
+                    i -= 1
+                }
+            }
+            len = Int(len64)
+            if code == .continue {
+                if code.isControl {
+                    throw WebSocketError.protocolError("control frame cannot have the 'continue' opcode")
+                }
+                if leader == nil {
+                    throw WebSocketError.protocolError("continue frame is missing it's leader")
+                }
+            }
+            if code.isControl {
+                if leader != nil {
+                    leader = nil
+                }
+                if inflate {
+                    throw WebSocketError.protocolError("control frame cannot be compressed")
+                }
+            }
+            statusCode = 0
+            if leader != nil {
+                leaderCode = leader!.code
+                utf8 = leader!.utf8
+                payload = leader!.payload
+            } else {
+                leaderCode = code
+                utf8 = UTF8()
+                payload = reusedPayload
+                payload.count = 0
+            }
+            if leaderCode == .close {
+                if len == 1 {
+                    throw WebSocketError.protocolError("invalid payload size for close frame")
+                }
+                if len >= 2 {
+                    let b1 = try reader.readByte()
+                    let b2 = try reader.readByte()
+                    statusCode = (UInt16(b1) << 8) + UInt16(b2)
+                    len -= 2
+                    if statusCode < 1000 || statusCode > 4999  || (statusCode >= 1004 && statusCode <= 1006) || (statusCode >= 1012 && statusCode <= 2999) {
+                        throw WebSocketError.protocolError("invalid status code for close frame")
+                    }
+                }
+            }
+            headerLen = reader.position
+        }
+
+        let rlen : Int
+        let rfin : Bool
+        let chopped : Bool
+        if reader.length+reader.position-headerLen < len {
+            rlen = reader.length
+            rfin = false
+            chopped = true
+        } else {
+            rlen = len-reader.position+headerLen
+            rfin = fin
+            chopped = false
+        }
+        let bytes : UnsafeMutablePointer<UInt8>
+        let bytesLen : Int
+        if inflate {
+            (bytes, bytesLen) = try inflater!.inflate(reader.bytes, length: rlen, final: rfin)
+        } else {
+            (bytes, bytesLen) = (UnsafeMutablePointer<UInt8>.init(mutating: reader.bytes), rlen)
+        }
+        reader.bytes += rlen
+
+        if leaderCode == .text || leaderCode == .close {
+            try utf8.append(bytes, length: bytesLen)
+        } else {
+            payload.append(bytes, length: bytesLen)
+        }
+
+        if chopped {
+            // save state
+            fragStateHeaderLen = headerLen
+            fragStateStatusCode = statusCode
+            fragStatePayload = payload
+            fragStateUTF8 = utf8
+            fragStateLeaderCode = leaderCode
+            fragStateCode = code
+            fragStateFin = fin
+            fragStateLen = len
+            fragStateInflate = inflate
+            fragStatePosition = reader.position
+            fragStateSaved = true
+            throw WebSocketError.needMoreInput
+        }
+
+        inputBytesLength -= reader.position
+        if inputBytesLength == 0 {
+            inputBytesStart = 0
+        } else {
+            inputBytesStart += reader.position
+        }
+
+        let f = Frame()
+        (f.code, f.payload, f.utf8, f.statusCode, f.inflate, f.finished) = (code, payload, utf8, statusCode, inflate, fin)
+        return f
+    }
+
+    var head = [UInt8](repeating: 0, count: 0xFF)
+    func writeFrame(_ f : Frame) throws {
+        if !f.finished{
+            throw WebSocketError.libraryError("cannot send unfinished frames")
+        }
+        var hlen = 0
+        let b : UInt8 = 0x80
+        var deflate = false
+        if deflater != nil {
+            if f.code == .binary || f.code == .text {
+                deflate = true
+                // b |= 0x40
+            }
+        }
+        head[hlen] = b | f.code.rawValue
+        hlen += 1
+        var payloadBytes : [UInt8]
+        var payloadLen = 0
+        if f.utf8.text != "" {
+            payloadBytes = UTF8.bytes(f.utf8.text)
+        } else {
+            payloadBytes = f.payload.array
+        }
+        payloadLen += payloadBytes.count
+        if deflate {
+
+        }
+        var usingStatusCode = false
+        if f.statusCode != 0 && payloadLen != 0 {
+            payloadLen += 2
+            usingStatusCode = true
+        }
+        if payloadLen < 126 {
+            head[hlen] = 0x80 | UInt8(payloadLen)
+            hlen += 1
+        } else if payloadLen <= 0xFFFF {
+            head[hlen] = 0x80 | 126
+            hlen += 1
+            var i = 1
+            while i >= 0 {
+                head[hlen] = UInt8((UInt16(payloadLen) >> UInt16(i*8)) & 0xFF)
+                hlen += 1
+                i -= 1
+            }
+        } else {
+            head[hlen] = UInt8((0x1 << 7) + 127)
+            hlen += 1
+            var i = 7
+            while i >= 0 {
+                head[hlen] = UInt8((UInt64(payloadLen) >> UInt64(i*8)) & 0xFF)
+                hlen += 1
+                i -= 1
+            }
+        }
+        let r = arc4random()
+        var maskBytes : [UInt8] = [UInt8(r >> 0 & 0xFF), UInt8(r >> 8 & 0xFF), UInt8(r >> 16 & 0xFF), UInt8(r >> 24 & 0xFF)]
+        for i in 0 ..< 4 {
+            head[hlen] = maskBytes[i]
+            hlen += 1
+        }
+        if payloadLen > 0 {
+            if usingStatusCode {
+                var sc = [UInt8(f.statusCode >> 8 & 0xFF), UInt8(f.statusCode >> 0 & 0xFF)]
+                for i in 0 ..< 2 {
+                    sc[i] ^= maskBytes[i % 4]
+                }
+                head[hlen] = sc[0]
+                hlen += 1
+                head[hlen] = sc[1]
+                hlen += 1
+                for i in 2 ..< payloadLen {
+                    payloadBytes[i-2] ^= maskBytes[i % 4]
+                }
+            } else {
+                for i in 0 ..< payloadLen {
+                    payloadBytes[i] ^= maskBytes[i % 4]
+                }
+            }
+        }
+        try write(head, length: hlen)
+        try write(payloadBytes, length: payloadBytes.count)
+    }
+    func close(_ code : Int = 1000, reason : String = "Normal Closure") {
+        let f = Frame()
+        f.code = .close
+        f.statusCode = UInt16(truncatingIfNeeded: code)
+        f.utf8.text = reason
+        sendFrame(f)
+    }
+    func sendFrame(_ f : Frame) {
+        lock()
+        frames += [f]
+        unlock()
+        manager.signal()
+    }
+    func send(_ message : Any) {
+        let f = Frame()
+        if let message = message as? String {
+            f.code = .text
+            f.utf8.text = message
+        } else if let message = message as? [UInt8] {
+            f.code = .binary
+            f.payload.array = message
+        } else if let message = message as? UnsafeBufferPointer<UInt8> {
+            f.code = .binary
+            f.payload.append(message.baseAddress!, length: message.count)
+        } else if let message = message as? Data {
+            f.code = .binary
+            f.payload.nsdata = message
+        } else {
+            f.code = .text
+            f.utf8.text = "\(message)"
+        }
+        sendFrame(f)
+    }
+    func ping() {
+        let f = Frame()
+        f.code = .ping
+        sendFrame(f)
+    }
+    func ping(_ message : Any){
+        let f = Frame()
+        f.code = .ping
+        if let message = message as? String {
+            f.payload.array = UTF8.bytes(message)
+        } else if let message = message as? [UInt8] {
+            f.payload.array = message
+        } else if let message = message as? UnsafeBufferPointer<UInt8> {
+            f.payload.append(message.baseAddress!, length: message.count)
+        } else if let message = message as? Data {
+            f.payload.nsdata = message
+        } else {
+            f.utf8.text = "\(message)"
+        }
+        sendFrame(f)
+    }
+}
+private func ==(lhs: InnerWebSocket, rhs: InnerWebSocket) -> Bool {
+    return lhs.id == rhs.id
+}
+
+private enum TCPConnSecurity {
+    case none
+    case negoticatedSSL
+       
+       var level: String {
+               switch self {
+               case .none: return StreamSocketSecurityLevel.none.rawValue
+               case .negoticatedSSL: return StreamSocketSecurityLevel.negotiatedSSL.rawValue
+               }
+       }
+}
+
+// Manager class is used to minimize the number of dispatches and cycle through network events
+// using fewers threads. Helps tremendously with lowing system resources when many conncurrent
+// sockets are opened.
+private class Manager {
+    var queue = DispatchQueue(label: "SwiftWebSocketInstance", attributes: [])
+    var once = Int()
+    var mutex = pthread_mutex_t()
+    var cond = pthread_cond_t()
+    var websockets = Set<InnerWebSocket>()
+    var _nextId = 0
+    init(){
+        pthread_mutex_init(&mutex, nil)
+        pthread_cond_init(&cond, nil)
+        DispatchQueue(label: "SwiftWebSocket", attributes: []).async {
+            var wss : [InnerWebSocket] = []
+            while true {
+                var wait = true
+                wss.removeAll()
+                pthread_mutex_lock(&self.mutex)
+                for ws in self.websockets {
+                    wss.append(ws)
+                }
+                for ws in wss {
+                    self.checkForConnectionTimeout(ws)
+                    if ws.dirty {
+                        pthread_mutex_unlock(&self.mutex)
+                        ws.step()
+                        pthread_mutex_lock(&self.mutex)
+                        wait = false
+                    }
+                }
+                if wait {
+                    _ = self.wait(250)
+                }
+                pthread_mutex_unlock(&self.mutex)
+            }
+        }
+    }
+    func checkForConnectionTimeout(_ ws : InnerWebSocket) {
+        if ws.rd != nil && ws.wr != nil && (ws.rd.streamStatus == .opening || ws.wr.streamStatus == .opening) {
+            let age = CFAbsoluteTimeGetCurrent() - ws.createdAt
+            if age >= timeoutDuration {
+                ws.connectionTimeout = true
+            }
+        }
+    }
+    func wait(_ timeInMs : Int) -> Int32 {
+        var ts = timespec()
+        var tv = timeval()
+        gettimeofday(&tv, nil)
+        ts.tv_sec = time(nil) + timeInMs / 1000;
+        let v1 = Int(tv.tv_usec * 1000)
+        let v2 = Int(1000 * 1000 * Int(timeInMs % 1000))
+        ts.tv_nsec = v1 + v2;
+        ts.tv_sec += ts.tv_nsec / (1000 * 1000 * 1000);
+        ts.tv_nsec %= (1000 * 1000 * 1000);
+        return pthread_cond_timedwait(&self.cond, &self.mutex, &ts)
+    }
+    func signal(){
+        pthread_mutex_lock(&mutex)
+        pthread_cond_signal(&cond)
+        pthread_mutex_unlock(&mutex)
+    }
+    func add(_ websocket: InnerWebSocket) {
+        pthread_mutex_lock(&mutex)
+        websockets.insert(websocket)
+        pthread_cond_signal(&cond)
+        pthread_mutex_unlock(&mutex)
+    }
+    func remove(_ websocket: InnerWebSocket) {
+        pthread_mutex_lock(&mutex)
+        websockets.remove(websocket)
+        pthread_cond_signal(&cond)
+        pthread_mutex_unlock(&mutex)
+    }
+    func nextId() -> Int {
+        pthread_mutex_lock(&mutex)
+        defer { pthread_mutex_unlock(&mutex) }
+        _nextId += 1
+        return _nextId
+    }
+}
+
+private let manager = Manager()
+
+/// WebSocket objects are bidirectional network streams that communicate over HTTP. RFC 6455.
+@objcMembers
+class WebSocket: NSObject {
+    fileprivate var ws: InnerWebSocket
+    fileprivate var id = manager.nextId()
+    fileprivate var opened: Bool
+
+     override var hash: Int { return id }
+     override func isEqual(_ other: Any?) -> Bool {
+        guard let other = other as? WebSocket else { return false }
+        return self.id == other.id
+    }
+    
+    /// Create a WebSocket connection to a URL; this should be the URL to which the WebSocket server will respond.
+    convenience init(_ url: String){
+        self.init(request: URLRequest(url: URL(string: url)!), subProtocols: [])
+    }
+    /// Create a WebSocket connection to a URL; this should be the URL to which the WebSocket server will respond.
+    convenience init(url: URL){
+        self.init(request: URLRequest(url: url), subProtocols: [])
+    }
+    /// Create a WebSocket connection to a URL; this should be the URL to which the WebSocket server will respond. Also include a list of protocols.
+    convenience init(_ url: String, subProtocols : [String]){
+        self.init(request: URLRequest(url: URL(string: url)!), subProtocols: subProtocols)
+    }
+    /// Create a WebSocket connection to a URL; this should be the URL to which the WebSocket server will respond. Also include a protocol.
+    convenience init(_ url: String, subProtocol : String){
+        self.init(request: URLRequest(url: URL(string: url)!), subProtocols: [subProtocol])
+    }
+    /// Create a WebSocket connection from an NSURLRequest; Also include a list of protocols.
+    init(request: URLRequest, subProtocols : [String] = []){
+        let hasURL = request.url != nil
+        opened = hasURL
+        ws = InnerWebSocket(request: request, subProtocols: subProtocols, stub: !hasURL)
+        super.init()
+        // weak/strong pattern from:
+        // http://stackoverflow.com/a/17105368/424124
+        // https://dhoerl.wordpress.com/2013/04/23/i-finally-figured-out-weakself-and-strongself/
+        ws.eclose = { [weak self] in
+            if let strongSelf = self {
+                strongSelf.opened = false
+            }
+        }
+    }
+    /// Create a WebSocket object with a deferred connection; the connection is not opened until the .open() method is called.
+    convenience override init(){
+        var request = URLRequest(url: URL(string: "http://apple.com")!)
+        request.url = nil
+        self.init(request: request, subProtocols: [])
+    }
+    /// The URL as resolved by the constructor. This is always an absolute URL. Read only.
+     var url : String{ return ws.url }
+    /// A string indicating the name of the sub-protocol the server selected; this will be one of the strings specified in the protocols parameter when creating the WebSocket object.
+     var subProtocol : String{ return ws.subProtocol }
+    /// The compression options of the WebSocket.
+     var compression : WebSocketCompression{
+        get { return ws.compression }
+        set { ws.compression = newValue }
+    }
+    /// Allow for Self-Signed SSL Certificates. Default is false.
+     var allowSelfSignedSSL : Bool{
+        get { return ws.allowSelfSignedSSL }
+        set { ws.allowSelfSignedSSL = newValue }
+    }
+    /// The services of the WebSocket.
+     var services : WebSocketService{
+        get { return ws.services }
+        set { ws.services = newValue }
+    }
+    /// The events of the WebSocket.
+     var event : WebSocketEvents{
+        get { return ws.event }
+        set { ws.event = newValue }
+    }
+    /// The queue for firing off events. default is main_queue
+     var eventQueue : DispatchQueue?{
+        get { return ws.eventQueue }
+        set { ws.eventQueue = newValue }
+    }
+    /// A WebSocketBinaryType value indicating the type of binary data being transmitted by the connection. Default is .UInt8Array.
+     var binaryType : WebSocketBinaryType{
+        get { return ws.binaryType }
+        set { ws.binaryType = newValue }
+    }
+    /// The current state of the connection; this is one of the WebSocketReadyState constants. Read only.
+     var readyState : WebSocketReadyState{
+        return ws.readyState
+    }
+    /// Opens a deferred or closed WebSocket connection to a URL; this should be the URL to which the WebSocket server will respond.
+     func open(_ url: String){
+        open(request: URLRequest(url: URL(string: url)!), subProtocols: [])
+    }
+    /// Opens a deferred or closed WebSocket connection to a URL; this should be the URL to which the WebSocket server will respond.
+     func open(nsurl url: URL){
+        open(request: URLRequest(url: url), subProtocols: [])
+    }
+    /// Opens a deferred or closed WebSocket connection to a URL; this should be the URL to which the WebSocket server will respond. Also include a list of protocols.
+     func open(_ url: String, subProtocols : [String]){
+        open(request: URLRequest(url: URL(string: url)!), subProtocols: subProtocols)
+    }
+    /// Opens a deferred or closed WebSocket connection to a URL; this should be the URL to which the WebSocket server will respond. Also include a protocol.
+     func open(_ url: String, subProtocol : String){
+        open(request: URLRequest(url: URL(string: url)!), subProtocols: [subProtocol])
+    }
+    /// Opens a deferred or closed WebSocket connection from an NSURLRequest; Also include a list of protocols.
+     func open(request: URLRequest, subProtocols : [String] = []){
+        if opened{
+            return
+        }
+        opened = true
+        ws = ws.copyOpen(request, subProtocols: subProtocols)
+    }
+    /// Opens a closed WebSocket connection from an NSURLRequest; Uses the same request and protocols as previously closed WebSocket
+     func open(){
+        open(request: ws.request, subProtocols: ws.subProtocols)
+    }
+    /**
+     Closes the WebSocket connection or connection attempt, if any. If the connection is already closed or in the state of closing, this method does nothing.
+
+     :param: code An integer indicating the status code explaining why the connection is being closed. If this parameter is not specified, a default value of 1000 (indicating a normal closure) is assumed.
+     :param: reason A human-readable string explaining why the connection is closing. This string must be no longer than 123 bytes of UTF-8 text (not characters).
+     */
+     func close(_ code : Int = 1000, reason : String = "Normal Closure"){
+        if !opened{
+            return
+        }
+        opened = false
+        ws.close(code, reason: reason)
+    }
+    /**
+     Transmits message to the server over the WebSocket connection.
+
+     :param: message The message to be sent to the server.
+     */
+     func send(_ message : Any){
+        if !opened{
+            return
+        }
+        ws.send(message)
+    }
+    /**
+     Transmits a ping to the server over the WebSocket connection.
+
+     :param: optional message The data to be sent to the server.
+     */
+     func ping(_ message : Any){
+        if !opened{
+            return
+        }
+        ws.ping(message)
+    }
+    /**
+     Transmits a ping to the server over the WebSocket connection.
+     */
+     func ping(){
+        if !opened{
+            return
+        }
+        ws.ping()
+    }
+}
+
+ func ==(lhs: WebSocket, rhs: WebSocket) -> Bool {
+    return lhs.id == rhs.id
+}
+
+extension WebSocket {
+    /// The events of the WebSocket using a delegate.
+    @objc
+    var delegate : WebSocketDelegate? {
+        get { return ws.eventDelegate }
+        set { ws.eventDelegate = newValue }
+    }
+    /**
+     Transmits message to the server over the WebSocket connection.
+
+     :param: text The message (string) to be sent to the server.
+     */
+    @objc
+    func send(text: String){
+        send(text)
+    }
+    /**
+     Transmits message to the server over the WebSocket connection.
+
+     :param: data The message (binary) to be sent to the server.
+     */
+    @objc
+    func send(data: Data){
+        send(data)
+    }
+}
diff --git a/MixSdk/Podfile.lock b/MixSdk/Podfile.lock
new file mode 100644 (file)
index 0000000..9690266
--- /dev/null
@@ -0,0 +1,24 @@
+PODS:
+  - IQKeyboardManagerSwift (7.0.1)
+  - SnapKit (5.7.1)
+  - Toast-Swift (5.1.0)
+
+DEPENDENCIES:
+  - IQKeyboardManagerSwift
+  - SnapKit (~> 5.7.0)
+  - Toast-Swift
+
+SPEC REPOS:
+  https://gitee.com/mirrors/CocoaPods-Specs.git:
+    - IQKeyboardManagerSwift
+    - SnapKit
+    - Toast-Swift
+
+SPEC CHECKSUMS:
+  IQKeyboardManagerSwift: 7f6b1b1d1497855d2beea7f2f10ffcc6978525b1
+  SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
+  Toast-Swift: dd369e68ee529f542c65bd0d0c6c50cd743cf6f2
+
+PODFILE CHECKSUM: 1bf708b0b20ea5799d088a09a56f74d1537472c4
+
+COCOAPODS: 1.14.3
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQActiveConfiguration.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQActiveConfiguration.swift
new file mode 100644 (file)
index 0000000..ef0b892
--- /dev/null
@@ -0,0 +1,203 @@
+//
+//  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
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal final class IQActiveConfiguration {
+
+    private let keyboardListener: IQKeyboardListener = IQKeyboardListener()
+    private let textFieldViewListener: IQTextFieldViewListener = IQTextFieldViewListener()
+
+    private var changeObservers: [AnyHashable: ConfigurationCompletion] = [:]
+
+    @objc public 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 rootControllerConfiguration: IQRootControllerConfiguration?
+
+    var isReady: Bool {
+        if textFieldViewInfo != nil,
+           let rootControllerConfiguration = rootControllerConfiguration {
+            return rootControllerConfiguration.isReady
+        }
+        return false
+    }
+
+    init() {
+        addKeyboardListener()
+        addTextFieldViewListener()
+    }
+
+    private func sendEvent() {
+
+        if let textFieldViewInfo = textFieldViewInfo,
+           let rootControllerConfiguration = rootControllerConfiguration,
+           rootControllerConfiguration.isReady {
+            if keyboardInfo.keyboardShowing {
+                if lastEvent == .hide {
+                    self.notify(event: .show, keyboardInfo: keyboardInfo, textFieldViewInfo: textFieldViewInfo)
+                } else {
+                    self.notify(event: .change, keyboardInfo: keyboardInfo, textFieldViewInfo: textFieldViewInfo)
+                }
+            } else if lastEvent != .hide {
+                if rootControllerConfiguration.beginOrientation == rootControllerConfiguration.currentOrientation {
+                    self.notify(event: .hide, keyboardInfo: keyboardInfo, textFieldViewInfo: textFieldViewInfo)
+                    self.rootControllerConfiguration = nil
+                } else if rootControllerConfiguration.hasChanged {
+                    animate(alongsideTransition: {
+                        rootControllerConfiguration.restore()
+                    }, completion: nil)
+                }
+            }
+        }
+    }
+
+    private func updateRootController(info: IQTextFieldViewInfo?) {
+
+        guard let info = info,
+              let controller: UIViewController = info.textFieldView.iq.parentContainerViewController() else {
+            if let rootControllerConfiguration = rootControllerConfiguration,
+               rootControllerConfiguration.hasChanged {
+                animate(alongsideTransition: {
+                    rootControllerConfiguration.restore()
+                }, completion: nil)
+            }
+            rootControllerConfiguration = nil
+            return
+        }
+
+        let newConfiguration = IQRootControllerConfiguration(rootController: controller)
+
+        if newConfiguration.rootController.view.window != rootControllerConfiguration?.rootController.view.window ||
+            newConfiguration.beginOrientation != rootControllerConfiguration?.beginOrientation {
+
+            if rootControllerConfiguration?.rootController != newConfiguration.rootController {
+
+                // If there was an old configuration but things are changed
+                if let rootControllerConfiguration = rootControllerConfiguration,
+                   rootControllerConfiguration.hasChanged {
+                    animate(alongsideTransition: {
+                        rootControllerConfiguration.restore()
+                    }, completion: nil)
+                }
+            }
+
+            rootControllerConfiguration = newConfiguration
+        }
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension IQActiveConfiguration {
+
+    var keyboardInfo: IQKeyboardInfo {
+        return keyboardListener.keyboardInfo
+    }
+
+    private func addKeyboardListener() {
+        keyboardListener.registerSizeChange(identifier: "IQActiveConfiguration", changeHandler: { [self] name, _ in
+
+            if let info = textFieldViewInfo, keyboardInfo.keyboardShowing {
+                if let rootControllerConfiguration = rootControllerConfiguration {
+                    let beginIsPortrait: Bool = rootControllerConfiguration.beginOrientation.isPortrait
+                    let currentIsPortrait: Bool = rootControllerConfiguration.currentOrientation.isPortrait
+                    if beginIsPortrait != currentIsPortrait {
+                        updateRootController(info: info)
+                    }
+                } else {
+                    updateRootController(info: info)
+                }
+            }
+
+            self.sendEvent()
+
+            if name == .didHide {
+                updateRootController(info: nil)
+            }
+        })
+    }
+
+    public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
+        keyboardListener.animate(alongsideTransition: transition, completion: completion)
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension IQActiveConfiguration {
+
+    var textFieldViewInfo: IQTextFieldViewInfo? {
+        return textFieldViewListener.textFieldViewInfo
+    }
+
+    private func addTextFieldViewListener() {
+        textFieldViewListener.registerTextFieldViewChange(identifier: "IQActiveConfiguration",
+                                                          changeHandler: { [self] info in
+            if info.name == .beginEditing {
+                updateRootController(info: info)
+                self.sendEvent()
+            }
+        })
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension IQActiveConfiguration {
+
+    typealias ConfigurationCompletion = (_ event: Event,
+                                         _ keyboardInfo: IQKeyboardInfo,
+                                         _ textFieldInfo: IQTextFieldViewInfo) -> Void
+
+    func registerChange(identifier: AnyHashable, changeHandler: @escaping ConfigurationCompletion) {
+        changeObservers[identifier] = changeHandler
+    }
+
+    func unregisterChange(identifier: AnyHashable) {
+        changeObservers[identifier] = nil
+    }
+
+    private func notify(event: Event, keyboardInfo: IQKeyboardInfo, textFieldViewInfo: IQTextFieldViewInfo) {
+        lastEvent = event
+
+        for block in changeObservers.values {
+            block(event, keyboardInfo, textFieldViewInfo)
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQBarButtonItemConfiguration.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQBarButtonItemConfiguration.swift
new file mode 100644 (file)
index 0000000..9377c01
--- /dev/null
@@ -0,0 +1,96 @@
+//
+//  IQBarButtonItemConfiguration.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
+
+/**
+ IQBarButtonItemConfiguration for creating toolbar with bar button items
+ */
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQBarButtonItemConfiguration: NSObject {
+
+    @objc public init(systemItem: UIBarButtonItem.SystemItem, action: Selector? = nil) {
+        self.systemItem = systemItem
+        self.image = nil
+        self.title = nil
+        self.action = action
+        super.init()
+    }
+
+    @objc public init(image: UIImage, action: Selector? = nil) {
+        self.systemItem = nil
+        self.image = image
+        self.title = nil
+        self.action = action
+        super.init()
+    }
+
+    @objc 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.
+
+    @objc public let image: UIImage?    // Image to show on bar button item if it's not a system item.
+
+    @objc public let title: String?     // Title to show on bar button item if it's not a system item.
+
+    @objc public var action: Selector?  // action for bar button item. Usually 'doneAction:(IQBarButtonItem*)item'.
+
+    public override var accessibilityLabel: String? { didSet { } } // Accessibility related labels
+
+    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/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQKeyboardConfiguration.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQKeyboardConfiguration.swift
new file mode 100644 (file)
index 0000000..653bc2c
--- /dev/null
@@ -0,0 +1,39 @@
+//
+//  IQKeyboardConfiguration.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 final class IQKeyboardConfiguration: NSObject {
+
+    /**
+    Override the keyboardAppearance for all textField/textView. Default is NO.
+    */
+    @objc public var overrideAppearance: Bool = false
+
+    /**
+    If overrideKeyboardAppearance is YES, then all the textField keyboardAppearance is set using this property.
+    */
+    @objc public var appearance: UIKeyboardAppearance = UIKeyboardAppearance.default
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQRootControllerConfiguration.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQRootControllerConfiguration.swift
new file mode 100644 (file)
index 0000000..48c6eee
--- /dev/null
@@ -0,0 +1,95 @@
+//
+//  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 {
+
+    let 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 swift(>=5.1)
+        if #available(iOS 13, *) {
+            if let scene = rootController.view.window?.windowScene {
+                interfaceOrientation = scene.interfaceOrientation
+            } else {
+                interfaceOrientation = .unknown
+            }
+        } else {
+            interfaceOrientation = UIApplication.shared.statusBarOrientation
+        }
+        #else
+        interfaceOrientation = UIApplication.shared.statusBarOrientation
+        #endif
+
+        beginOrientation = interfaceOrientation
+    }
+
+    var currentOrientation: UIInterfaceOrientation {
+        let interfaceOrientation: UIInterfaceOrientation
+        #if swift(>=5.1)
+        if #available(iOS 13, *) {
+            if let scene = rootController.view.window?.windowScene {
+                interfaceOrientation = scene.interfaceOrientation
+            } else {
+                interfaceOrientation = .unknown
+            }
+        } else {
+            interfaceOrientation = UIApplication.shared.statusBarOrientation
+        }
+        #else
+        interfaceOrientation = UIApplication.shared.statusBarOrientation
+        #endif
+        return interfaceOrientation
+    }
+
+    var isReady: Bool {
+        return rootController.view.window != nil
+    }
+
+    var hasChanged: Bool {
+        return !rootController.view.frame.origin.equalTo(beginOrigin)
+    }
+
+    @discardableResult
+    func restore() -> Bool {
+        if !rootController.view.frame.origin.equalTo(beginOrigin) {
+            // Setting it's new frame
+            var rect: CGRect = rootController.view.frame
+            rect.origin = beginOrigin
+            rootController.view.frame = rect
+            return true
+        }
+        return false
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQScrollViewConfiguration.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQScrollViewConfiguration.swift
new file mode 100644 (file)
index 0000000..a24f248
--- /dev/null
@@ -0,0 +1,115 @@
+//
+//  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
+
+@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
+
+#if swift(>=5.1)
+        if #available(iOS 11.1, *) {
+            startingScrollIndicatorInsets = scrollView.verticalScrollIndicatorInsets
+        } else {
+            startingScrollIndicatorInsets = scrollView.scrollIndicatorInsets
+        }
+#else
+        startingScrollIndicatorInsets = scrollView.scrollIndicatorInsets
+#endif
+    }
+
+    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 textFieldView: UIView?) -> Bool {
+        var success: Bool = false
+
+        if scrollView.contentInset != self.startingContentInset {
+            scrollView.contentInset = self.startingContentInset
+            scrollView.layoutIfNeeded() // (Bug ID: #1996)
+            success = true
+        }
+
+#if swift(>=5.1)
+        if #available(iOS 11.1, *) {
+            if scrollView.verticalScrollIndicatorInsets != self.startingScrollIndicatorInsets {
+                scrollView.verticalScrollIndicatorInsets = self.startingScrollIndicatorInsets
+            }
+        } else {
+            if scrollView.scrollIndicatorInsets != self.startingScrollIndicatorInsets {
+                scrollView.scrollIndicatorInsets = self.startingScrollIndicatorInsets
+            }
+        }
+#else
+        if scrollView.scrollIndicatorInsets != self.startingScrollIndicatorInsets {
+            scrollView.scrollIndicatorInsets = self.startingScrollIndicatorInsets
+        }
+#endif
+
+        if canRestoreContentOffset,
+           scrollView.iq.restoreContentOffset,
+           !scrollView.contentOffset.equalTo(startingContentOffset) {
+
+            //  (Bug ID: #1365, #1508, #1541)
+            let stackView: UIStackView? = textFieldView?.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(startingContentOffset, animated: UIView.areAnimationsEnabled)
+            } else {
+                scrollView.contentOffset = startingContentOffset
+            }
+            success = true
+        }
+
+        return success
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQToolbarConfiguration.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQToolbarConfiguration.swift
new file mode 100644 (file)
index 0000000..3c6244b
--- /dev/null
@@ -0,0 +1,75 @@
+//
+//  IQToolbarConfiguration.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 final class IQToolbarConfiguration: NSObject {
+
+    /**
+     If YES, then uses textField's tintColor property for IQToolbar, otherwise tint color is default. Default is NO.
+     */
+    @objc public var useTextFieldTintColor: Bool = false
+
+    /**
+     This is used for toolbar.tintColor when textfield.keyboardAppearance is UIKeyboardAppearanceDefault.
+     If useTextFieldTintColor is YES then this property is ignored. Default is nil and uses black color.
+     */
+    @objc public var tintColor: UIColor?
+
+    /**
+     This is used for toolbar.barTintColor. Default is nil.
+     */
+    @objc public var barTintColor: UIColor?
+
+    /**
+     IQPreviousNextDisplayModeDefault:      Show NextPrevious when there are more than 1 textField otherwise hide.
+     IQPreviousNextDisplayModeAlwaysHide:   Do not show NextPrevious buttons in any case.
+     IQPreviousNextDisplayModeAlwaysShow:   Always show nextPrevious buttons,
+     if there are more than 1 textField then both buttons will be visible but will be shown as disabled.
+     */
+    @objc public var previousNextDisplayMode: IQPreviousNextDisplayMode = .default
+
+    /**
+     /**
+      IQAutoToolbarBySubviews:   Creates Toolbar according to subview's hierarchy of Textfield's in view.
+      IQAutoToolbarByTag:        Creates Toolbar according to tag property of TextField's.
+      IQAutoToolbarByPosition:   Creates Toolbar according to the y,x position
+      of textField in it's superview coordinate.
+
+      Default is IQAutoToolbarBySubviews.
+      */
+     AutoToolbar managing behavior. Default is IQAutoToolbarBySubviews.
+     */
+    @objc public var manageBehavior: IQAutoToolbarManageBehavior = .bySubviews
+
+    /**
+    Buttons configuration displayed on the toolbar, the selector parameter is ignored in below configuration
+    */
+    @objc public var previousBarButtonConfiguration: IQBarButtonItemConfiguration?
+    @objc public var nextBarButtonConfiguration: IQBarButtonItemConfiguration?
+    @objc public var doneBarButtonConfiguration: IQBarButtonItemConfiguration?
+
+    @objc public let placeholderConfiguration: IQToolbarPlaceholderConfiguration = .init()
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQToolbarPlaceholderConfiguration.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Configuration/IQToolbarPlaceholderConfiguration.swift
new file mode 100644 (file)
index 0000000..5ee4387
--- /dev/null
@@ -0,0 +1,54 @@
+//
+//  IQToolbarPlaceholderConfiguration.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 final class IQToolbarPlaceholderConfiguration: NSObject {
+
+    /**
+    If YES, then it add the textField's placeholder text on IQToolbar. Default is YES.
+    */
+    @objc public var showPlaceholder: Bool = true
+
+    /**
+    Placeholder Font. Default is nil.
+    */
+    @objc public var font: UIFont?
+
+    /**
+     Placeholder Color. Default is nil. Which means lightGray
+     */
+    @objc public var color: UIColor?
+
+    /**
+     Placeholder Button Color when it's treated as button. Default is nil.
+     */
+    @objc public var buttonColor: UIColor?
+
+    /**
+     Placeholder accessibility Label
+     */
+    public override var accessibilityLabel: String? { didSet { } }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstants.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstants.swift
new file mode 100644 (file)
index 0000000..a3aac5c
--- /dev/null
@@ -0,0 +1,151 @@
+//
+//  IQKeyboardManagerConstants.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 Foundation
+
+// MARK: IQAutoToolbarManageBehavior
+
+/**
+`IQAutoToolbarBySubviews`
+Creates Toolbar according to subview's hierarchy of Textfield's in view.
+
+`IQAutoToolbarByTag`
+Creates Toolbar according to tag property of TextField's.
+
+`IQAutoToolbarByPosition`
+Creates Toolbar according to the y,x position of textField in it's superview coordinate.
+*/
+@available(iOSApplicationExtension, unavailable)
+@objc public enum IQAutoToolbarManageBehavior: Int {
+    case bySubviews
+    case byTag
+    case byPosition
+}
+
+/**
+ `IQPreviousNextDisplayModeDefault`
+ Show NextPrevious when there are more than 1 textField otherwise hide.
+ 
+ `IQPreviousNextDisplayModeAlwaysHide`
+ Do not show NextPrevious buttons in any case.
+ 
+ `IQPreviousNextDisplayModeAlwaysShow`
+ Always show nextPrevious buttons,
+ if there are more than 1 textField 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
+}
+
+/**
+ `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
+}
+
+/*
+ /---------------------------------------------------------------------------------------------------\
+ \---------------------------------------------------------------------------------------------------/
+ |                                   iOS Notification Mechanism                                    |
+ /---------------------------------------------------------------------------------------------------\
+ \---------------------------------------------------------------------------------------------------/
+ 
+ ------------------------------------------------------------
+ When UITextField become first responder
+ ------------------------------------------------------------
+ - UITextFieldTextDidBeginEditingNotification (UITextField)
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+ 
+ ------------------------------------------------------------
+ When UITextView become first responder
+ ------------------------------------------------------------
+ - UIKeyboardWillShowNotification
+ - UITextViewTextDidBeginEditingNotification (UITextView)
+ - UIKeyboardDidShowNotification
+ 
+ ------------------------------------------------------------
+ When switching focus from UITextField to another UITextField
+ ------------------------------------------------------------
+ - UITextFieldTextDidEndEditingNotification (UITextField1)
+ - UITextFieldTextDidBeginEditingNotification (UITextField2)
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+ 
+ ------------------------------------------------------------
+ When switching focus from UITextView to another UITextView
+ ------------------------------------------------------------
+ - UITextViewTextDidEndEditingNotification: (UITextView1)
+ - UIKeyboardWillShowNotification
+ - UITextViewTextDidBeginEditingNotification: (UITextView2)
+ - UIKeyboardDidShowNotification
+ 
+ ------------------------------------------------------------
+ When switching focus from UITextField to UITextView
+ ------------------------------------------------------------
+ - UITextFieldTextDidEndEditingNotification (UITextField)
+ - UIKeyboardWillShowNotification
+ - UITextViewTextDidBeginEditingNotification (UITextView)
+ - UIKeyboardDidShowNotification
+ 
+ ------------------------------------------------------------
+ When switching focus from UITextView to UITextField
+ ------------------------------------------------------------
+ - UITextViewTextDidEndEditingNotification (UITextView)
+ - UITextFieldTextDidBeginEditingNotification (UITextField)
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+ 
+ ------------------------------------------------------------
+ When opening/closing UIKeyboard Predictive bar
+ ------------------------------------------------------------
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+ 
+ ------------------------------------------------------------
+ On orientation change
+ ------------------------------------------------------------
+ - UIApplicationWillChangeStatusBarOrientationNotification
+ - UIKeyboardWillHideNotification
+ - UIKeyboardDidHideNotification
+ - UIApplicationDidChangeStatusBarOrientationNotification
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+ - UIKeyboardWillShowNotification
+ - UIKeyboardDidShowNotification
+ 
+ */
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Debug.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Debug.swift
new file mode 100644 (file)
index 0000000..43df95f
--- /dev/null
@@ -0,0 +1,71 @@
+//
+//  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)
+public extension IQKeyboardManager {
+
+    @MainActor
+    private struct AssociatedKeys {
+        static var enableDebugging: Int = 0
+    }
+
+    @objc var enableDebugging: Bool {
+        get {
+            return objc_getAssociatedObject(self, &AssociatedKeys.enableDebugging) as? Bool ?? false
+        }
+        set(newValue) {
+            objc_setAssociatedObject(self, &AssociatedKeys.enableDebugging,
+                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+        }
+    }
+
+    @MainActor
+    struct Static {
+        static var indentation = 0
+    }
+
+    internal func showLog(_ logString: String, indentation: Int = 0) {
+
+        guard enableDebugging else {
+            return
+        }
+
+        if indentation < 0 {
+            Static.indentation = max(0, Static.indentation + indentation)
+        }
+
+        var preLog: String = "IQKeyboardManager"
+        for _ in 0 ... Static.indentation {
+            preLog += "|\t"
+        }
+
+        print(preLog + logString)
+
+        if indentation > 0 {
+            Static.indentation += indentation
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Deprecated.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Deprecated.swift
new file mode 100644 (file)
index 0000000..c2cef98
--- /dev/null
@@ -0,0 +1,220 @@
+//
+//  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
+
+// swiftlint:disable unused_setter_value
+// swiftlint:disable identifier_name
+// swiftlint:disable line_length
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+    @available(*, unavailable, renamed: "resignOnTouchOutside")
+    @objc var shouldResignOnTouchOutside: Bool {
+        get { false }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "playInputClicks")
+    @objc var shouldPlayInputClicks: Bool {
+        get { false }
+        set { }
+    }
+
+    @available(*, unavailable, message: "This feature has been removed due to few compatibility problems")
+    @objc func registerTextFieldViewClass(_ aClass: UIView.Type,
+                                          didBeginEditingNotificationName: String,
+                                          didEndEditingNotificationName: String) {
+    }
+
+    @available(*, unavailable, message: "This feature has been removed due to few compatibility problems")
+    @objc func unregisterTextFieldViewClass(_ aClass: UIView.Type,
+                                            didBeginEditingNotificationName: String,
+                                            didEndEditingNotificationName: String) {
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.manageBehavior")
+    @objc var toolbarManageBehaviour: IQAutoToolbarManageBehavior {
+        get { .bySubviews }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.useTextFieldTintColor")
+    @objc var shouldToolbarUsesTextFieldTintColor: Bool {
+        get { false }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.tintColor")
+    @objc var toolbarTintColor: UIColor? {
+        get { nil }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.barTintColor")
+    @objc var toolbarBarTintColor: UIColor? {
+        get { nil }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.previousNextDisplayMode")
+    @objc var previousNextDisplayMode: IQPreviousNextDisplayMode {
+        get { .default }
+        set { }
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+    @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.image",
+                message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
+    @objc var toolbarPreviousBarButtonItemImage: UIImage? {
+        get { nil }
+        set { }
+    }
+    @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.title",
+                message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
+    @objc var toolbarPreviousBarButtonItemText: String? {
+        get { nil }
+        set { }
+    }
+    @available(*, unavailable, renamed: "toolbarConfiguration.previousBarButtonConfiguration.accessibilityLabel",
+                message: "To change, please assign a new toolbarConfiguration.previousBarButtonConfiguration")
+    @objc var toolbarPreviousBarButtonItemAccessibilityLabel: String? {
+        get { nil }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.image",
+                message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
+    @objc var toolbarNextBarButtonItemImage: UIImage? {
+        get { nil }
+        set { }
+    }
+    @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.title",
+                message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
+    @objc var toolbarNextBarButtonItemText: String? {
+        get { nil }
+        set { }
+    }
+    @available(*, unavailable, renamed: "toolbarConfiguration.nextBarButtonConfiguration.accessibilityLabel",
+                message: "To change, please assign a new toolbarConfiguration.nextBarButtonConfiguration")
+    @objc var toolbarNextBarButtonItemAccessibilityLabel: String? {
+        get { nil }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.image",
+                message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
+    @objc var toolbarDoneBarButtonItemImage: UIImage? {
+        get { nil }
+        set { }
+    }
+    @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.title",
+                message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
+    @objc var toolbarDoneBarButtonItemText: String? {
+        get { nil }
+        set { }
+    }
+    @available(*, unavailable, renamed: "toolbarConfiguration.doneBarButtonConfiguration.accessibilityLabel",
+                message: "To change, please assign a new toolbarConfiguration.doneBarButtonConfiguration")
+    @objc var toolbarDoneBarButtonItemAccessibilityLabel: String? {
+        get { nil }
+        set { }
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.accessibilityLabel")
+    @objc var toolbarTitlBarButtonItemAccessibilityLabel: String? {
+        get { nil }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.showPlaceholder")
+    @objc var shouldShowToolbarPlaceholder: Bool {
+        get { false }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.font")
+    @objc var placeholderFont: UIFont? {
+        get { nil }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.color")
+    @objc var placeholderColor: UIColor? {
+        get { nil }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "toolbarConfiguration.placeholderConfiguration.buttonColor")
+    @objc var placeholderButtonColor: UIColor? {
+        get { nil }
+        set { }
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+    @available(*, unavailable, renamed: "keyboardConfiguration.overrideAppearance")
+    @objc var overrideKeyboardAppearance: Bool {
+        get { false }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "keyboardConfiguration.appearance")
+    @objc var keyboardAppearance: UIKeyboardAppearance {
+        get { .default }
+        set { }
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+    typealias SizeBlock = (_ size: CGSize) -> Void
+
+    @available(*, unavailable, message: "This feature has been moved to IQKeyboardListener, use it directly by creating new instance")
+    @objc func registerKeyboardSizeChange(identifier: AnyHashable, sizeHandler: @escaping SizeBlock) {}
+
+    @available(*, unavailable, message: "This feature has been moved to IQKeyboardListener, use it directly by creating new instance")
+    @objc func unregisterKeyboardSizeChange(identifier: AnyHashable) {}
+
+    @available(*, unavailable, message: "This feature has been moved to IQKeyboardListener, use it directly by creating new instance")
+    @objc var keyboardShowing: Bool { false }
+
+    @available(*, unavailable, message: "This feature has been moved to IQKeyboardListener, use it directly by creating new instance")
+    @objc var keyboardFrame: CGRect { .zero }
+}
+// swiftlint:enable unused_setter_value
+// swiftlint:enable identifier_name
+// swiftlint:enable line_length
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift
new file mode 100644 (file)
index 0000000..36a1874
--- /dev/null
@@ -0,0 +1,239 @@
+//
+//  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
+
+@available(iOSApplicationExtension, unavailable)
+internal extension IQKeyboardManager {
+
+    /**    Get all UITextField/UITextView siblings of textFieldView. */
+    func responderViews() -> [UIView]? {
+
+        guard let textFieldView: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+            return nil
+        }
+
+        var superConsideredView: UIView?
+
+        // If find any consider responderView in it's upper hierarchy then will get deepResponderView.
+        for allowedClass in toolbarPreviousNextAllowedClasses {
+            superConsideredView = textFieldView.iq.superviewOf(type: allowedClass)
+            if superConsideredView != nil {
+                break
+            }
+        }
+
+        var swiftUIHostingView: UIView?
+        let swiftUIHostingViewName: String = "UIHostingView<"
+        var superView: UIView? = textFieldView.superview
+        while let unwrappedSuperView: UIView = superView {
+
+            let classNameString: String = {
+                var name: String = "\(type(of: unwrappedSuperView.self))"
+                if name.hasPrefix("_") {
+                    name.removeFirst()
+                }
+                return name
+            }()
+
+            if classNameString.hasPrefix(swiftUIHostingViewName) {
+                swiftUIHostingView = unwrappedSuperView
+                break
+            }
+
+            superView = unwrappedSuperView.superview
+        }
+
+        // (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 textFields: [UIView] = textFieldView.iq.responderSiblings()
+
+            // Sorting textFields according to behavior
+            switch toolbarConfiguration.manageBehavior {
+            // If autoToolbar behavior is bySubviews, then returning it.
+            case .bySubviews:   return textFields
+
+            // If autoToolbar behavior is by tag, then sorting it according to tag property.
+            case .byTag:    return textFields.sortedByTag()
+
+            // If autoToolbar behavior is by tag, then sorting it according to tag property.
+            case .byPosition:    return textFields.sortedByPosition()
+            }
+        }
+    }
+
+    func privateIsEnabled() -> Bool {
+
+        var isEnabled: Bool = enable
+
+        guard let textFieldViewInfo: IQTextFieldViewInfo = activeConfiguration.textFieldViewInfo else {
+            return isEnabled
+        }
+
+        let enableMode: IQEnableMode = textFieldViewInfo.textFieldView.iq.enableMode
+
+        if enableMode == .enabled {
+            isEnabled = true
+        } else if enableMode == .disabled {
+            isEnabled = false
+        } else if var textFieldViewController = textFieldViewInfo.textFieldView.iq.viewContainingController() {
+
+            // If it is searchBar textField embedded in Navigation Bar
+            if textFieldViewInfo.textFieldView.iq.textFieldSearchBar() != nil,
+               let navController: UINavigationController = textFieldViewController as? UINavigationController,
+               let topController: UIViewController = navController.topViewController {
+                textFieldViewController = topController
+            }
+
+            // If viewController is kind of enable viewController class, then assuming it's enabled.
+            if !isEnabled, enabledDistanceHandlingClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+                isEnabled = true
+            }
+
+            if isEnabled {
+
+                // If viewController is kind of disabled viewController class, then assuming it's disabled.
+                if disabledDistanceHandlingClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+                    isEnabled = false
+                }
+
+                // Special Controllers
+                if isEnabled {
+
+                    let classNameString: String = "\(type(of: textFieldViewController.self))"
+
+                    // _UIAlertControllerTextFieldViewController
+                    if classNameString.contains("UIAlertController"),
+                       classNameString.hasSuffix("TextFieldViewController") {
+                        isEnabled = false
+                    }
+                }
+            }
+        }
+
+        return isEnabled
+    }
+
+    func privateIsEnableAutoToolbar() -> Bool {
+
+        var isEnabled: Bool = enableAutoToolbar
+
+        guard let textFieldViewInfo: IQTextFieldViewInfo = activeConfiguration.textFieldViewInfo,
+              var textFieldViewController = textFieldViewInfo.textFieldView.iq.viewContainingController() else {
+            return isEnabled
+        }
+
+        // If it is searchBar textField embedded in Navigation Bar
+        if textFieldViewInfo.textFieldView.iq.textFieldSearchBar() != nil,
+           let navController: UINavigationController = textFieldViewController as? UINavigationController,
+           let topController: UIViewController = navController.topViewController {
+            textFieldViewController = topController
+        }
+
+        if !isEnabled, enabledToolbarClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+            isEnabled = true
+        }
+
+        if isEnabled {
+
+            // If found any toolbar disabled classes then return.
+            if disabledToolbarClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+                isEnabled = false
+            }
+
+            // Special Controllers
+            if isEnabled {
+
+                let classNameString: String = "\(type(of: textFieldViewController.self))"
+
+                // _UIAlertControllerTextFieldViewController
+                if classNameString.contains("UIAlertController"), classNameString.hasSuffix("TextFieldViewController") {
+                    isEnabled = false
+                }
+            }
+        }
+
+        return isEnabled
+    }
+
+    func privateResignOnTouchOutside() -> Bool {
+
+        var isEnabled: Bool = resignOnTouchOutside
+
+        guard let textFieldViewInfo: IQTextFieldViewInfo = activeConfiguration.textFieldViewInfo else {
+            return isEnabled
+        }
+
+        let enableMode: IQEnableMode = textFieldViewInfo.textFieldView.iq.resignOnTouchOutsideMode
+
+        if enableMode == .enabled {
+            isEnabled = true
+        } else if enableMode == .disabled {
+            isEnabled = false
+        } else if var textFieldViewController = textFieldViewInfo.textFieldView.iq.viewContainingController() {
+
+            // If it is searchBar textField embedded in Navigation Bar
+            if textFieldViewInfo.textFieldView.iq.textFieldSearchBar() != nil,
+               let navController: UINavigationController = textFieldViewController as? UINavigationController,
+               let topController: UIViewController = navController.topViewController {
+                textFieldViewController = topController
+            }
+
+            // If viewController is kind of enable viewController class, then assuming resignOnTouchOutside is enabled.
+            if !isEnabled,
+               enabledTouchResignedClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+                isEnabled = true
+            }
+
+            if isEnabled {
+
+                // If viewController is kind of disable viewController class,
+                // then assuming resignOnTouchOutside is disable.
+                if disabledTouchResignedClasses.contains(where: { textFieldViewController.isKind(of: $0) }) {
+                    isEnabled = false
+                }
+
+                // Special Controllers
+                if isEnabled {
+
+                    let classNameString: String = "\(type(of: textFieldViewController.self))"
+
+                    // _UIAlertControllerTextFieldViewController
+                    if classNameString.contains("UIAlertController"),
+                        classNameString.hasSuffix("TextFieldViewController") {
+                        isEnabled = false
+                    }
+                }
+            }
+        }
+        return isEnabled
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift
new file mode 100644 (file)
index 0000000..7d3b242
--- /dev/null
@@ -0,0 +1,736 @@
+//
+//  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
+
+// swiftlint:disable file_length
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+    @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 textField.
+     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
+     */
+    @objc 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. */
+    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. */
+    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 addActiveConfigurationObserver() {
+        activeConfiguration.registerChange(identifier: UUID().uuidString, changeHandler: { event, _, _ in
+            switch event {
+            case .show:
+                self.handleKeyboardTextFieldViewVisible()
+            case .change:
+                self.handleKeyboardTextFieldViewChanged()
+            case .hide:
+                self.handleKeyboardTextFieldViewHide()
+            }
+        })
+    }
+
+    @objc internal func applicationDidBecomeActive(_ notification: Notification) {
+
+        guard privateIsEnabled(),
+              activeConfiguration.keyboardInfo.keyboardShowing,
+              activeConfiguration.isReady else {
+            return
+        }
+        adjustPosition()
+    }
+
+    /* Adjusting RootViewController's frame according to interface orientation. */
+    // swiftlint:disable cyclomatic_complexity
+    // swiftlint:disable function_body_length
+    internal func adjustPosition() {
+
+        //  We are unable to get textField object while keyboard showing on WKWebView's textField.  (Bug ID: #11)
+        guard UIApplication.shared.applicationState == .active,
+              let textFieldView: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+              let superview: UIView = textFieldView.superview,
+              let rootConfiguration = activeConfiguration.rootControllerConfiguration,
+              let window: UIWindow = rootConfiguration.rootController.view.window else {
+            return
+        }
+
+        showLog(">>>>> \(#function) started >>>>>", indentation: 1)
+        let startTime: CFTimeInterval = CACurrentMediaTime()
+
+        let rootController: UIViewController = rootConfiguration.rootController
+        let textFieldViewRectInWindow: CGRect = superview.convert(textFieldView.frame, to: window)
+        let textFieldViewRectInRootSuperview: CGRect = superview.convert(textFieldView.frame,
+                                                                         to: rootController.view.superview)
+
+        //  Getting RootViewOrigin.
+        var rootViewOrigin: CGPoint = rootController.view.frame.origin
+
+        let keyboardDistance: CGFloat
+
+        do {
+            // Maintain keyboardDistanceFromTextField
+            let specialKeyboardDistanceFromTextField: CGFloat
+
+            if let searchBar: UIView = textFieldView.iq.textFieldSearchBar() {
+                specialKeyboardDistanceFromTextField = searchBar.iq.distanceFromKeyboard
+            } else {
+                specialKeyboardDistanceFromTextField = textFieldView.iq.distanceFromKeyboard
+            }
+
+            if specialKeyboardDistanceFromTextField == UIView.defaultKeyboardDistance {
+                keyboardDistance = keyboardDistanceFromTextField
+            } else {
+                keyboardDistance = specialKeyboardDistanceFromTextField
+            }
+        }
+
+        let kbSize: CGSize
+        let originalKbSize: CGSize = activeConfiguration.keyboardInfo.frame.size
+
+        do {
+            var kbFrame: CGRect = activeConfiguration.keyboardInfo.frame
+
+            kbFrame.origin.y -= keyboardDistance
+            kbFrame.size.height += keyboardDistance
+
+            kbFrame.origin.y -= rootConfiguration.beginSafeAreaInsets.bottom
+            kbFrame.size.height += rootConfiguration.beginSafeAreaInsets.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(window.frame)
+
+            if intersectRect.isNull {
+                kbSize = CGSize(width: kbFrame.size.width, height: 0)
+            } else {
+                kbSize = intersectRect.size
+            }
+        }
+
+        let statusBarHeight: CGFloat
+
+        let navigationBarAreaHeight: CGFloat
+        if let navigationController: UINavigationController = rootController.navigationController {
+            navigationBarAreaHeight = navigationController.navigationBar.frame.maxY
+        } else {
+#if swift(>=5.1)
+            if #available(iOS 13, *) {
+                statusBarHeight = window.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
+            } else {
+                statusBarHeight = UIApplication.shared.statusBarFrame.height
+            }
+#else
+            statusBarHeight = UIApplication.shared.statusBarFrame.height
+#endif
+            navigationBarAreaHeight = statusBarHeight
+        }
+
+        let isScrollableTextView: Bool
+
+        if let textView: UIScrollView = textFieldView as? UIScrollView,
+           textFieldView.responds(to: #selector(getter: UITextView.isEditable)) {
+            isScrollableTextView = textView.isScrollEnabled
+        } else {
+            isScrollableTextView = false
+        }
+
+        let directionalLayoutMargin: NSDirectionalEdgeInsets = rootController.view.directionalLayoutMargins
+        let topLayoutGuide: CGFloat = CGFloat.maximum(navigationBarAreaHeight, directionalLayoutMargin.top)
+
+        // Validation of textView for case where there is a tab bar
+        // at the bottom or running on iPhone X and textView is at the bottom.
+        let bottomLayoutGuide: CGFloat = isScrollableTextView ? 0 : directionalLayoutMargin.bottom
+
+        //  Move positive = textField is hidden.
+        //  Move negative = textField is showing.
+        //  Calculating move position.
+        var moveUp: CGFloat
+
+        do {
+            let visibleHeight: CGFloat = window.frame.height-kbSize.height
+
+            let topMovement: CGFloat = textFieldViewRectInRootSuperview.minY-topLayoutGuide
+            let bottomMovement: CGFloat = textFieldViewRectInWindow.maxY - visibleHeight + bottomLayoutGuide
+            moveUp = CGFloat.minimum(topMovement, bottomMovement)
+            moveUp = CGFloat(Int(moveUp))
+        }
+
+        showLog("Need to move: \(moveUp), will be moving \(moveUp < 0 ? "down" : "up")")
+
+        var superScrollView: UIScrollView?
+        var superView: UIScrollView? = textFieldView.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)
+            }
+        }
+
+        // If there was a lastScrollView.    //  (Bug ID: #34)
+        if let lastConfiguration: IQScrollViewConfiguration = lastScrollViewConfiguration {
+            // If we can't find current superScrollView, then setting lastScrollView to it's original form.
+            if superScrollView == nil {
+
+                if lastConfiguration.hasChanged {
+                    if lastConfiguration.scrollView.contentInset != lastConfiguration.startingContentInset {
+                        showLog("Restoring contentInset to: \(lastConfiguration.startingContentInset)")
+                    }
+
+                    if lastConfiguration.scrollView.iq.restoreContentOffset,
+                       !lastConfiguration.scrollView.contentOffset.equalTo(lastConfiguration.startingContentOffset) {
+                        showLog("Restoring contentOffset to: \(lastConfiguration.startingContentOffset)")
+                    }
+
+                    activeConfiguration.animate(alongsideTransition: {
+                        lastConfiguration.restore(for: textFieldView)
+                    })
+                }
+
+                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.
+                if lastConfiguration.hasChanged {
+                    if lastConfiguration.scrollView.contentInset != lastConfiguration.startingContentInset {
+                        showLog("Restoring contentInset to: \(lastConfiguration.startingContentInset)")
+                    }
+
+                    if lastConfiguration.scrollView.iq.restoreContentOffset,
+                       !lastConfiguration.scrollView.contentOffset.equalTo(lastConfiguration.startingContentOffset) {
+                        showLog("Restoring contentOffset to: \(lastConfiguration.startingContentOffset)")
+                    }
+
+                    activeConfiguration.animate(alongsideTransition: {
+                        lastConfiguration.restore(for: textFieldView)
+                    })
+                }
+
+                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 textField. So doing nothing, going ahead
+        } 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)
+                    """)
+        }
+
+        //  Special case for ScrollView.
+        //  If we found lastScrollView then setting it's contentOffset to show textField.
+        if let lastScrollViewConfiguration: IQScrollViewConfiguration  = lastScrollViewConfiguration {
+            // Saving
+            var lastView: UIView = textFieldView
+            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
+
+                    if isContinue,
+                       let tableCell: UITableViewCell = textFieldView.iq.superviewOf(type: UITableViewCell.self),
+                       let indexPath: IndexPath = tableView.indexPath(for: tableCell),
+                       let previousIndexPath: IndexPath = tableView.previousIndexPath(of: indexPath) {
+
+                        let previousCellRect: CGRect = tableView.rectForRow(at: previousIndexPath)
+                        if !previousCellRect.isEmpty {
+                            let superview: UIView? = rootController.view.superview
+                            let previousCellRectInRootSuperview: CGRect = tableView.convert(previousCellRect,
+                                                                                            to: superview)
+
+                            moveUp = CGFloat.minimum(0, previousCellRectInRootSuperview.maxY - topLayoutGuide)
+                        }
+                    }
+                } 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
+
+                    if isContinue,
+                       let collectionCell = textFieldView.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) {
+
+                        let previousCellRect: CGRect = attributes.frame
+                        if !previousCellRect.isEmpty {
+                            let superview: UIView? = rootController.view.superview
+                            let previousCellRectInRootSuperview: CGRect = collectionView.convert(previousCellRect,
+                                                                                                 to: superview)
+
+                            moveUp = CGFloat.minimum(0, previousCellRectInRootSuperview.maxY - topLayoutGuide)
+                        }
+                    }
+                } else {
+                    isContinue = textFieldViewRectInRootSuperview.minY < topLayoutGuide
+
+                    if isContinue {
+                        moveUp = CGFloat.minimum(0, textFieldViewRectInRootSuperview.minY - topLayoutGuide)
+                    }
+                }
+
+                // Looping in upper hierarchy until we don't found any scrollView then
+                // 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)
+
+                        // [_textFieldView isKindOfClass:[UITextView class]] If is a UITextView type
+                        // nextScrollView == nil    If processing scrollView is last scrollView in
+                        // upper hierarchy (there is no other scrollView upper hierarchy.)
+                        // [_textFieldView isKindOfClass:[UITextView class]] If is a UITextView type
+                        // suggestedOffsetY >= 0     suggestedOffsetY must be greater than in 
+                        // order to keep distance from navigationBar (Bug ID: #92)
+                        if isScrollableTextView,
+                            nextScrollView == nil,
+                            suggestedOffsetY >= 0 {
+
+                            // Converting Rectangle according to window bounds.
+                            if let superview: UIView = textFieldView.superview {
+
+                                let currentTextFieldViewRect: CGRect = superview.convert(textFieldView.frame,
+                                                                                         to: window)
+
+                                // Calculating expected fix distance which needs to be managed from navigation bar
+                                let expectedFixDistance: CGFloat = currentTextFieldViewRect.minY - topLayoutGuide
+
+                                // 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 = scrollView.contentOffset.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
+                            } else {
+                                // Subtracting the Y offset from the move variable,
+                                // because we are going to change scrollView's contentOffset.y to suggestedOffsetY.
+                                moveUp -= (suggestedOffsetY-scrollView.contentOffset.y)
+                            }
+                        } else {
+                            // Subtracting the Y offset from the move variable,
+                            // because we are going to change scrollView's contentOffset.y to suggestedOffsetY.
+                            moveUp -= (suggestedOffsetY-scrollView.contentOffset.y)
+                        }
+
+                        let newContentOffset: CGPoint = CGPoint(x: scrollView.contentOffset.x, y: suggestedOffsetY)
+
+                        if !scrollView.contentOffset.equalTo(newContentOffset) {
+
+                            showLog("""
+                                    old contentOffset: \(scrollView.contentOffset)
+                                    new contentOffset: \(newContentOffset)
+                                    """)
+                            self.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? = textFieldView.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
+                                    self.reloadInputViews()
+                                }
+                            })
+                        }
+                    }
+
+                    // Getting next lastView & superScrollView.
+                    lastView = scrollView
+                    superScrollView = nextScrollView
+                } else {
+                    moveUp = 0
+                    break
+                }
+            }
+
+            // Updating contentInset
+            let lastScrollView = lastScrollViewConfiguration.scrollView
+            if let lastScrollViewRect: CGRect = lastScrollView.superview?.convert(lastScrollView.frame, to: window),
+                !lastScrollView.iq.ignoreContentInsetAdjustment {
+
+                var bottomInset: CGFloat = (kbSize.height)-(window.frame.height-lastScrollViewRect.maxY)
+                let keyboardAndSafeArea: CGFloat = keyboardDistance + rootConfiguration.beginSafeAreaInsets.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
+
+                if lastScrollView.contentInset != movedInsets {
+                    showLog("old ContentInset: \(lastScrollView.contentInset) new ContentInset: \(movedInsets)")
+
+                    activeConfiguration.animate(alongsideTransition: {
+                        lastScrollView.contentInset = movedInsets
+                        lastScrollView.layoutIfNeeded() // (Bug ID: #1996)
+
+                        var newScrollIndicatorInset: UIEdgeInsets
+
+                        #if swift(>=5.1)
+                        if #available(iOS 11.1, *) {
+                            newScrollIndicatorInset = lastScrollView.verticalScrollIndicatorInsets
+                        } else {
+                            newScrollIndicatorInset = lastScrollView.scrollIndicatorInsets
+                        }
+                        #else
+                        newScrollIndicatorInset = lastScrollView.scrollIndicatorInsets
+                        #endif
+
+                        newScrollIndicatorInset.bottom = bottomScrollIndicatorInset
+                        lastScrollView.scrollIndicatorInsets = newScrollIndicatorInset
+                    })
+                }
+            }
+        }
+        // Going ahead. No else if.
+
+        // Special case for UITextView
+        // (Readjusting textView.contentInset when textView hight is too big to fit on screen)
+        // _lastScrollView If not having inside any scrollView, now contentInset manages the full screen textView.
+        // [_textFieldView isKindOfClass:[UITextView class]] If is a UITextView type
+        if isScrollableTextView, let textView = textFieldView as? UIScrollView {
+
+            let keyboardYPosition: CGFloat = window.frame.height - originalKbSize.height
+            var rootSuperViewFrameInWindow: CGRect = window.frame
+            if let rootSuperview: UIView = rootController.view.superview {
+                rootSuperViewFrameInWindow = rootSuperview.convert(rootSuperview.bounds, to: window)
+            }
+
+            let keyboardOverlapping: CGFloat = rootSuperViewFrameInWindow.maxY - keyboardYPosition
+
+            let availableHeight: CGFloat = rootSuperViewFrameInWindow.height-topLayoutGuide-keyboardOverlapping
+            let textViewHeight: CGFloat = CGFloat.minimum(textView.frame.height, availableHeight)
+
+            if textView.frame.size.height-textView.contentInset.bottom>textViewHeight {
+                // If frame is not change by library in past, then saving user textView properties  (Bug ID: #92)
+                if startingTextViewConfiguration == nil {
+                    startingTextViewConfiguration = IQScrollViewConfiguration(scrollView: textView,
+                                                                              canRestoreContentOffset: false)
+                }
+
+                var newContentInset: UIEdgeInsets = textView.contentInset
+                newContentInset.bottom = textView.frame.size.height-textViewHeight
+                newContentInset.bottom -= textView.safeAreaInsets.bottom
+
+                if textView.contentInset != newContentInset {
+                    self.showLog("""
+                                \(textFieldView) Old UITextView.contentInset: \(textView.contentInset)
+                                 New UITextView.contentInset: \(newContentInset)
+                                """)
+
+                    activeConfiguration.animate(alongsideTransition: {
+
+                        textView.contentInset = newContentInset
+                        textView.layoutIfNeeded() // (Bug ID: #1996)
+                        textView.scrollIndicatorInsets = newContentInset
+                    })
+                }
+            }
+        }
+
+        // +Positive or zero.
+        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 = (rootConfiguration.beginOrigin.y-rootViewOrigin.y)
+        } else {  //  -Negative
+            let disturbDistance: CGFloat = rootViewOrigin.y-rootConfiguration.beginOrigin.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 = (rootConfiguration.beginOrigin.y-rootViewOrigin.y)
+            }
+        }
+
+        let elapsedTime: CFTimeInterval = CACurrentMediaTime() - startTime
+        showLog("<<<<< \(#function) ended: \(elapsedTime) seconds <<<<<", indentation: -1)
+    }
+    // swiftlint:enable cyclomatic_complexity
+    // swiftlint:enable function_body_length
+
+    // swiftlint:disable cyclomatic_complexity
+    // swiftlint:disable function_body_length
+    internal func restorePosition() {
+
+        //  Setting rootViewController frame to it's original position. //  (Bug ID: #18)
+        guard let configuration: IQRootControllerConfiguration = activeConfiguration.rootControllerConfiguration else {
+            return
+        }
+        let startTime: CFTimeInterval = CACurrentMediaTime()
+        showLog(">>>>> \(#function) started >>>>>", 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 textFieldView: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+           let lastConfiguration: IQScrollViewConfiguration = lastScrollViewConfiguration {
+
+            activeConfiguration.animate(alongsideTransition: {
+
+                if lastConfiguration.hasChanged {
+                    if lastConfiguration.scrollView.contentInset != lastConfiguration.startingContentInset {
+                        self.showLog("Restoring contentInset to: \(lastConfiguration.startingContentInset)")
+                    }
+
+                    if lastConfiguration.scrollView.iq.restoreContentOffset,
+                       !lastConfiguration.scrollView.contentOffset.equalTo(lastConfiguration.startingContentOffset) {
+                        self.showLog("Restoring contentOffset to: \(lastConfiguration.startingContentOffset)")
+                    }
+
+                    lastConfiguration.restore(for: textFieldView)
+                }
+
+                // This is temporary solution. Have to implement the save and restore scrollView state
+                var superScrollView: UIScrollView? = lastConfiguration.scrollView
+
+                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? = textFieldView.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
+                            }
+
+                            self.showLog("Restoring contentOffset to: \(newContentOffset)")
+                        }
+                    }
+
+                    superScrollView = scrollView.iq.superviewOf(type: UIScrollView.self)
+                }
+            })
+        }
+
+        self.movedDistance = 0
+        let elapsedTime: CFTimeInterval = CACurrentMediaTime() - startTime
+        showLog("<<<<< \(#function) ended: \(elapsedTime) seconds <<<<<", indentation: -1)
+    }
+    // swiftlint:enable cyclomatic_complexity
+    // swiftlint:enable function_body_length
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Toolbar.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Toolbar.swift
new file mode 100644 (file)
index 0000000..a7b1791
--- /dev/null
@@ -0,0 +1,280 @@
+//
+//  IQKeyboardManager+Toolbar.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)
+public extension IQKeyboardManager {
+
+    /**
+    Default tag for toolbar with Done button   -1002.
+    */
+    private static let  kIQDoneButtonToolbarTag         =   -1002
+
+    /**
+    Default tag for toolbar with Previous/Next buttons -1005.
+    */
+    private static let  kIQPreviousNextButtonToolbarTag =   -1005
+
+    // swiftlint:disable function_body_length
+    // swiftlint:disable cyclomatic_complexity
+    /**
+     Add toolbar if it is required to add on textFields and it's siblings.
+     */
+    internal func addToolbarIfRequired() {
+
+        // Either there is no inputAccessoryView or
+        // if accessoryView is not appropriate for current situation
+        // (There is Previous/Next/Done toolbar)
+        guard let siblings: [UIView] = responderViews(), !siblings.isEmpty,
+              let textField: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+              textField.responds(to: #selector(setter: UITextField.inputAccessoryView)) else {
+            return
+        }
+
+        if let inputAccessoryView: UIView = textField.inputAccessoryView {
+
+            if inputAccessoryView.tag == IQKeyboardManager.kIQPreviousNextButtonToolbarTag ||
+                inputAccessoryView.tag == IQKeyboardManager.kIQDoneButtonToolbarTag {
+                // continue
+            } else {
+                let swiftUIAccessoryName: String = "InputAccessoryHost<InputAccessoryBar>"
+                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 classNameString.hasPrefix(swiftUIAccessoryName), inputAccessoryView.subviews.isEmpty else {
+                    return
+                }
+            }
+        }
+
+        showLog(">>>>> \(#function) started >>>>>", indentation: 1)
+        let startTime: CFTimeInterval = CACurrentMediaTime()
+
+        showLog("Found \(siblings.count) responder sibling(s)")
+
+        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"
+        }
+
+        let isTableCollectionView: Bool
+        if textField.iq.superviewOf(type: UITableView.self) != nil ||
+            textField.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 textField is part of UITableView/UICollectionView then we should be exposing previous/next too
+            // Because at this time we don't know the previous or next cell if it contains another textField 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: IQToolbarPlaceholderConfiguration = toolbarConfiguration.placeholderConfiguration
+        if havePreviousNext {
+            let prevConfiguration: IQBarButtonItemConfiguration
+            if let configuration: IQBarButtonItemConfiguration = toolbarConfiguration.previousBarButtonConfiguration {
+                configuration.action = #selector(self.previousAction(_:))
+                prevConfiguration = configuration
+            } else {
+                prevConfiguration = IQBarButtonItemConfiguration(image: (UIImage.keyboardPreviousImage),
+                                                                 action: #selector(self.previousAction(_:)))
+                prevConfiguration.accessibilityLabel = "Previous"
+            }
+
+            let nextConfiguration: IQBarButtonItemConfiguration
+            if let configuration: IQBarButtonItemConfiguration = toolbarConfiguration.nextBarButtonConfiguration {
+                configuration.action = #selector(self.nextAction(_:))
+                nextConfiguration = configuration
+            } else {
+                nextConfiguration = IQBarButtonItemConfiguration(image: (UIImage.keyboardNextImage),
+                                                                 action: #selector(self.nextAction(_:)))
+                nextConfiguration.accessibilityLabel = "Next"
+            }
+
+            let titleText: String? = placeholderConfig.showPlaceholder ? textField.iq.drawingPlaceholder : nil
+            textField.iq.addToolbar(target: self,
+                                    previousConfiguration: prevConfiguration,
+                                    nextConfiguration: nextConfiguration,
+                                    rightConfiguration: rightConfiguration, title: titleText,
+                                    titleAccessibilityLabel: placeholderConfig.accessibilityLabel)
+
+            // (Bug ID: #78)
+            textField.inputAccessoryView?.tag = IQKeyboardManager.kIQPreviousNextButtonToolbarTag
+
+            if isTableCollectionView {
+                // (Bug ID: #56)
+                // In case of UITableView, the next/previous buttons should always be enabled.
+                textField.iq.toolbar.previousBarButton.isEnabled = true
+                textField.iq.toolbar.nextBarButton.isEnabled = true
+            } else {
+                // If firstTextField, then previous should not be enabled.
+                textField.iq.toolbar.previousBarButton.isEnabled = (siblings.first != textField)
+                // If lastTextField then next should not be enabled.
+                textField.iq.toolbar.nextBarButton.isEnabled = (siblings.last != textField)
+            }
+
+        } else {
+
+            let titleText: String? = placeholderConfig.showPlaceholder ? textField.iq.drawingPlaceholder : nil
+            textField.iq.addToolbar(target: self, rightConfiguration: rightConfiguration,
+                                    title: titleText,
+                                    titleAccessibilityLabel: placeholderConfig.accessibilityLabel)
+
+            textField.inputAccessoryView?.tag = IQKeyboardManager.kIQDoneButtonToolbarTag //  (Bug ID: #78)
+        }
+
+        let toolbar: IQToolbar = textField.iq.toolbar
+
+        // Setting toolbar tintColor //  (Enhancement ID: #30)
+        if toolbarConfiguration.useTextFieldTintColor {
+            toolbar.tintColor = textField.tintColor
+        } else {
+            toolbar.tintColor = toolbarConfiguration.tintColor
+        }
+
+        //  Setting toolbar to keyboard.
+        if let textFieldView: UITextInput = textField as? UITextInput {
+
+            // Bar style according to keyboard appearance
+            switch textFieldView.keyboardAppearance {
+
+            case .dark?:
+                toolbar.barStyle = .black
+                toolbar.barTintColor = nil
+            default:
+                toolbar.barStyle = .default
+                toolbar.barTintColor = toolbarConfiguration.barTintColor
+            }
+        }
+
+        // Setting toolbar title font.   //  (Enhancement ID: #30)
+        if toolbarConfiguration.placeholderConfiguration.showPlaceholder,
+            !textField.iq.hidePlaceholder {
+
+            // Updating placeholder font to toolbar.     //(Bug ID: #148, #272)
+            if toolbar.titleBarButton.title == nil ||
+                toolbar.titleBarButton.title != textField.iq.drawingPlaceholder {
+                toolbar.titleBarButton.title = textField.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
+
+        } else {
+            toolbar.titleBarButton.title = nil
+        }
+
+        // In case of UITableView (Special), the next/previous buttons has to be refreshed every-time.    (Bug ID: #56)
+
+        // If firstTextField, then previous should not be enabled.
+        textField.iq.toolbar.previousBarButton.isEnabled = (siblings.first != textField)
+
+        // If lastTextField then next should not be enabled.
+        textField.iq.toolbar.nextBarButton.isEnabled = (siblings.last != textField)
+
+        let elapsedTime: CFTimeInterval = CACurrentMediaTime() - startTime
+        showLog("<<<<< \(#function) ended: \(elapsedTime) seconds <<<<<", indentation: -1)
+    }
+    // swiftlint:enable function_body_length
+    // swiftlint:enable cyclomatic_complexity
+
+    /** Remove any toolbar if it is IQToolbar. */
+    internal func removeToolbarIfRequired() {    //  (Bug ID: #18)
+
+        guard let siblings: [UIView] = responderViews(), !siblings.isEmpty,
+              let textField: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+                textField.responds(to: #selector(setter: UITextField.inputAccessoryView)),
+              textField.inputAccessoryView == nil ||
+               textField.inputAccessoryView?.tag == IQKeyboardManager.kIQPreviousNextButtonToolbarTag ||
+               textField.inputAccessoryView?.tag == IQKeyboardManager.kIQDoneButtonToolbarTag else {
+            return
+        }
+
+        showLog(">>>>> \(#function) started >>>>>", indentation: 1)
+        let startTime: CFTimeInterval = CACurrentMediaTime()
+
+        showLog("Found \(siblings.count) responder sibling(s)")
+
+        for view in siblings {
+            if let toolbar: IQToolbar = view.inputAccessoryView as? IQToolbar {
+
+                // setInputAccessoryView: check   (Bug ID: #307)
+                if view.responds(to: #selector(setter: UITextField.inputAccessoryView)),
+                    toolbar.tag == IQKeyboardManager.kIQDoneButtonToolbarTag ||
+                    toolbar.tag == IQKeyboardManager.kIQPreviousNextButtonToolbarTag {
+
+                    if let textField: UITextField = view as? UITextField {
+                        textField.inputAccessoryView = nil
+                    } else if let textView: UITextView = view as? UITextView {
+                        textView.inputAccessoryView = nil
+                    }
+
+                    view.reloadInputViews()
+                }
+            }
+        }
+
+        let elapsedTime: CFTimeInterval = CACurrentMediaTime() - startTime
+        showLog("<<<<< \(#function) ended: \(elapsedTime) seconds <<<<<", indentation: -1)
+    }
+
+    /**    reloadInputViews to reload toolbar buttons enable/disable state on the fly Enhancement ID #434. */
+    @objc func reloadInputViews() {
+
+        // If enabled then adding toolbar.
+        if privateIsEnableAutoToolbar() {
+            self.addToolbarIfRequired()
+        } else {
+            self.removeToolbarIfRequired()
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ToolbarActions.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ToolbarActions.swift
new file mode 100644 (file)
index 0000000..5b01190
--- /dev/null
@@ -0,0 +1,205 @@
+//
+//  IQKeyboardManager+ToolbarActions.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: Previous next button actions
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManager {
+
+    /**
+    Returns YES if can navigate to previous responder textField/textView, otherwise NO.
+    */
+    @objc var canGoPrevious: Bool {
+        // If it is not first textField. then it's previous object canBecomeFirstResponder.
+        guard let textFields: [UIView] = responderViews(),
+              let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+              let index: Int = textFields.firstIndex(of: textFieldRetain),
+              index > 0 else {
+            return false
+        }
+        return true
+    }
+
+    /**
+    Returns YES if can navigate to next responder textField/textView, otherwise NO.
+    */
+    @objc var canGoNext: Bool {
+        // If it is not first textField. then it's previous object canBecomeFirstResponder.
+        guard let textFields: [UIView] = responderViews(),
+              let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+              let index: Int = textFields.firstIndex(of: textFieldRetain),
+                index < textFields.count-1 else {
+            return false
+        }
+        return true
+    }
+
+    /**
+    Navigate to previous responder textField/textView.
+    */
+    @discardableResult
+    @objc func goPrevious() -> Bool {
+
+        // If it is not first textField. then it's previous object becomeFirstResponder.
+        guard let textFields: [UIView] = responderViews(),
+              let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+              let index: Int = textFields.firstIndex(of: textFieldRetain),
+              index > 0 else {
+            return false
+        }
+
+        let nextTextField: UIView = textFields[index-1]
+
+        let isAcceptAsFirstResponder: Bool = nextTextField.becomeFirstResponder()
+
+        //  If it refuses then becoming previous textFieldView as first responder again.    (Bug ID: #96)
+        if !isAcceptAsFirstResponder {
+            showLog("Refuses to become first responder: \(nextTextField)")
+        }
+
+        return isAcceptAsFirstResponder
+    }
+
+    /**
+    Navigate to next responder textField/textView.
+    */
+    @discardableResult
+    @objc func goNext() -> Bool {
+
+        // If it is not first textField. then it's previous object becomeFirstResponder.
+        guard let textFields: [UIView] = responderViews(),
+              let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView,
+              let index: Int = textFields.firstIndex(of: textFieldRetain),
+                index < textFields.count-1 else {
+            return false
+        }
+
+        let nextTextField: UIView = textFields[index+1]
+
+        let isAcceptAsFirstResponder: Bool = nextTextField.becomeFirstResponder()
+
+        //  If it refuses then becoming previous textFieldView as first responder again.    (Bug ID: #96)
+        if !isAcceptAsFirstResponder {
+            showLog("Refuses to become first responder: \(nextTextField)")
+        }
+
+        return isAcceptAsFirstResponder
+    }
+
+    /**    previousAction. */
+    @objc internal func previousAction (_ barButton: IQBarButtonItem) {
+
+        // If user wants to play input Click sound.
+        if playInputClicks {
+            // Play Input Click Sound.
+            UIDevice.current.playInputClick()
+        }
+
+        guard canGoPrevious,
+              let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+            return
+        }
+
+        let isAcceptAsFirstResponder: Bool = goPrevious()
+
+        var invocation: IQInvocation? = barButton.invocation
+        var sender: UIView = textFieldRetain
+
+        // Handling search bar special case
+        do {
+            if let searchBar: UIView = textFieldRetain.iq.textFieldSearchBar() {
+                invocation = searchBar.iq.toolbar.previousBarButton.invocation
+                sender = searchBar
+            }
+        }
+
+        if isAcceptAsFirstResponder {
+            invocation?.invoke(from: sender)
+        }
+    }
+
+    /**    nextAction. */
+    @objc internal func nextAction (_ barButton: IQBarButtonItem) {
+
+        // If user wants to play input Click sound.
+        if playInputClicks {
+            // Play Input Click Sound.
+            UIDevice.current.playInputClick()
+        }
+
+        guard canGoNext,
+              let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+            return
+        }
+
+        let isAcceptAsFirstResponder: Bool = goNext()
+
+        var invocation: IQInvocation? = barButton.invocation
+        var sender: UIView = textFieldRetain
+
+        // Handling search bar special case
+        do {
+            if let searchBar: UIView = textFieldRetain.iq.textFieldSearchBar() {
+                invocation = searchBar.iq.toolbar.nextBarButton.invocation
+                sender = searchBar
+            }
+        }
+
+        if isAcceptAsFirstResponder {
+            invocation?.invoke(from: sender)
+        }
+    }
+
+    /**    doneAction. Resigning current textField. */
+    @objc internal func doneAction (_ barButton: IQBarButtonItem) {
+
+        // If user wants to play input Click sound.
+        if playInputClicks {
+            // Play Input Click Sound.
+            UIDevice.current.playInputClick()
+        }
+
+        guard let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+            return
+        }
+
+        // Resign textFieldView.
+        let isResignedFirstResponder: Bool = resignFirstResponder()
+
+        var invocation: IQInvocation? = barButton.invocation
+        var sender: UIView = textFieldRetain
+
+        // Handling search bar special case
+        do {
+            if let searchBar: UIView = textFieldRetain.iq.textFieldSearchBar() {
+                invocation = searchBar.iq.toolbar.doneBarButton.invocation
+                sender = searchBar
+            }
+        }
+
+        if isResignedFirstResponder {
+            invocation?.invoke(from: sender)
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UIKeyboardNotification.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UIKeyboardNotification.swift
new file mode 100644 (file)
index 0000000..3850630
--- /dev/null
@@ -0,0 +1,148 @@
+//
+//  IQKeyboardManager+UIKeyboardNotification.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: UIKeyboard Notifications
+@available(iOSApplicationExtension, unavailable)
+internal extension IQKeyboardManager {
+
+    func handleKeyboardTextFieldViewVisible() {
+        if self.activeConfiguration.rootControllerConfiguration == nil {    //  (Bug ID: #5)
+
+            let rootConfiguration: IQRootControllerConfiguration? = self.activeConfiguration.rootControllerConfiguration
+            if let gestureConfiguration = self.rootConfigurationWhilePopGestureActive,
+               gestureConfiguration.rootController == rootConfiguration?.rootController {
+                self.activeConfiguration.rootControllerConfiguration = gestureConfiguration
+            }
+
+            self.rootConfigurationWhilePopGestureActive = nil
+
+            if let configuration = self.activeConfiguration.rootControllerConfiguration {
+                let classNameString: String = "\(type(of: configuration.rootController.self))"
+                self.showLog("Saving \(classNameString) beginning origin: \(configuration.beginOrigin)")
+            }
+        }
+
+        setupTextFieldView()
+
+        if !privateIsEnabled() {
+            restorePosition()
+        } else {
+            adjustPosition()
+        }
+    }
+
+    func handleKeyboardTextFieldViewChanged() {
+
+        setupTextFieldView()
+
+        if !privateIsEnabled() {
+            restorePosition()
+        } else {
+            adjustPosition()
+        }
+    }
+
+    func handleKeyboardTextFieldViewHide() {
+
+        self.restorePosition()
+        self.banishTextFieldViewSetup()
+
+        if let configuration = self.activeConfiguration.rootControllerConfiguration,
+           configuration.rootController.navigationController?.interactivePopGestureRecognizer?.state == .began {
+            self.rootConfigurationWhilePopGestureActive = configuration
+        }
+
+        self.lastScrollViewConfiguration = nil
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+internal extension IQKeyboardManager {
+
+    func setupTextFieldView() {
+
+        guard let textFieldView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+            return
+        }
+
+        do {
+            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: textFieldView)
+                })
+            }
+            startingTextViewConfiguration = nil
+        }
+
+        if keyboardConfiguration.overrideAppearance,
+           let textInput: UITextInput = textFieldView as? UITextInput,
+            textInput.keyboardAppearance != keyboardConfiguration.appearance {
+            // Setting textField keyboard appearance and reloading inputViews.
+            if let textFieldView: UITextField = textFieldView as? UITextField {
+                textFieldView.keyboardAppearance = keyboardConfiguration.appearance
+            } else if  let textFieldView: UITextView = textFieldView as? UITextView {
+                textFieldView.keyboardAppearance = keyboardConfiguration.appearance
+            }
+            textFieldView.reloadInputViews()
+        }
+
+        // If autoToolbar enable, then add toolbar on all the UITextField/UITextView's if required.
+        reloadInputViews()
+
+        resignFirstResponderGesture.isEnabled = privateResignOnTouchOutside()
+        textFieldView.window?.addGestureRecognizer(resignFirstResponderGesture)    //   (Enhancement ID: #14)
+    }
+
+    func banishTextFieldViewSetup() {
+
+        guard let textFieldView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+            return
+        }
+
+        // Removing gesture recognizer   (Enhancement ID: #14)
+        textFieldView.window?.removeGestureRecognizer(resignFirstResponderGesture)
+
+        do {
+            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: textFieldView)
+                })
+            }
+            startingTextViewConfiguration = nil
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UITextFieldViewNotification.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UITextFieldViewNotification.swift
new file mode 100644 (file)
index 0000000..676a8bc
--- /dev/null
@@ -0,0 +1,46 @@
+//
+//  IQKeyboardManager+UITextFieldViewNotification.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: UITextField/UITextView Notifications
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal extension IQKeyboardManager {
+
+    @MainActor
+    private struct AssociatedKeys {
+        static var rootConfigWhilePopActive: Int = 0
+    }
+
+    var rootConfigurationWhilePopGestureActive: IQRootControllerConfiguration? {
+        get {
+            return objc_getAssociatedObject(self,
+                                            &AssociatedKeys.rootConfigWhilePopActive) as? IQRootControllerConfiguration
+        }
+        set(newValue) {
+            objc_setAssociatedObject(self, &AssociatedKeys.rootConfigWhilePopActive,
+                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift
new file mode 100644 (file)
index 0000000..eeaca4b
--- /dev/null
@@ -0,0 +1,331 @@
+//
+//  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
+import CoreGraphics
+import QuartzCore
+
+// MARK: IQToolbar tags
+
+// swiftlint:disable line_length
+// A generic version of KeyboardManagement. (OLD DOCUMENTATION) LINK
+// https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html
+// https://developer.apple.com/documentation/uikit/keyboards_and_input/adjusting_your_layout_with_keyboard_layout_guide
+// swiftlint:enable line_length
+
+/**
+Code-less drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView.
+ Neither need to write any code nor any setup required and much more.
+*/
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQKeyboardManager: NSObject {
+
+    /**
+    Returns the default singleton instance.
+    */
+    @objc public static let shared: IQKeyboardManager = .init()
+
+    // MARK: UIKeyboard handling
+
+    /**
+    Enable/disable managing distance between keyboard and textField.
+     Default is YES(Enabled when class loads in `+(void)load` method).
+    */
+    @objc public var enable: Bool = false {
+
+        didSet {
+            // If not enable, enable it.
+            if enable, !oldValue {
+                // If keyboard is currently showing.
+                if activeConfiguration.keyboardInfo.keyboardShowing {
+                    adjustPosition()
+                } else {
+                    restorePosition()
+                }
+                showLog("Enabled")
+            } else if !enable, oldValue {   // If not disable, disable it.
+                restorePosition()
+                showLog("Disabled")
+            }
+        }
+    }
+
+    /**
+    To set keyboard distance from textField. can't be less than zero. Default is 10.0.
+    */
+    @objc public var keyboardDistanceFromTextField: CGFloat = 10.0
+
+    // MARK: IQToolbar handling
+
+    /**
+    Automatic add the IQToolbar functionality. Default is YES.
+    */
+    @objc public var enableAutoToolbar: Bool = true {
+        didSet {
+            reloadInputViews()
+            showLog("enableAutoToolbar: \(enableAutoToolbar ? "Yes" : "NO")")
+        }
+    }
+
+    internal var activeConfiguration: IQActiveConfiguration = .init()
+
+    /**
+    Configurations related to the toolbar display over the keyboard.
+    */
+    @objc public let toolbarConfiguration: IQToolbarConfiguration = .init()
+
+    /**
+    Configuration related to keyboard appearance
+    */
+    @objc public let keyboardConfiguration: IQKeyboardConfiguration = .init()
+
+    // MARK: UITextField/UITextView Next/Previous/Resign handling
+
+    /**
+    Resigns Keyboard on touching outside of UITextField/View. Default is NO.
+    */
+    @objc public var resignOnTouchOutside: Bool = false {
+
+        didSet {
+            resignFirstResponderGesture.isEnabled = privateResignOnTouchOutside()
+
+            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
+     */
+    @objc public lazy var resignFirstResponderGesture: UITapGestureRecognizer = {
+
+        let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tapRecognized(_:)))
+        tapGesture.cancelsTouchesInView = false
+        tapGesture.delegate = self
+
+        return tapGesture
+    }()
+
+    /*******************************************/
+
+    /**
+    Resigns currently first responder field.
+    */
+    @discardableResult
+    @objc public func resignFirstResponder() -> Bool {
+
+        guard let textFieldRetain: UIView = activeConfiguration.textFieldViewInfo?.textFieldView else {
+            return false
+        }
+
+        // Resigning first responder
+        guard textFieldRetain.resignFirstResponder() else {
+            showLog("Refuses to resign first responder: \(textFieldRetain)")
+            //  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.
+            textFieldRetain.becomeFirstResponder()
+            return false
+        }
+        return true
+    }
+
+    // MARK: UISound handling
+
+    /**
+    If YES, then it plays inputClick sound on next/previous/done click.
+    */
+    @objc public var playInputClicks: Bool = true
+
+    // MARK: UIAnimation handling
+
+    /**
+    If YES, then calls 'setNeedsLayout' and 'layoutIfNeeded' on any frame update of to viewController's view.
+    */
+    @objc 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.
+     */
+    @objc public var disabledDistanceHandlingClasses: [UIViewController.Type] = []
+
+    /**
+     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.
+     */
+    @objc public var enabledDistanceHandlingClasses: [UIViewController.Type] = []
+
+    /**
+     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.
+     */
+    @objc public var disabledToolbarClasses: [UIViewController.Type] = []
+
+    /**
+     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.
+     */
+    @objc public var enabledToolbarClasses: [UIViewController.Type] = []
+
+    /**
+     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.
+     */
+    @objc public var toolbarPreviousNextAllowedClasses: [UIView.Type] = []
+
+    /**
+     Disabled classes to ignore resignOnTouchOutside' property, Class should be kind of UIViewController.
+     */
+    @objc public var disabledTouchResignedClasses: [UIViewController.Type] = []
+
+    /**
+     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.
+     */
+    @objc 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]
+     */
+    @objc public var touchResignedGestureIgnoreClasses: [UIView.Type] = []
+
+    // MARK: Third Party Library support
+    /// Add TextField/TextView Notifications customized Notifications.
+    /// For example while using YYTextView https://github.com/ibireme/YYText
+
+   /**************************************************************************************/
+
+    // MARK: Initialization/De-initialization
+
+    /*  Singleton Object Initialization. */
+    override init() {
+
+        super.init()
+
+        self.addActiveConfigurationObserver()
+
+        // Creating gesture for resignOnTouchOutside. (Enhancement ID: #14)
+        resignFirstResponderGesture.isEnabled = resignOnTouchOutside
+
+        disabledDistanceHandlingClasses.append(UITableViewController.self)
+        disabledDistanceHandlingClasses.append(UIInputViewController.self)
+        disabledDistanceHandlingClasses.append(UIAlertController.self)
+
+        disabledToolbarClasses.append(UIAlertController.self)
+        disabledToolbarClasses.append(UIInputViewController.self)
+
+        disabledTouchResignedClasses.append(UIAlertController.self)
+        disabledTouchResignedClasses.append(UIInputViewController.self)
+
+        toolbarPreviousNextAllowedClasses.append(UITableView.self)
+        toolbarPreviousNextAllowedClasses.append(UICollectionView.self)
+        toolbarPreviousNextAllowedClasses.append(IQPreviousNextView.self)
+
+        touchResignedGestureIgnoreClasses.append(UIControl.self)
+        touchResignedGestureIgnoreClasses.append(UINavigationBar.self)
+
+        NotificationCenter.default.addObserver(self, selector: #selector(applicationDidBecomeActive(_:)),
+                                               name: UIApplication.didBecomeActiveNotification, object: nil)
+
+        // (Bug ID: #550)
+        // Loading IQToolbar, 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 textField: UIView = UITextField()
+            textField.iq.addDone(target: nil, action: #selector(self.doneAction(_:)))
+            textField.iq.addPreviousNextDone(target: nil, previousAction: #selector(self.previousAction(_:)),
+                                             nextAction: #selector(self.nextAction(_:)),
+                                             doneAction: #selector(self.doneAction(_:)))
+        }
+    }
+
+    deinit {
+        //  Disable the keyboard manager.
+        enable = false
+    }
+
+    // MARK: Public Methods
+
+    /*  Refreshes textField/textView position if any external changes is explicitly made by user.   */
+    @objc public func reloadLayoutIfNeeded() {
+
+        guard privateIsEnabled(),
+              activeConfiguration.keyboardInfo.keyboardShowing,
+              activeConfiguration.isReady else {
+                return
+        }
+        adjustPosition()
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardManager: UIGestureRecognizerDelegate {
+
+    /** Resigning on tap gesture.   (Enhancement ID: #14)*/
+    @objc private func tapRecognized(_ gesture: UITapGestureRecognizer) {
+
+        if gesture.state == .ended {
+
+            // Resigning currently responder textField.
+            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.
+     */
+    @objc 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
+     */
+    @objc 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/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManagerCompatible/IQKeyboardManagerCompatible.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQKeyboardManagerCompatible/IQKeyboardManagerCompatible.swift
new file mode 100644 (file)
index 0000000..d4bad3c
--- /dev/null
@@ -0,0 +1,59 @@
+//
+//  IQKeyboardManagerCompatible.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 Foundation
+
+/// Wrapper for IQKeyboardManager compatible types. This type provides an extension point for
+/// convenience methods in IQKeyboardManager.
+@available(iOSApplicationExtension, unavailable)
+public struct IQKeyboardManagerWrapper<Base> {
+    public let base: Base
+    public 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 IQKeyboardManagerCompatible {
+    /// Type being extended.
+    associatedtype Base
+
+    /// Instance IQKeyboardManager extension point.
+    var iq: IQKeyboardManagerWrapper<Base> { get set }
+}
+
+// swiftlint:disable unused_setter_value
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardManagerCompatible {
+
+    /// Instance IQKeyboardManager extension point.
+    var iq: IQKeyboardManagerWrapper<Self> {
+        get { IQKeyboardManagerWrapper(self) }
+        set {}
+    }
+}
+// swiftlint:enable unused_setter_value
+// swiftlint:enable identifier_name
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQTextView/IQPlaceholderable.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQTextView/IQPlaceholderable.swift
new file mode 100644 (file)
index 0000000..e8f7188
--- /dev/null
@@ -0,0 +1,39 @@
+//
+//  IQPlaceholderable.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 Foundation
+import UIKit
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public protocol IQPlaceholderable: AnyObject {
+
+    var placeholder: String? { get set }
+    var attributedPlaceholder: NSAttributedString? { get set }
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension UITextField: IQPlaceholderable { }
+
+@available(iOSApplicationExtension, unavailable)
+extension IQTextView: IQPlaceholderable { }
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQTextView/IQTextView.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQTextView/IQTextView.swift
new file mode 100644 (file)
index 0000000..10ef582
--- /dev/null
@@ -0,0 +1,195 @@
+//
+//  IQTextView.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
+
+/** @abstract UITextView with placeholder support   */
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc open class IQTextView: UITextView {
+
+    @objc required public init?(coder aDecoder: NSCoder) {
+        super.init(coder: aDecoder)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.refreshPlaceholder),
+                                               name: UITextView.textDidChangeNotification, object: self)
+    }
+
+    @objc override public init(frame: CGRect, textContainer: NSTextContainer?) {
+        super.init(frame: frame, textContainer: textContainer)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.refreshPlaceholder),
+                                               name: UITextView.textDidChangeNotification, object: self)
+    }
+
+    @objc override open func awakeFromNib() {
+        super.awakeFromNib()
+        NotificationCenter.default.addObserver(self, selector: #selector(self.refreshPlaceholder),
+                                               name: UITextView.textDidChangeNotification, object: self)
+    }
+
+    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)
+    }
+
+    lazy var placeholderLabel: UILabel = {
+        let label = UILabel()
+
+        label.autoresizingMask = [.flexibleWidth, .flexibleHeight]
+        label.lineBreakMode = .byWordWrapping
+        label.numberOfLines = 0
+        label.font = self.font
+        label.textAlignment = self.textAlignment
+        label.backgroundColor = UIColor.clear
+        label.isAccessibilityElement = false
+        #if swift(>=5.1)
+        label.textColor = UIColor.systemGray
+        #else
+        label.textColor = UIColor.lightText
+        #endif
+        label.alpha = 0
+        self.addSubview(label)
+
+        return label
+    }()
+
+    /** @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()
+        }
+    }
+
+    @objc override open func layoutSubviews() {
+        super.layoutSubviews()
+
+        placeholderLabel.frame = placeholderExpectedFrame
+    }
+
+    @objc private func refreshPlaceholder() {
+
+        let text: String = text ?? attributedText?.string ?? ""
+        if text.isEmpty {
+            placeholderLabel.alpha = 1
+        } else {
+            placeholderLabel.alpha = 0
+        }
+    }
+
+    @objc override open var text: String! {
+
+        didSet {
+            refreshPlaceholder()
+        }
+    }
+
+    open override var attributedText: NSAttributedString! {
+
+        didSet {
+            refreshPlaceholder()
+        }
+    }
+
+    @objc override open var font: UIFont? {
+
+        didSet {
+
+            if let unwrappedFont: UIFont = font {
+                placeholderLabel.font = unwrappedFont
+            } else {
+                placeholderLabel.font = UIFont.systemFont(ofSize: 12)
+            }
+        }
+    }
+
+    @objc override open var textAlignment: NSTextAlignment {
+        didSet {
+            placeholderLabel.textAlignment = textAlignment
+        }
+    }
+
+    @objc override weak open var delegate: UITextViewDelegate? {
+
+        get {
+            refreshPlaceholder()
+            return super.delegate
+        }
+
+        set {
+            super.delegate = newValue
+        }
+    }
+
+    @objc override open 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
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQBarButtonItem.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQBarButtonItem.swift
new file mode 100644 (file)
index 0000000..52af9cc
--- /dev/null
@@ -0,0 +1,120 @@
+//
+//  IQBarButtonItem.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 open class IQBarButtonItem: UIBarButtonItem {
+
+    internal static let flexibleBarButtonItem: IQBarButtonItem = IQBarButtonItem(barButtonSystemItem: .flexibleSpace,
+                                                                                 target: nil, action: nil)
+
+    @objc public override init() {
+        super.init()
+        initialize()
+    }
+
+    @objc 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)
+    }
+
+    @objc 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.
+     */
+    @objc open func setTarget(_ target: AnyObject?, action: Selector?) {
+        if let target: AnyObject = target, let action: Selector = action {
+            invocation = IQInvocation(target, action)
+        } else {
+            invocation = nil
+        }
+    }
+
+    /**
+     Customized Invocation to be called when button is pressed.
+     invocation is internally created using setTarget:action: method.
+     */
+    @objc 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/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQInvocation.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQInvocation.swift
new file mode 100644 (file)
index 0000000..2ba446a
--- /dev/null
@@ -0,0 +1,42 @@
+//
+//  IQInvocation.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 final class IQInvocation: NSObject {
+    @objc public weak var target: AnyObject?
+    @objc public var action: Selector
+
+    @objc public init(_ target: AnyObject, _ action: Selector) {
+        self.target = target
+        self.action = action
+    }
+
+    @objc public func invoke(from: Any) {
+        if let target: AnyObject = target {
+            UIApplication.shared.sendAction(action, to: target, from: from, for: UIEvent())
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQPreviousNextView.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQPreviousNextView.swift
new file mode 100644 (file)
index 0000000..d841752
--- /dev/null
@@ -0,0 +1,29 @@
+//
+// IQPreviousNextView.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 open class IQPreviousNextView: UIView {
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQTitleBarButtonItem.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQTitleBarButtonItem.swift
new file mode 100644 (file)
index 0000000..ec16063
--- /dev/null
@@ -0,0 +1,152 @@
+//
+//  IQTitleBarButtonItem.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 open class IQTitleBarButtonItem: IQBarButtonItem {
+
+    @objc open var titleFont: UIFont? {
+
+        didSet {
+            if let unwrappedFont: UIFont = titleFont {
+                titleButton?.titleLabel?.font = unwrappedFont
+            } else {
+                titleButton?.titleLabel?.font = UIFont.systemFont(ofSize: 13)
+            }
+        }
+    }
+
+    @objc override open var title: String? {
+        didSet {
+            titleButton?.setTitle(title, for: .normal)
+        }
+    }
+
+    /**
+     titleColor to be used for displaying button text when displaying title (disabled state).
+     */
+    @objc open var titleColor: UIColor? {
+
+        didSet {
+
+            if let color: UIColor = titleColor {
+                titleButton?.setTitleColor(color, for: .disabled)
+            } else {
+                titleButton?.setTitleColor(UIColor.lightGray, for: .disabled)
+            }
+        }
+    }
+
+    /**
+     selectableTitleColor to be used for displaying button text when button is enabled.
+     */
+    @objc open var selectableTitleColor: UIColor? {
+
+        didSet {
+
+            if let color: UIColor = selectableTitleColor {
+                titleButton?.setTitleColor(color, for: .normal)
+            } else {
+                #if swift(>=5.1)
+                titleButton?.setTitleColor(UIColor.systemBlue, for: .normal)
+                #else
+                titleButton?.setTitleColor(UIColor(red: 0.0, green: 0.5, blue: 1.0, alpha: 1), for: .normal)
+                #endif
+            }
+        }
+    }
+
+    internal var titleButton: UIButton?
+    private var _titleView: UIView?
+
+    override init() {
+        super.init()
+    }
+
+    @objc 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?.accessibilityTraits = .staticText
+        titleButton?.isEnabled = false
+        titleButton?.titleLabel?.numberOfLines = 3
+        titleButton?.setTitleColor(UIColor.lightGray, for: .disabled)
+        #if swift(>=5.1)
+        titleButton?.setTitleColor(UIColor.systemBlue, for: .normal)
+        #else
+        titleButton?.setTitleColor(UIColor(red: 0.0, green: 0.5, blue: 1.0, alpha: 1), for: .normal)
+        #endif
+        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
+    }
+
+    @objc required public init?(coder aDecoder: NSCoder) {
+        super.init(coder: aDecoder)
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQToolbar.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQToolbar.swift
new file mode 100644 (file)
index 0000000..196e90d
--- /dev/null
@@ -0,0 +1,184 @@
+//
+//  IQToolbar.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
+
+/** @abstract   IQToolbar for IQKeyboardManager.    */
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc open class IQToolbar: UIToolbar, UIInputViewAudioFeedback {
+
+    override init(frame: CGRect) {
+        super.init(frame: frame)
+
+        initialize()
+    }
+
+    @objc 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?
+    @objc 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?
+    @objc 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?
+    @objc open var titleBarButton: IQTitleBarButtonItem {
+        get {
+            if privateTitleBarButton == nil {
+                privateTitleBarButton = IQTitleBarButtonItem(title: nil)
+                privateTitleBarButton?.accessibilityTraits = .staticText
+                privateTitleBarButton?.accessibilityLabel = "Title"
+                privateTitleBarButton?.accessibilityIdentifier = privateTitleBarButton?.accessibilityLabel
+            }
+            return privateTitleBarButton!
+        }
+
+        set (newValue) {
+            privateTitleBarButton = newValue
+        }
+    }
+
+    /**
+     Done bar button of toolbar.
+     */
+    private var privateDoneBarButton: IQBarButtonItem?
+    @objc 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?
+    @objc 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
+        }
+    }
+
+    @objc override open func sizeThatFits(_ size: CGSize) -> CGSize {
+        var sizeThatFit: CGSize = super.sizeThatFits(size)
+        sizeThatFit.height = 44
+        return sizeThatFit
+    }
+
+    @objc override open var tintColor: UIColor! {
+
+        didSet {
+            if let unwrappedItems: [UIBarButtonItem] = items {
+                for item in unwrappedItems {
+                    item.tintColor = tintColor
+                }
+            }
+        }
+    }
+
+    @objc open var enableInputClicksWhenVisible: Bool {
+        return true
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbar.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbar.swift
new file mode 100644 (file)
index 0000000..2bc30fd
--- /dev/null
@@ -0,0 +1,325 @@
+//
+//  IQUIView+IQKeyboardToolbar.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
+private struct AssociatedKeys {
+    static var toolbar: Int = 0
+    static var hidePlaceholder: Int = 0
+    static var placeholder: Int = 0
+}
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public extension IQKeyboardManagerWrapper where Base: UIView {
+
+    // MARK: Toolbar
+
+    /**
+     IQToolbar references for better customization control.
+     */
+    var toolbar: IQToolbar {
+        var toolbar: IQToolbar? = base.inputAccessoryView as? IQToolbar
+
+        if toolbar == nil {
+            toolbar = objc_getAssociatedObject(base, &AssociatedKeys.toolbar) as? IQToolbar
+        }
+
+        if let unwrappedToolbar: IQToolbar = toolbar {
+            return unwrappedToolbar
+        } else {
+
+            let width: CGFloat
+
+            if #available(iOS 13.0, *) {
+                width = base.window?.windowScene?.screen.bounds.width ?? 0
+            } else {
+                width = UIScreen.main.bounds.width
+            }
+
+            let frame = CGRect(origin: .zero, size: .init(width: width, height: 44))
+            let newToolbar = IQToolbar(frame: frame)
+
+            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 {
+            return objc_getAssociatedObject(base, &AssociatedKeys.hidePlaceholder) as? Bool ?? false
+        }
+        set(newValue) {
+            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 {
+            return objc_getAssociatedObject(base, &AssociatedKeys.placeholder) as? String
+        }
+        set(newValue) {
+            objc_setAssociatedObject(base, &AssociatedKeys.placeholder, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+            toolbar.titleBarButton.title = drawingPlaceholder
+        }
+    }
+
+    /**
+     `drawingToolbarPlaceholder` will be actual text used to draw on toolbar. 
+     This would either `placeholder` or `toolbarPlaceholder`.
+     */
+    var drawingPlaceholder: String? {
+
+        if hidePlaceholder {
+            return nil
+        } else if placeholder?.isEmpty == false {
+            return placeholder
+        } else if let placeholderable: IQPlaceholderable = base as? IQPlaceholderable {
+
+            if let placeholder = placeholderable.attributedPlaceholder?.string,
+                !placeholder.isEmpty {
+                return placeholder
+            } else if let placeholder = placeholderable.placeholder {
+                return placeholder
+            } else {
+                return nil
+            }
+        } else {
+            return nil
+        }
+    }
+
+    // MARK: Common
+
+    // swiftlint:disable cyclomatic_complexity
+    // swiftlint:disable function_body_length
+    func addToolbar(target: AnyObject?,
+                    previousConfiguration: IQBarButtonItemConfiguration? = nil,
+                    nextConfiguration: IQBarButtonItemConfiguration? = nil,
+                    rightConfiguration: IQBarButtonItemConfiguration? = nil,
+                    title: String?,
+                    titleAccessibilityLabel: String? = nil) {
+
+        // If can't set InputAccessoryView. Then return
+        if base.responds(to: #selector(setter: UITextField.inputAccessoryView)) {
+
+            //  Creating a toolBar for phoneNumber keyboard
+            let toolbar: IQToolbar = toolbar
+
+            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)
+            }
+
+            //  Adding button to toolBar.
+            toolbar.items = items
+
+            if let textInput: UITextInput = base as? UITextInput {
+                switch textInput.keyboardAppearance {
+                case .dark?:
+                    toolbar.barStyle = .black
+                default:
+                    toolbar.barStyle = .default
+                }
+            }
+
+            //  Setting toolbar to keyboard.
+            let reloadInputViews: Bool = base.inputAccessoryView != toolbar
+            if reloadInputViews {
+                if let textField: UITextField = base as? UITextField {
+                    textField.inputAccessoryView = toolbar
+                } else if let textView: UITextView = base as? UITextView {
+                    textView.inputAccessoryView = toolbar
+                }
+                base.reloadInputViews()
+            }
+        }
+    }
+    // swiftlint:enable function_body_length
+    // swiftlint:enable cyclomatic_complexity
+
+    // 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 previousConfiguration = IQBarButtonItemConfiguration(image: UIImage.keyboardPreviousImage,
+                                                                 action: previousAction)
+        let nextConfiguration = IQBarButtonItemConfiguration(image: UIImage.keyboardNextImage, action: nextAction)
+        let rightConfiguration = IQBarButtonItemConfiguration(systemItem: .done, action: doneAction)
+
+        addToolbar(target: target, previousConfiguration: previousConfiguration,
+                   nextConfiguration: nextConfiguration, rightConfiguration: rightConfiguration,
+                   title: title, titleAccessibilityLabel: titleAccessibilityLabel)
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbarDeprecated.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbarDeprecated.swift
new file mode 100644 (file)
index 0000000..9437935
--- /dev/null
@@ -0,0 +1,228 @@
+//
+//  IQUIView+IQKeyboardToolbarDeprecated.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 function_parameter_count
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public extension UIView {
+
+    @available(*, unavailable, renamed: "iq.toolbar")
+    var keyboardToolbar: IQToolbar {
+        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/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/IQKeyboardListener.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/IQKeyboardListener.swift
new file mode 100644 (file)
index 0000000..b0e53a3
--- /dev/null
@@ -0,0 +1,115 @@
+//
+//  IQKeyboardListener.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
+public class IQKeyboardListener {
+
+    private var sizeObservers: [AnyHashable: SizeCompletion] = [:]
+
+    private(set) var keyboardInfo: IQKeyboardInfo {
+        didSet {
+            if keyboardInfo != oldValue {
+                sendEvent()
+            }
+        }
+    }
+
+    public var keyboardShowing: Bool {
+        keyboardInfo.keyboardShowing
+    }
+
+    public var frame: CGRect {
+        keyboardInfo.frame
+    }
+
+    public init() {
+        keyboardInfo = IQKeyboardInfo(notification: nil, name: .didHide)
+        //  Registering for keyboard notification.
+        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow(_:)),
+                                               name: UIResponder.keyboardWillShowNotification, object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardDidShow(_:)),
+                                               name: UIResponder.keyboardDidShowNotification, object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide(_:)),
+                                               name: UIResponder.keyboardWillHideNotification, object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardDidHide(_:)),
+                                               name: UIResponder.keyboardDidHideNotification, object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillChangeFrame(_:)),
+                                               name: UIResponder.keyboardWillChangeFrameNotification, object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardDidChangeFrame(_:)),
+                                               name: UIResponder.keyboardDidChangeFrameNotification, object: nil)
+    }
+
+    @objc private func keyboardWillShow(_ notification: Notification) {
+        keyboardInfo = IQKeyboardInfo(notification: notification, name: .willShow)
+    }
+
+    @objc private func keyboardDidShow(_ notification: Notification) {
+        keyboardInfo = IQKeyboardInfo(notification: notification, name: .didShow)
+    }
+
+    @objc private func keyboardWillHide(_ notification: Notification?) {
+        keyboardInfo = IQKeyboardInfo(notification: notification, name: .willHide)
+    }
+
+    @objc private func keyboardDidHide(_ notification: Notification) {
+        keyboardInfo = IQKeyboardInfo(notification: notification, name: .didHide)
+    }
+
+    @objc private func keyboardWillChangeFrame(_ notification: Notification) {
+        keyboardInfo = IQKeyboardInfo(notification: notification, name: .willChangeFrame)
+    }
+
+    @objc private func keyboardDidChangeFrame(_ notification: Notification) {
+        keyboardInfo = IQKeyboardInfo(notification: notification, name: .didChangeFrame)
+    }
+
+    public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
+        keyboardInfo.animate(alongsideTransition: transition, completion: completion)
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQKeyboardListener {
+
+    typealias SizeCompletion = (_ name: IQKeyboardInfo.Name, _ size: CGSize) -> Void
+
+    func registerSizeChange(identifier: AnyHashable, changeHandler: @escaping SizeCompletion) {
+        sizeObservers[identifier] = changeHandler
+    }
+
+    func unregisterSizeChange(identifier: AnyHashable) {
+        sizeObservers[identifier] = nil
+    }
+
+    private func sendEvent() {
+
+        let size: CGSize = keyboardInfo.frame.size
+
+        for block in sizeObservers.values {
+            block(keyboardInfo.name, size)
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/IQTextFieldViewListener.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/IQTextFieldViewListener.swift
new file mode 100644 (file)
index 0000000..7718e81
--- /dev/null
@@ -0,0 +1,126 @@
+//
+//  IQTextFieldViewListener.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
+public class IQTextFieldViewListener {
+
+    private var textFieldViewObservers: [AnyHashable: TextFieldViewCompletion] = [:]
+
+#if swift(>=5.7)
+    private(set) var lastTextFieldViewInfo: IQTextFieldViewInfo?
+#endif
+
+    private(set) var textFieldViewInfo: IQTextFieldViewInfo?
+
+    public var textFieldView: UIView? {
+        return textFieldViewInfo?.textFieldView
+    }
+
+    public init() {
+        //  Registering for keyboard notification.
+        NotificationCenter.default.addObserver(self, selector: #selector(self.didBeginEditing(_:)),
+                                               name: UITextField.textDidBeginEditingNotification, object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.didEndEditing(_:)),
+                                               name: UITextField.textDidEndEditingNotification, object: nil)
+
+        NotificationCenter.default.addObserver(self, selector: #selector(self.didBeginEditing(_:)),
+                                               name: UITextView.textDidBeginEditingNotification, object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(self.didEndEditing(_:)),
+                                               name: UITextView.textDidEndEditingNotification, object: nil)
+    }
+
+    @objc private func didBeginEditing(_ notification: Notification) {
+        guard let info: IQTextFieldViewInfo = IQTextFieldViewInfo(notification: notification,
+                                                                  name: .beginEditing) else {
+            return
+        }
+
+#if swift(>=5.7)
+
+        if #available(iOS 16.0, *),
+           let lastTextFieldViewInfo = lastTextFieldViewInfo,
+           let textView: UITextView = lastTextFieldViewInfo.textFieldView as? UITextView,
+           textView.findInteraction?.isFindNavigatorVisible == true {
+            // // This means the this didBeginEditing call comes due to find interaction
+            textFieldViewInfo = lastTextFieldViewInfo
+            sendEvent(info: lastTextFieldViewInfo)
+        } else if textFieldViewInfo != info {
+            textFieldViewInfo = info
+            lastTextFieldViewInfo = nil
+            sendEvent(info: info)
+        } else {
+            lastTextFieldViewInfo = nil
+        }
+#else
+        if textFieldViewInfo != info {
+            textFieldViewInfo = info
+            sendEvent(info: info)
+        }
+#endif
+    }
+
+    @objc private func didEndEditing(_ notification: Notification) {
+        guard let info: IQTextFieldViewInfo = IQTextFieldViewInfo(notification: notification, name: .endEditing) else {
+            return
+        }
+
+        if textFieldViewInfo != info {
+#if swift(>=5.7)
+            if #available(iOS 16.0, *),
+               let textView: UITextView = info.textFieldView as? UITextView,
+                textView.isFindInteractionEnabled {
+                lastTextFieldViewInfo = textFieldViewInfo
+            } else {
+                lastTextFieldViewInfo = nil
+            }
+#endif
+            textFieldViewInfo = info
+            sendEvent(info: info)
+            textFieldViewInfo = nil
+        }
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+public extension IQTextFieldViewListener {
+
+    typealias TextFieldViewCompletion = (_ info: IQTextFieldViewInfo) -> Void
+
+    func registerTextFieldViewChange(identifier: AnyHashable, changeHandler: @escaping TextFieldViewCompletion) {
+        textFieldViewObservers[identifier] = changeHandler
+    }
+
+    func unregisterSizeChange(identifier: AnyHashable) {
+        textFieldViewObservers[identifier] = nil
+    }
+
+    private func sendEvent(info: IQTextFieldViewInfo) {
+
+        for block in textFieldViewObservers.values {
+            block(info)
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/Info/IQKeyboardInfo.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/Info/IQKeyboardInfo.swift
new file mode 100644 (file)
index 0000000..3a0a069
--- /dev/null
@@ -0,0 +1,135 @@
+//
+//  IQKeyboardInfo.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
+public struct IQKeyboardInfo: Equatable {
+    nonisolated public static func == (lhs: Self, rhs: Self) -> Bool {
+        lhs.frame.equalTo(rhs.frame)
+    }
+
+    @objc public enum Name: Int {
+        case willShow
+        case didShow
+        case willHide
+        case didHide
+        case willChangeFrame
+        case didChangeFrame
+    }
+
+    public let name: Name
+
+    /** To save keyboard frame. */
+    public let frame: CGRect
+
+    /** To save keyboard animation duration. */
+    public let animationDuration: TimeInterval
+
+    /** To mimic the keyboard animation */
+    public let animationCurve: UIView.AnimationCurve
+
+    public var keyboardShowing: Bool {
+        frame.height > 0
+    }
+
+    public init(notification: Notification?, name: Name) {
+        self.name = name
+
+        let screenBounds: CGRect
+        if #available(iOS 13.0, *), let screen: UIScreen = notification?.object as? UIScreen {
+            screenBounds = screen.bounds
+        } else {
+            screenBounds = UIScreen.main.bounds
+        }
+
+        if let info: [AnyHashable: Any] = notification?.userInfo {
+
+            //  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
+            }
+
+            //  Getting UIKeyboardSize.
+            if var kbFrame: CGRect = info[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect {
+
+                // If this is floating keyboard
+                if kbFrame.width < screenBounds.width,
+                   kbFrame.maxY < screenBounds.height {
+                    kbFrame.size = CGSize(width: kbFrame.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 - kbFrame.minY, 0)
+                    kbFrame.size = CGSize(width: kbFrame.size.width, height: keyboardHeight)
+                }
+
+                frame = kbFrame
+            } else {
+                frame = CGRect(x: 0, y: screenBounds.height, width: screenBounds.width, height: 0)
+            }
+        } else {
+            animationCurve = .easeOut
+            animationDuration = 0.25
+            frame = CGRect(x: 0, y: screenBounds.height, width: screenBounds.width, height: 0)
+        }
+    }
+
+    public func animate(alongsideTransition transition: @escaping () -> Void, completion: (() -> Void)? = nil) {
+
+//        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 = .init(rawValue: UInt(animationCurve.rawValue << 16))
+        animationOptions.formUnion(.allowUserInteraction)
+        animationOptions.formUnion(.beginFromCurrentState)
+        UIView.animate(withDuration: animationDuration, delay: 0,
+                       options: animationOptions,
+                       animations: transition,
+                       completion: { _ in
+            completion?()
+        })
+//        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/Info/IQTextFieldViewInfo.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/LIsteners/Info/IQTextFieldViewInfo.swift
new file mode 100644 (file)
index 0000000..eb0eaf6
--- /dev/null
@@ -0,0 +1,57 @@
+//
+//  IQTextFieldViewInfo.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
+public struct IQTextFieldViewInfo: Equatable {
+
+    nonisolated public static func == (lhs: Self, rhs: Self) -> Bool {
+        return lhs.textFieldView == rhs.textFieldView &&
+        lhs.name == rhs.name
+    }
+
+    @MainActor
+    @objc public enum Name: Int {
+        case beginEditing
+        case endEditing
+    }
+
+    public let name: Name
+
+    public let textFieldView: UIView
+
+    public init?(notification: Notification?, name: Name) {
+        guard let view: UIView = notification?.object as? UIView else {
+            return nil
+        }
+
+        guard !view.iq.isAlertViewTextField() else {
+            return nil
+        }
+
+        self.name = name
+        textFieldView = view
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/PrivacyInfo.xcprivacy b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/PrivacyInfo.xcprivacy
new file mode 100644 (file)
index 0000000..8189f48
--- /dev/null
@@ -0,0 +1,23 @@
+<?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>NSPrivacyCollectedDataTypes</key>
+       <array>
+               <dict>
+                       <key>NSPrivacyCollectedDataType</key>
+                       <string></string>
+                       <key>NSPrivacyCollectedDataTypeLinked</key>
+                       <false/>
+                       <key>NSPrivacyCollectedDataTypeTracking</key>
+                       <false/>
+                       <key>NSPrivacyCollectedDataTypePurposes</key>
+                       <array>
+                               <string></string>
+                       </array>
+               </dict>
+       </array>
+       <key>NSPrivacyTracking</key>
+       <false/>
+</dict>
+</plist>
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextFieldDelegate.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextFieldDelegate.swift
new file mode 100644 (file)
index 0000000..8cc195f
--- /dev/null
@@ -0,0 +1,154 @@
+//
+//  IQKeyboardReturnKeyHandler+TextFieldDelegate.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: UITextFieldDelegate
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardReturnKeyHandler: UITextFieldDelegate {
+
+    @objc public func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+                if unwrapDelegate.responds(to: #selector(UITextFieldDelegate.textFieldShouldBeginEditing(_:))) {
+                    return unwrapDelegate.textFieldShouldBeginEditing?(textField) ?? false
+                }
+            }
+        }
+
+        return true
+    }
+
+    @objc public func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+                if unwrapDelegate.responds(to: #selector(UITextFieldDelegate.textFieldShouldEndEditing(_:))) {
+                    return unwrapDelegate.textFieldShouldEndEditing?(textField) ?? false
+                }
+            }
+        }
+
+        return true
+    }
+
+    @objc public func textFieldDidBeginEditing(_ textField: UITextField) {
+        updateReturnKeyTypeOnTextField(textField)
+
+        var aDelegate: UITextFieldDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textField) {
+                aDelegate = model.textFieldDelegate
+            }
+        }
+
+        aDelegate?.textFieldDidBeginEditing?(textField)
+    }
+
+    @objc public func textFieldDidEndEditing(_ textField: UITextField) {
+
+        var aDelegate: UITextFieldDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textField) {
+                aDelegate = model.textFieldDelegate
+            }
+        }
+
+        aDelegate?.textFieldDidEndEditing?(textField)
+    }
+
+    @objc public func textFieldDidEndEditing(_ textField: UITextField, reason: UITextField.DidEndEditingReason) {
+
+        var aDelegate: UITextFieldDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textField) {
+                aDelegate = model.textFieldDelegate
+            }
+        }
+
+        aDelegate?.textFieldDidEndEditing?(textField, reason: reason)
+    }
+
+    @objc public func textField(_ textField: UITextField,
+                                shouldChangeCharactersIn range: NSRange,
+                                replacementString string: String) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+                let selector: Selector = #selector(UITextFieldDelegate.textField(_:shouldChangeCharactersIn:
+                                                                                    replacementString:))
+                if unwrapDelegate.responds(to: selector) {
+                    return unwrapDelegate.textField?(textField,
+                                                     shouldChangeCharactersIn: range,
+                                                     replacementString: string) ?? false
+                }
+            }
+        }
+        return true
+    }
+
+    @objc public func textFieldShouldClear(_ textField: UITextField) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+                if unwrapDelegate.responds(to: #selector(UITextFieldDelegate.textFieldShouldClear(_:))) {
+                    return unwrapDelegate.textFieldShouldClear?(textField) ?? false
+                }
+            }
+        }
+
+        return true
+    }
+
+    @objc public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
+
+        var isReturn: Bool = true
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextFieldDelegate = textFieldViewCachedInfo(textField)?.textFieldDelegate {
+                if unwrapDelegate.responds(to: #selector(UITextFieldDelegate.textFieldShouldReturn(_:))) {
+                    isReturn = unwrapDelegate.textFieldShouldReturn?(textField) ?? false
+                }
+            }
+        }
+
+        if isReturn {
+            goToNextResponderOrResign(textField)
+            return true
+        } else {
+            return goToNextResponderOrResign(textField)
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextViewDelegate.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextViewDelegate.swift
new file mode 100644 (file)
index 0000000..6519cc3
--- /dev/null
@@ -0,0 +1,347 @@
+//
+//  IQKeyboardReturnKeyHandler+TextViewDelegate.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: UITextViewDelegate
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardReturnKeyHandler: UITextViewDelegate {
+
+    @objc public func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextViewDelegate = textFieldViewCachedInfo(textView)?.textViewDelegate {
+                if unwrapDelegate.responds(to: #selector(UITextViewDelegate.textViewShouldBeginEditing(_:))) {
+                    return unwrapDelegate.textViewShouldBeginEditing?(textView) ?? false
+                }
+            }
+        }
+
+        return true
+    }
+
+    @objc public func textViewShouldEndEditing(_ textView: UITextView) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextViewDelegate = textFieldViewCachedInfo(textView)?.textViewDelegate {
+                if unwrapDelegate.responds(to: #selector(UITextViewDelegate.textViewShouldEndEditing(_:))) {
+                    return unwrapDelegate.textViewShouldEndEditing?(textView) ?? false
+                }
+            }
+        }
+
+        return true
+    }
+
+    @objc public func textViewDidBeginEditing(_ textView: UITextView) {
+        updateReturnKeyTypeOnTextField(textView)
+
+        var aDelegate: UITextViewDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textView) {
+                aDelegate = model.textViewDelegate
+            }
+        }
+
+        aDelegate?.textViewDidBeginEditing?(textView)
+    }
+
+    @objc public func textViewDidEndEditing(_ textView: UITextView) {
+
+        var aDelegate: UITextViewDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textView) {
+                aDelegate = model.textViewDelegate
+            }
+        }
+
+        aDelegate?.textViewDidEndEditing?(textView)
+    }
+
+    @objc public func textView(_ textView: UITextView,
+                               shouldChangeTextIn range: NSRange,
+                               replacementText text: String) -> Bool {
+
+        var isReturn = true
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextViewDelegate = textFieldViewCachedInfo(textView)?.textViewDelegate {
+                let selector: Selector = #selector(UITextViewDelegate.textView(_:shouldChangeTextIn:replacementText:))
+                if unwrapDelegate.responds(to: selector) {
+                    isReturn = (unwrapDelegate.textView?(textView,
+                                                         shouldChangeTextIn: range,
+                                                         replacementText: text)) ?? false
+                }
+            }
+        }
+
+        if isReturn, text == "\n" {
+            isReturn = goToNextResponderOrResign(textView)
+        }
+
+        return isReturn
+    }
+
+    @objc public func textViewDidChange(_ textView: UITextView) {
+
+        var aDelegate: UITextViewDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textView) {
+                aDelegate = model.textViewDelegate
+            }
+        }
+
+        aDelegate?.textViewDidChange?(textView)
+    }
+
+    @objc public func textViewDidChangeSelection(_ textView: UITextView) {
+
+        var aDelegate: UITextViewDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(textView) {
+                aDelegate = model.textViewDelegate
+            }
+        }
+
+        aDelegate?.textViewDidChangeSelection?(textView)
+    }
+
+    @objc public func textView(_ aTextView: UITextView,
+                               shouldInteractWith URL: URL,
+                               in characterRange: NSRange,
+                               interaction: UITextItemInteraction) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+                let selector: Selector = #selector(textView as
+                                                   (UITextView, URL, NSRange, UITextItemInteraction) -> Bool)
+                if unwrapDelegate.responds(to: selector) {
+                    return unwrapDelegate.textView?(aTextView,
+                                                    shouldInteractWith: URL,
+                                                    in: characterRange,
+                                                    interaction: interaction) ?? false
+                }
+            }
+        }
+
+        return true
+    }
+
+    @objc public func textView(_ aTextView: UITextView,
+                               shouldInteractWith textAttachment: NSTextAttachment,
+                               in characterRange: NSRange,
+                               interaction: UITextItemInteraction) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+                let selector: Selector = #selector(textView as
+                                                   (UITextView, NSTextAttachment, NSRange, UITextItemInteraction)
+                                                   -> Bool)
+                if unwrapDelegate.responds(to: selector) {
+                    return unwrapDelegate.textView?(aTextView,
+                                                    shouldInteractWith: textAttachment,
+                                                    in: characterRange,
+                                                    interaction: interaction) ?? false
+                }
+            }
+        }
+
+        return true
+    }
+
+    @available(iOS, deprecated: 10.0)
+    @objc public func textView(_ aTextView: UITextView,
+                               shouldInteractWith URL: URL,
+                               in characterRange: NSRange) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+                if unwrapDelegate.responds(to: #selector(textView as (UITextView, URL, NSRange) -> Bool)) {
+                    return unwrapDelegate.textView?(aTextView,
+                                                    shouldInteractWith: URL,
+                                                    in: characterRange) ?? false
+                }
+            }
+        }
+
+        return true
+    }
+
+    @available(iOS, deprecated: 10.0)
+    @objc public func textView(_ aTextView: UITextView,
+                               shouldInteractWith textAttachment: NSTextAttachment,
+                               in characterRange: NSRange) -> Bool {
+
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+                if unwrapDelegate.responds(to: #selector(textView as (UITextView, NSTextAttachment, NSRange) -> Bool)) {
+                    return unwrapDelegate.textView?(aTextView,
+                                                    shouldInteractWith: textAttachment,
+                                                    in: characterRange) ?? false
+                }
+            }
+        }
+
+        return true
+    }
+}
+
+#if swift(>=5.7)
+@available(iOS 16.0, *)
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardReturnKeyHandler {
+    public func textView(_ aTextView: UITextView,
+                         editMenuForTextIn range: NSRange,
+                         suggestedActions: [UIMenuElement]) -> UIMenu? {
+        if delegate == nil {
+
+            if let unwrapDelegate: UITextViewDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+
+                let selector: Selector = #selector(textView as
+                                                   (UITextView, NSRange, [UIMenuElement]) -> UIMenu?)
+                if unwrapDelegate.responds(to: selector) {
+                    return unwrapDelegate.textView?(aTextView,
+                                                    editMenuForTextIn: range,
+                                                    suggestedActions: suggestedActions)
+                }
+            }
+        }
+
+        return nil
+    }
+
+    public func textView(_ aTextView: UITextView, willPresentEditMenuWith animator: UIEditMenuInteractionAnimating) {
+        var aDelegate: UITextViewDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(aTextView) {
+                aDelegate = model.textViewDelegate
+            }
+        }
+
+        aDelegate?.textView?(aTextView, willPresentEditMenuWith: animator)
+    }
+
+    public func textView(_ aTextView: UITextView, willDismissEditMenuWith animator: UIEditMenuInteractionAnimating) {
+        var aDelegate: UITextViewDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(aTextView) {
+                aDelegate = model.textViewDelegate
+            }
+        }
+
+        aDelegate?.textView?(aTextView, willDismissEditMenuWith: animator)
+    }
+}
+#endif
+
+#if swift(>=5.9)
+@available(iOS 17.0, *)
+@available(iOSApplicationExtension, unavailable)
+extension IQKeyboardReturnKeyHandler {
+
+    public func textView(_ aTextView: UITextView,
+                         primaryActionFor textItem: UITextItem,
+                         defaultAction: UIAction) -> UIAction? {
+        if delegate == nil {
+
+            if let unwrapDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+                if unwrapDelegate.responds(to: #selector(textView as (UITextView, UITextItem, UIAction) -> UIAction?)) {
+                    return unwrapDelegate.textView?(aTextView,
+                                                    primaryActionFor: textItem,
+                                                    defaultAction: defaultAction)
+                }
+            }
+        }
+
+        return nil
+    }
+
+    public func textView(_ aTextView: UITextView,
+                         menuConfigurationFor textItem: UITextItem,
+                         defaultMenu: UIMenu) -> UITextItem.MenuConfiguration? {
+        if delegate == nil {
+
+            if let unwrapDelegate = textFieldViewCachedInfo(aTextView)?.textViewDelegate {
+                let selector: Selector = #selector(textView as (UITextView, UITextItem, UIMenu)
+                                                   -> UITextItem.MenuConfiguration?)
+                if unwrapDelegate.responds(to: selector) {
+                    return unwrapDelegate.textView?(aTextView,
+                                                    menuConfigurationFor: textItem,
+                                                    defaultMenu: defaultMenu)
+                }
+            }
+        }
+
+        return nil
+    }
+
+    public func textView(_ textView: UITextView,
+                         textItemMenuWillDisplayFor textItem: UITextItem,
+                         animator: UIContextMenuInteractionAnimating) {
+        var aDelegate: UITextViewDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model = textFieldViewCachedInfo(textView) {
+                aDelegate = model.textViewDelegate
+            }
+        }
+
+        aDelegate?.textView?(textView, textItemMenuWillDisplayFor: textItem, animator: animator)
+    }
+
+    public func textView(_ textView: UITextView,
+                         textItemMenuWillEndFor textItem: UITextItem,
+                         animator: UIContextMenuInteractionAnimating) {
+        var aDelegate: UITextViewDelegate? = delegate
+
+        if aDelegate == nil {
+
+            if let model = textFieldViewCachedInfo(textView) {
+                aDelegate = model.textViewDelegate
+            }
+        }
+
+        aDelegate?.textView?(textView, textItemMenuWillEndFor: textItem, animator: animator)
+    }
+}
+#endif
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler.swift
new file mode 100644 (file)
index 0000000..f1a4efe
--- /dev/null
@@ -0,0 +1,261 @@
+//
+//  IQKeyboardReturnKeyHandler.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
+
+/**
+Manages the return key to work like next/done in a view hierarchy.
+*/
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+@objc public final class IQKeyboardReturnKeyHandler: NSObject {
+
+    // MARK: Settings
+
+    /**
+    Delegate of textField/textView.
+    */
+    @objc public weak var delegate: (UITextFieldDelegate & UITextViewDelegate)?
+
+    /**
+    Set the last textfield return key type. Default is UIReturnKeyDefault.
+    */
+    @objc public var lastTextFieldReturnKeyType: UIReturnKeyType = UIReturnKeyType.default {
+
+        didSet {
+            for model in textFieldInfoCache {
+                if let view: UIView = model.textFieldView {
+                    updateReturnKeyTypeOnTextField(view)
+                }
+            }
+        }
+    }
+
+    // MARK: Initialization/De-initialization
+
+    @objc public override init() {
+        super.init()
+    }
+
+    /**
+    Add all the textFields available in UIViewController's view.
+    */
+    @objc public init(controller: UIViewController) {
+        super.init()
+
+        addResponderFromView(controller.view)
+    }
+
+    deinit {
+
+//        for model in textFieldInfoCache {
+//            model.restore()
+//        }
+
+        textFieldInfoCache.removeAll()
+    }
+
+    // MARK: Private variables
+    private var textFieldInfoCache: [IQTextFieldViewInfoModel] = []
+
+    // MARK: Private Functions
+    internal func textFieldViewCachedInfo(_ textField: UIView) -> IQTextFieldViewInfoModel? {
+
+        for model in textFieldInfoCache {
+
+            if let view: UIView = model.textFieldView {
+                if view == textField {
+                    return model
+                }
+            }
+        }
+
+        return nil
+    }
+
+    internal func updateReturnKeyTypeOnTextField(_ view: UIView) {
+        var superConsideredView: UIView?
+
+        // If find any consider responderView in it's upper hierarchy then will get deepResponderView. (Bug ID: #347)
+        for allowedClasse in IQKeyboardManager.shared.toolbarPreviousNextAllowedClasses {
+
+            superConsideredView = view.iq.superviewOf(type: allowedClasse)
+
+            if superConsideredView != nil {
+                break
+            }
+        }
+
+        var textFields: [UIView] = []
+
+        // If there is a tableView in view's hierarchy, then fetching all it's subview that responds.
+        if let unwrappedTableView: UIView = superConsideredView {     //   (Enhancement ID: #22)
+            textFields = unwrappedTableView.iq.deepResponderViews()
+        } else {  // Otherwise fetching all the siblings
+
+            textFields = view.iq.responderSiblings()
+
+            // Sorting textFields according to behavior
+            switch IQKeyboardManager.shared.toolbarConfiguration.manageBehavior {
+                // If needs to sort it by tag
+            case .byTag:        textFields = textFields.sortedByTag()
+                // If needs to sort it by Position
+            case .byPosition:   textFields = textFields.sortedByPosition()
+            default:    break
+            }
+        }
+
+        if let lastView: UIView = textFields.last {
+
+            if let textField: UITextField = view as? UITextField {
+
+                // If it's the last textField in responder view, else next
+                textField.returnKeyType = (view == lastView)    ?   lastTextFieldReturnKeyType: UIReturnKeyType.next
+            } else if let textView: UITextView = view as? UITextView {
+
+                // If it's the last textField in responder view, else next
+                textView.returnKeyType = (view == lastView)    ?   lastTextFieldReturnKeyType: UIReturnKeyType.next
+            }
+        }
+    }
+
+    // MARK: Registering/Unregistering textFieldView
+
+    /**
+    Should pass UITextField/UITextView instance. Assign textFieldView delegate to self, change it's returnKeyType.
+
+    @param view UITextField/UITextView object to register.
+    */
+    @objc public func addTextFieldView(_ view: UIView) {
+
+        if let textField: UITextField = view as? UITextField {
+            let model = IQTextFieldViewInfoModel(textField: textField)
+            textFieldInfoCache.append(model)
+            textField.delegate = self
+
+        } else if let textView: UITextView = view as? UITextView {
+            let model = IQTextFieldViewInfoModel(textView: textView)
+            textFieldInfoCache.append(model)
+            textView.delegate = self
+        }
+    }
+
+    /**
+    Should pass UITextField/UITextView instance. Restore it's textFieldView delegate and it's returnKeyType.
+    
+    @param view UITextField/UITextView object to unregister.
+    */
+    @objc public func removeTextFieldView(_ view: UIView) {
+
+        if let model: IQTextFieldViewInfoModel = textFieldViewCachedInfo(view) {
+            model.restore()
+
+            if let index: Int = textFieldInfoCache.firstIndex(where: { $0.textFieldView == view}) {
+                textFieldInfoCache.remove(at: index)
+            }
+        }
+    }
+
+    /**
+    Add all the UITextField/UITextView responderView's.
+    
+    @param view UIView object to register all it's responder subviews.
+    */
+    @objc public func addResponderFromView(_ view: UIView) {
+
+        let textFields: [UIView] = view.iq.deepResponderViews()
+
+        for textField in textFields {
+
+            addTextFieldView(textField)
+        }
+    }
+
+    /**
+    Remove all the UITextField/UITextView responderView's.
+    
+    @param view UIView object to unregister all it's responder subviews.
+    */
+    @objc public func removeResponderFromView(_ view: UIView) {
+
+        let textFields: [UIView] = view.iq.deepResponderViews()
+
+        for textField in textFields {
+
+            removeTextFieldView(textField)
+        }
+    }
+
+    @discardableResult
+    internal func goToNextResponderOrResign(_ view: UIView) -> Bool {
+
+        var superConsideredView: UIView?
+
+        // If find any consider responderView in it's upper hierarchy then will get deepResponderView. (Bug ID: #347)
+        for allowedClass in IQKeyboardManager.shared.toolbarPreviousNextAllowedClasses {
+
+            superConsideredView = view.iq.superviewOf(type: allowedClass)
+
+            if superConsideredView != nil {
+                break
+            }
+        }
+
+        var textFields: [UIView] = []
+
+        // If there is a tableView in view's hierarchy, then fetching all it's subview that responds.
+        if let unwrappedTableView: UIView = superConsideredView {     //   (Enhancement ID: #22)
+            textFields = unwrappedTableView.iq.deepResponderViews()
+        } else {  // Otherwise fetching all the siblings
+
+            textFields = view.iq.responderSiblings()
+
+            // Sorting textFields according to behavior
+            switch IQKeyboardManager.shared.toolbarConfiguration.manageBehavior {
+                // If needs to sort it by tag
+            case .byTag:        textFields = textFields.sortedByTag()
+                // If needs to sort it by Position
+            case .byPosition:   textFields = textFields.sortedByPosition()
+            default:
+                break
+            }
+        }
+
+        //  Getting index of current textField.
+        if let index: Int = textFields.firstIndex(of: view) {
+            //  If it is not last textField. then it's next object becomeFirstResponder.
+            if index < (textFields.count - 1) {
+
+                let nextTextField: UIView = textFields[index+1]
+                nextTextField.becomeFirstResponder()
+                return false
+            } else {
+
+                view.resignFirstResponder()
+                return true
+            }
+        } else {
+            return true
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQTextFieldViewInfoModel.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/ReturnKeyHandler/IQTextFieldViewInfoModel.swift
new file mode 100644 (file)
index 0000000..562c99c
--- /dev/null
@@ -0,0 +1,56 @@
+//
+//  IQTextFieldViewInfoModel.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 final class IQTextFieldViewInfoModel: NSObject {
+
+    weak var textFieldDelegate: UITextFieldDelegate?
+    weak var textViewDelegate: UITextViewDelegate?
+    weak var textFieldView: UIView?
+    let originalReturnKeyType: UIReturnKeyType
+
+    init(textField: UITextField) {
+        self.textFieldView = textField
+        self.textFieldDelegate = textField.delegate
+        self.originalReturnKeyType = textField.returnKeyType
+    }
+
+    init(textView: UITextView) {
+        self.textFieldView = textView
+        self.textViewDelegate = textView.delegate
+        self.originalReturnKeyType = textView.returnKeyType
+    }
+
+    func restore() {
+        if let textField = textFieldView as? UITextField {
+            textField.returnKeyType = originalReturnKeyType
+            textField.delegate = textFieldDelegate
+        } else if let textView = textFieldView as? UITextView {
+            textView.returnKeyType = originalReturnKeyType
+            textView.delegate = textViewDelegate
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQNSArray+Sort.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQNSArray+Sort.swift
new file mode 100644 (file)
index 0000000..24c542a
--- /dev/null
@@ -0,0 +1,57 @@
+//
+//  IQNSArray+Sort.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
+
+/**
+UIView.subviews sorting category.
+*/
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal extension Array where Element: UIView {
+
+    /**
+    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/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUICollectionView+Additions.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUICollectionView+Additions.swift
new file mode 100644 (file)
index 0000000..7da92ea
--- /dev/null
@@ -0,0 +1,48 @@
+//
+//  IQUICollectionView+Additions.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
+            }
+        }
+
+        if previousRow >= 0, previousSection >= 0 {
+            return IndexPath(item: previousRow, section: previousSection)
+        } else {
+            return nil
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIScrollView+Additions.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIScrollView+Additions.swift
new file mode 100644 (file)
index 0000000..8b8753f
--- /dev/null
@@ -0,0 +1,116 @@
+//
+//  IQUIScrollView+Additions.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
+private struct AssociatedKeys {
+    static var ignoreScrollingAdjustment: Int = 0
+    static var ignoreContentInsetAdjustment: Int = 0
+    static var restoreContentOffset: Int = 0
+}
+
+// swiftlint:disable identifier_name
+// swiftlint:disable unused_setter_value
+@available(iOSApplicationExtension, unavailable)
+extension UIScrollView: IQKeyboardManagerCompatible {
+
+    // This property is explicitly written otherwise we were having
+    // compilation error when archiving
+    public var iq: IQKeyboardManagerWrapper<UIView> {
+        get { IQKeyboardManagerWrapper(self) }
+        set {}
+    }
+}
+// swiftlint:enable unused_setter_value
+// swiftlint:enable identifier_name
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public extension IQKeyboardManagerWrapper where Base: UIScrollView {
+
+    /**
+     If YES, then scrollview will ignore scrolling (simply not scroll it) for adjusting textfield position.
+     Default is NO.
+     */
+    var ignoreScrollingAdjustment: Bool {
+        get {
+            return objc_getAssociatedObject(base, &AssociatedKeys.ignoreScrollingAdjustment) as? Bool ?? false
+        }
+        set(newValue) {
+            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 {
+            return objc_getAssociatedObject(base, &AssociatedKeys.ignoreContentInsetAdjustment) as? Bool ?? false
+        }
+        set(newValue) {
+            objc_setAssociatedObject(base, &AssociatedKeys.ignoreContentInsetAdjustment,
+                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+        }
+    }
+
+    /**
+     To set customized distance from keyboard for textField/textView. Can't be less than zero
+     */
+    var restoreContentOffset: Bool {
+        get {
+            return objc_getAssociatedObject(base, &AssociatedKeys.restoreContentOffset) as? Bool ?? false
+        }
+        set(newValue) {
+            objc_setAssociatedObject(base, &AssociatedKeys.restoreContentOffset,
+                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+        }
+    }
+}
+
+// swiftlint:disable unused_setter_value
+@available(iOSApplicationExtension, unavailable)
+@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/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUITableView+Additions.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUITableView+Additions.swift
new file mode 100644 (file)
index 0000000..022a94d
--- /dev/null
@@ -0,0 +1,48 @@
+//
+//  IQUITableView+Additions.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
+            }
+        }
+
+        if previousRow >= 0, previousSection >= 0 {
+            return IndexPath(row: previousRow, section: previousSection)
+        } else {
+            return nil
+        }
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUITextFieldView+Additions.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUITextFieldView+Additions.swift
new file mode 100644 (file)
index 0000000..d108f96
--- /dev/null
@@ -0,0 +1,137 @@
+//
+//  IQUITextFieldView+Additions.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
+private struct AssociatedKeys {
+    static var distanceFromKeyboard: Int = 0
+    static var ignoreSwitchingByNextPrevious: Int = 0
+    static var enableMode: Int = 0
+    static var resignOnTouchOutsideMode: Int = 0
+}
+
+@available(iOSApplicationExtension, unavailable)
+extension UIView: IQKeyboardManagerCompatible {
+
+    public static let defaultKeyboardDistance: CGFloat = CGFloat.greatestFiniteMagnitude
+}
+
+@available(iOSApplicationExtension, unavailable)
+@available(*, unavailable, renamed: "UIView.defaultKeyboardDistance")
+public let kIQUseDefaultKeyboardDistance = CGFloat.greatestFiniteMagnitude
+
+/**
+UIView category for managing UITextField/UITextView
+*/
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public extension IQKeyboardManagerWrapper where Base: UIView {
+
+    /**
+     To set customized distance from keyboard for textField/textView. Can't be less than zero
+     */
+    var distanceFromKeyboard: CGFloat {
+        get {
+            if let value = objc_getAssociatedObject(base, &AssociatedKeys.distanceFromKeyboard) as? CGFloat {
+                return value
+            } else {
+                return UIView.defaultKeyboardDistance
+            }
+        }
+        set(newValue) {
+            objc_setAssociatedObject(base, &AssociatedKeys.distanceFromKeyboard,
+                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+        }
+    }
+
+    /**
+     If ignoreSwitchingByNextPrevious is true then library will ignore this textField/textView
+     while moving to other textField/textView using keyboard toolbar next previous buttons.
+     Default is false
+     */
+    var ignoreSwitchingByNextPrevious: Bool {
+        get {
+            return objc_getAssociatedObject(base, &AssociatedKeys.ignoreSwitchingByNextPrevious) as? Bool ?? false
+        }
+        set(newValue) {
+            objc_setAssociatedObject(base, &AssociatedKeys.ignoreSwitchingByNextPrevious,
+                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+        }
+    }
+
+    /**
+     Override Enable/disable managing distance between keyboard and textField behavior for this particular textField.
+     */
+    var enableMode: IQEnableMode {
+        get {
+            return objc_getAssociatedObject(base, &AssociatedKeys.enableMode) as? IQEnableMode ?? .default
+        }
+        set(newValue) {
+            objc_setAssociatedObject(base, &AssociatedKeys.enableMode, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+        }
+    }
+
+    /**
+     Override resigns Keyboard on touching outside of UITextField/View behavior for this particular textField.
+     */
+    var resignOnTouchOutsideMode: IQEnableMode {
+        get {
+            return objc_getAssociatedObject(base, &AssociatedKeys.resignOnTouchOutsideMode) as? IQEnableMode ?? .default
+        }
+        set(newValue) {
+            objc_setAssociatedObject(base, &AssociatedKeys.resignOnTouchOutsideMode,
+                                     newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
+        }
+    }
+}
+
+// swiftlint:disable unused_setter_value
+@available(iOSApplicationExtension, unavailable)
+@objc public extension UIView {
+    @available(*, unavailable, renamed: "iq.distanceFromKeyboard")
+    var keyboardDistanceFromTextField: CGFloat {
+        get { 0 }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "iq.ignoreSwitchingByNextPrevious")
+    var ignoreSwitchingByNextPrevious: Bool {
+        get { false }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "iq.enableMode")
+    var enableMode: IQEnableMode {
+        get { .default }
+        set { }
+    }
+
+    @available(*, unavailable, renamed: "iq.resignOnTouchOutsideMode")
+    var shouldResignOnTouchOutsideMode: IQEnableMode {
+        get { .default }
+        set { }
+    }
+}
+// swiftlint:enable unused_setter_value
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIView+Hierarchy.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIView+Hierarchy.swift
new file mode 100644 (file)
index 0000000..907f51f
--- /dev/null
@@ -0,0 +1,354 @@
+//
+//  IQUIView+Hierarchy.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
+
+/**
+UIView hierarchy category.
+*/
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+public extension IQKeyboardManagerWrapper 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
+    }
+
+    /**
+    Returns the topMost UIViewController object in hierarchy.
+    */
+    func topMostController() -> UIViewController? {
+
+        var controllersHierarchy: [UIViewController] = []
+
+        if var topController: UIViewController = base.window?.rootViewController {
+            controllersHierarchy.append(topController)
+
+            while let presented: UIViewController = topController.presentedViewController {
+
+                topController = presented
+
+                controllersHierarchy.append(presented)
+            }
+
+            var matchController: UIResponder? = viewContainingController()
+
+            while let mController: UIViewController = matchController as? UIViewController,
+                    !controllersHierarchy.contains(mController) {
+
+                repeat {
+                    matchController = matchController?.next
+
+                } while matchController != nil && matchController is UIViewController == false
+            }
+
+            return matchController as? UIViewController
+
+        } else {
+            return viewContainingController()
+        }
+    }
+
+    /**
+     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
+        }
+    }
+
+    // MARK: Superviews/Subviews/Siblings
+
+    /**
+    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 unwrappedSuperView: UIView = superView {
+
+            if unwrappedSuperView.isKind(of: classType) {
+
+                // If it's UIScrollView, then validating for special cases
+                if unwrappedSuperView is UIScrollView {
+
+                    let classNameString: String = "\(type(of: unwrappedSuperView.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 !(unwrappedSuperView.superview is UITableView),
+                        !(unwrappedSuperView.superview is UITableViewCell),
+                        !classNameString.hasPrefix("_") {
+                        return superView as? T
+                    }
+                } else {
+                    return superView as? T
+                }
+            } else if unwrappedSuperView == belowView {
+                return nil
+            }
+
+            superView = unwrappedSuperView.superview
+        }
+
+        return nil
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+@MainActor
+internal extension IQKeyboardManagerWrapper where Base: UIView {
+
+    /**
+    Returns all siblings of the receiver which canBecomeFirstResponder.
+    */
+    func responderSiblings() -> [UIView] {
+
+        // Array of (UITextField/UITextView's).
+        var tempTextFields: [UIView] = []
+
+        //    Getting all siblings
+        if let siblings: [UIView] = base.superview?.subviews {
+            for textField in siblings {
+                if textField == base || !textField.iq.ignoreSwitchingByNextPrevious,
+                    textField.iq.canBecomeFirstResponder() {
+                    tempTextFields.append(textField)
+                }
+            }
+        }
+
+        return tempTextFields
+    }
+
+    /**
+    Returns all deep subViews of the receiver which canBecomeFirstResponder.
+    */
+    func deepResponderViews() -> [UIView] {
+
+        // Array of (UITextField/UITextView's).
+        var textfields: [UIView] = []
+
+        for textField in base.subviews {
+
+            if textField == base || !textField.iq.ignoreSwitchingByNextPrevious,
+               textField.iq.canBecomeFirstResponder() {
+                textfields.append(textField)
+            }
+            // Sometimes there are hidden or disabled views and textField inside them still recorded,
+            // so we added some more validations here (Bug ID: #458)
+            // Uncommented else (Bug ID: #625)
+            else if textField.subviews.count != 0, base.isUserInteractionEnabled, !base.isHidden, base.alpha != 0.0 {
+                for deepView in textField.iq.deepResponderViews() {
+                    textfields.append(deepView)
+                }
+            }
+        }
+
+        // subviews are returning in opposite order. Sorting according the frames 'y'.
+        return textfields.sorted(by: { (view1: UIView, view2: UIView) -> 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
+            }
+        })
+    }
+
+    private func canBecomeFirstResponder() -> Bool {
+
+        var canBecomeFirstResponder: Bool = false
+
+        if base.conforms(to: UITextInput.self) {
+            //  Setting toolbar to keyboard.
+            if let textView: UITextView = base as? UITextView {
+                canBecomeFirstResponder = textView.isEditable
+            } else if let textField: UITextField = base as? UITextField {
+                canBecomeFirstResponder = textField.isEnabled
+            }
+        }
+
+        if canBecomeFirstResponder {
+            canBecomeFirstResponder = base.isUserInteractionEnabled &&
+            !base.isHidden &&
+            base.alpha != 0.0 &&
+            !isAlertViewTextField() &&
+            textFieldSearchBar() == nil
+        }
+
+        return canBecomeFirstResponder
+    }
+
+    // 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
+    }
+
+    func depth() -> Int {
+        var depth: Int = 0
+
+        if let superView: UIView = base.superview {
+            depth = superView.iq.depth()+1
+        }
+
+        return depth
+    }
+}
+
+@available(iOSApplicationExtension, unavailable)
+@objc public extension UIView {
+
+    @available(*, unavailable, renamed: "iq.viewContainingController()")
+    func viewContainingController() -> UIViewController? { nil }
+
+    @available(*, unavailable, renamed: "iq.topMostController()")
+    func topMostController() -> UIViewController? { nil }
+
+    @available(*, unavailable, renamed: "iq.parentContainerViewController()")
+    func parentContainerViewController() -> UIViewController? { nil }
+
+    @available(*, unavailable, renamed: "iq.superviewOf(type:belowView:)")
+    func superviewOfClassType(_ classType: UIView.Type, belowView: UIView? = nil) -> UIView? { nil }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIViewController+Additions.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/IQUIViewController+Additions.swift
new file mode 100644 (file)
index 0000000..7bd0792
--- /dev/null
@@ -0,0 +1,48 @@
+//
+//  IQUIViewController+Additions.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)
+@objc extension UIViewController {
+    @available(*, unavailable, renamed: "iq_parentContainerViewController()")
+    open func parentIQContainerViewController() -> UIViewController? {
+        return self
+    }
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/UIImage+NextPrevious.swift b/MixSdk/Pods/IQKeyboardManagerSwift/IQKeyboardManagerSwift/UIKitExtensions/UIImage+NextPrevious.swift
new file mode 100644 (file)
index 0000000..fe1d1a1
--- /dev/null
@@ -0,0 +1,60 @@
+//
+//  UIImage+NextPrevious.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
+
+/**
+ UIImage category methods to get next/prev images
+ */
+@available(iOSApplicationExtension, unavailable)
+@objc public extension UIImage {
+
+    static let keyboardPreviousImage: UIImage = {
+        // swiftlint:disable line_length
+        let base64Data: String = "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAkCAYAAAA+TuKHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAAGmklEQVRoBd1ZWWwbRRie2bVz27s2adPGxzqxqAQCIRA3CDVJGxpKaEtRoSAVISQQggdeQIIHeIAHkOCBFyQeKlARhaYHvUJa0ksVoIgKUKFqKWqdeG2nR1Lsdeo0h73D54iku7NO6ySOk3alyPN//+zM/81/7MyEkDl66j2eJXWK8vocTT82rTgXk/t8vqBNEI9QSp9zOeVkPJnomgs7ik5eUZQ6OxGOEEq9WcKUksdlWbqU0LRfi70ARSXv8Xi8dkE8CsJ+I1FK6BNYgCgW4A8jPtvtopFHqNeWCLbDIF6fkxQjK91O1z9IgRM59bMAFoV8YEFgka1EyBJfMhkH5L9ACFstS9IpRMDJyfoVEp918sGamoVCme0QyN3GG87wAKcTOBYA4hrJKf+VSCb+nsBnqYHVnr2ntra2mpWWH0BVu52fhRH2XSZDmsA/xensokC21Pv9T3J4wcWrq17gob1er7tEhMcJuYsfGoS3hdTweuBpxaM0iCJph8fLuX7DJMPWnI2GOzi8YOKseD4gB+RSQezMRRx5vRPEn88Sz7IIx8KHgT3FCBniWJUyke6o8/uXc3jBxIKTd7vdTsFJfkSo38NbCY/vPRsOPwt81KgLqeoBXc+sBjZsxLF4ZfgM7goqSqMRL1S7oOSrq6sdLodjH0rYfbyByPEOePwZ4CO8Liv3RCL70Wctr8+mA2NkT53P91iu92aCFYx8TU1NpbOi8gfs2R7iDYLxnXqYPg3c5Fm+Xygcbs/omXXATZGBBagQqNAe9Psf4d+ZiVwQ8qjqFVVl5dmi9ShvDEL90IieXtVDevic5ruOyYiAXYiA9YSxsZow0YnSKkKFjoAn8OAENsPGjKs9qnp5iSDuBXFLXsLjR4fSIy29vb2DU7UThW4d8n0zxjXtRVAYNaJnlocikWNTHZPvP1PPl2LLujM3cfbzwJXUyukQzxrZraptRCcbEDm60Wh4S0IE7McByVJQjf3yac+EfEm9ouxAcWu2TsS6koOplr6+vstWXf5IKBrejBR4ybIAlLpE1JE6j8eyh8h/dEKmS95e7w9sy57G+MkQ6sdYMrmiv79/gNdNR0YEbGKUvIIFQMRffRBtbkG0HQj6fHdcRafWmg55Gzy+BR5vtUzF2O96kjSH4nHNopsB0B0Ob6SEvcYvAPYS1UwQDyqLFcu5IZ/pTMUkjxfEoD/wLVY9+z02PXDL8RE9s0y9qMZNigIJcU37TZblfj7aUAMqURLXuqqq9sQHBi5NZbqpkBfh8a9BPLtDMz3wyImh9GhTLBab0uSmQfIQcNQ95pJkDVG3wtgdC1KFA+HaSodjdzKZ/Neou1Y7X/JC0K98BeIvWAdjp+jwUKN6/nyfVVd4JK4lunDrkwJhc6Gl1GGjwhqnLO3UNC2Rz8z5kKfw+EYQf5EfEKF+Wh+kDd0XYxd43WzKiIBfEAEjiIAm0zyUSFiU1XJF+feJy5evW3euR57C41+A+MumSbICY2dGmd6gnlPPWXRFABABP7llCXsA2mCcDjVAJoK4qryycsfAwEDSqOPb1yQPj38O4q/yL4F4aCiTXhqNRmMWXREBFMGjslOywUbToQeyyy4IrVVO53bUgEk/uZOSr/MHPsOd0hs8F4R6mI2ONKi9vRFeNxdyIqkddknOMhA2nyuy+wAqtEol8rbEYCLnZisneXj8UxB/00KGkUiGsqU90WiPRTeHACLgoNsp4eBDHzaagRS4RbCzle6ysq3xVIq/LiMW8ti5fYRVfMs4yFibsdgI05eqqhqy6OYBEE9qnSiCLhRB7tRHFzDR1oIasBU1wHTAMpHHjcmHIP4OzwXf8XMkk24IR6NneN18klEE97mc0gJwuN9oF+SFNlF8vNJR1YYacGVcN0Eet6XvY6Pw3rhi/Bc5fiEzShp7eiOnx7H5/IsI6EAELEIE3Gu0EymwyCbQZocktWEfMHa3MEa+zqe8KwjCB8bO/7f70kxvVGPqyRy6eQshAtpdsuTDN/9us5F0MQ4zTS5BaIsPDQ3jO+5/G+fjj82dIDF2CZeKjd3R6J8W3Y0BYFca+JJQssFqLuvSUqlmESHSiZywGzsgx+OZNFnWE4scN+I3WJshAnYjAm5FBNxptp16y+y2hICLEtOVMXJcI0xvDveGi/ofU7NxBZN0XIpuIIy0mUZkZNNZVf1kDAt6lZagEhjGnxbweh8wdbw5hOwdxHbwY/j9BpTM9xi4MGzFvZhpk3Bz8J5gkb19ym7cJr5w/wEmUjzJqoNVhwAAAABJRU5ErkJggg=="
+        // swiftlint:enable line_length
+
+        // Support for RTL languages like Arabic, Persia etc... (Bug ID: #448)
+        if let data: Data = Data(base64Encoded: base64Data, options: .ignoreUnknownCharacters),
+           let image = UIImage(data: data, scale: 3)?.imageFlippedForRightToLeftLayoutDirection() {
+            return image
+        }
+
+        return UIImage()
+    }()
+
+    static let keyboardNextImage: UIImage = {
+
+        // swiftlint:disable line_length
+        let base64Data: String = "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAkCAYAAAA+TuKHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAAGp0lEQVRoBd1ZCWhcRRiemff25WrydmOtuXbfZlMo4lEpKkppm6TpZUovC4UqKlQoUhURqQcUBcWDIkhVUCuI9SpJa+2h0VZjUawUEUUUirLNXqmxSnc32WaT7O4bv0nd5R1bc+2maR8s7z9m5v+/+f/5Z94sIf89jW73Yp/bfUuWvwLfDp/H8zhwObLYmCCaPJ6FjLJPCWNHNU1bkFVeQW/Zp2l7KWUvNmlaB3DJAhvz1ntvI5R1EUpnUUKdEifHGuvr519BwKUmj/cDYNtwARNd5/NoH4GWKIhzlFKXCSzn/xCut/jD4V9N8suPYYj4ewC+2e46f55Rwp/geExKSmdzJn2l1WrXmuSXF8MQ8XfyAeeEn9KTyV3MHwq9RTh50IqLEjJHUkh3Y13dPKvuMuApIr6bUHKP1VeE+Y8MIa09Z8/+JQlltD/+Q7VaFcW6X2VsjFmbRRnbUFFZeai/v/+cUTeDaYqIv4GlfL/NR879I3qmORwOnxG6UfCCiMbjJ51VagKdlgs+91BaKVO6oVJVD8bj8WhOPkMJn1t7jTL6gNU9pHpgKJ1q7u3tjWR1OfBCEOuPf+9Sq4YwAW3ZBqNvSqsYpeuc5WUHYolE3KSbQYzP430FwB+yuoSCFtKHaXP4z3DIqDOBFwpkwHfVThXLgrYaG6IGOAmT1pZVVHw8MDDQb9TNBLrJre0E8EdtvnAeSRPeHOwN9lh1NvCiASbgG5fqRLDJEmMHsSU6GFuDGrAfNWDAqLuUNE5uL6A2bbf5wPkZrmdaAuGw36aDIC940TAajx1HBijIgEWmjpRWS4ytrnKq+1EDEibdJWAa3dqzjLGnrKaxxvt4OtXS09v7u1WX5S8KXjRABnQ7VbUCEV+Y7SDeWAJX4dfuLCnZFzt//rxRN500jqo74NvTVptY42fTnLcGI5FTVp2R/1/womEsHj/mwgxg27vd2BH8bCrLq0rKyjoTicSgUTcdNIrbkwD+nM2WOJ3qmaVI9d9sOotgTPCiPTLgi+oqdTbOAbea+lM6xyHLK8pnVXSiCCZNuiIyjZr2GArSS1YTOKie45n0UqT6L1ZdPn5c4EVHHIS6sA3WYLZvNg6E9L9GZmwZzgEdqAFDRl0xaET8EQB/2To21ngsQ0kbIv6zVXcxftzgxQDIgM+qVbUeGbDAPCCtxbfxUhdjHdGhoWGzrnAcIr4NwHflGbGf6PqyQCj0Yx7dRUUTAi9GwQQccapOL7bBm4yjIiPqSElpC5VYRzKZLPgE4M5hK0rt67CDZDM9A+k0XxmIhE6apONgJgxejBmLxw65VHUu/LjRaANeNZQpyhJZUToGBwdHjLqp0Ij4FgB/0wocaxw7DV8F4CcmM/6kwMMQRwYcrFad87DvXW8yTKlbkZVFSmlJB3bBlEk3CQYRvxfA3wbw0Vun7BAAPqjrmfaecPjbrGyib2sKTbS/LG5F4NhGe0d+fDiTuSMSiUx6F8Bn6V343N6TB3gSyb/aHwx22+2OX2KazfF3y7VMnw4FcUvCP8lJcgRtVph0yEu8pTnRBAiv270JwN+1AscQw5zr66YKXLgyVfBijBQc2YQ0PCIY4wPH2yQPERNTYpSPRSPid0qUvY/+1mU5QjJ8PVL96FhjjEdfCPDCzggyAKnPP7cZpWQFlsZ+yPGdMPaDiK/F6fEjbKeypXVK5/pGfyTYZZFPmi0UeOHAcCZI1+Oa6JjVG0SwHbcrnZDn7sytbQSPiLdLTBJXy+Z2nKcR8U09odDhfP0mKyskeBIggaERPb0WGfC1zSFK1gDcXsitER1t6m3wrkTEbRmC5ZTRCd+MiB+wjTlFwVSrfV7zdXV15aWy0oWKvNjWgJMOfyiAIklwYXLhwfd4G/47OAxnTMVRAKec3u0PB8SkFfyxFpSCGMBHTkpWHPsU2bEEKe8xDUrJdfhKnItzgiiEXKvXWhijR9CuzNgOwHWc1+87HQ5+aJQXki4KeOGgOOFJDkdnqeJowSGlweg00vsGHJAa1UpnTJKIAF5u1AM4R8S3APgeo7zQdFHS3uikz+VSSWXVlwBo+hoUbUR0ITfVHQEcEd+K4rbbOE4xaJPhYhg4HY3GcYG4HFB/so5vBT6q53TbdAAXtooe+SzghoaGakWSu2FwflZmfWMffxjAX7XKi8VPG3gBoKam5uoKpeQEDjBz7YD4dpwUd9rlxZMUPe2Nrvf19f2dTKdasap7jHIsiR3TDdxsfxq5xtpazad5g02al+Na6plpND0zTHk8Hp+4iLyU3vwLp0orLWXqrZQAAAAASUVORK5CYII="
+        // swiftlint:enable line_length
+
+        // Support for RTL languages like Arabic, Persia etc... (Bug ID: #448)
+        if let data: Data = Data(base64Encoded: base64Data, options: .ignoreUnknownCharacters),
+           let image = UIImage(data: data, scale: 3)?.imageFlippedForRightToLeftLayoutDirection() {
+            return image
+        }
+
+        return UIImage()
+    }()
+}
diff --git a/MixSdk/Pods/IQKeyboardManagerSwift/LICENSE.md b/MixSdk/Pods/IQKeyboardManagerSwift/LICENSE.md
new file mode 100644 (file)
index 0000000..0c652ed
--- /dev/null
@@ -0,0 +1,21 @@
+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/MixSdk/Pods/IQKeyboardManagerSwift/README.md b/MixSdk/Pods/IQKeyboardManagerSwift/README.md
new file mode 100644 (file)
index 0000000..bae2ddb
--- /dev/null
@@ -0,0 +1,217 @@
+<p align="center">
+  <img src="https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/master/Demo/Resources/icon.png" alt="Icon"/>
+</p>
+<H1 align="center">IQKeyboardManager</H1>
+<p align="center">
+  <img src="https://img.shields.io/github/license/hackiftekhar/IQKeyboardManager.svg"
+  alt="GitHub license"/>
+
+
+[![Build Status](https://travis-ci.org/hackiftekhar/IQKeyboardManager.svg)](https://travis-ci.org/hackiftekhar/IQKeyboardManager)
+
+
+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) `**CODELESS**, Zero 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, behaviour of previous, next and done buttons in the keyboard toolbar, play sound when the user navigates through the form and more.
+
+
+## Screenshot
+[![IQKeyboardManager](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerScreenshot.png)](http://youtu.be/6nhLw6hju2A)
+[![Settings](https://raw.githubusercontent.com/hackiftekhar/IQKeyboardManager/v3.3.0/Screenshot/IQKeyboardManagerSettings.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
+[![Platform iOS](https://img.shields.io/badge/Platform-iOS-blue.svg?style=fla)]()
+
+|                        | Language | Minimum iOS Target | Minimum Xcode Version |
+|------------------------|----------|--------------------|-----------------------|
+| IQKeyboardManager      | Obj-C    | iOS 11.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, 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                  |
+
+## 7.0.0 version notes
+- In this major release, a lot of variables and functions have been moved here and there. We have mentioned most of the major things in the MIGRATION GUIDE. So please take a look to make changes in your project when upgrading to this version.
+- The 7.0.0 version adopted the latest Swift Concurrency/Actor feature and only available iOS 13.0 and above.
+- Internal keyboard management handling have been updated with a different and better approach than legacy versions. However when adopting 7.0.0, please verify if it is working as expected in your apps, if there are any serious problems with 7.0.0 please open an issue with all the details and switch back to legacy version temporarily.
+
+Installation
+==========================
+
+#### Installation with CocoaPods
+
+[![CocoaPods](https://img.shields.io/cocoapods/v/IQKeyboardManager.svg)](http://cocoadocs.org/docsets/IQKeyboardManager)
+
+***IQKeyboardManager (Objective-C):*** IQKeyboardManager is available through [CocoaPods](http://cocoapods.org). 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):*** IQKeyboardManagerSwift is available through [CocoaPods](http://cocoapods.org). To install
+it, simply add the following line to your Podfile: ([#236](https://github.com/hackiftekhar/IQKeyboardManager/issues/236))
+
+*Swift 5.9, 5.8, 5.7, 5.6, 5.5 (Xcode 15)*
+
+```ruby
+pod 'IQKeyboardManagerSwift'
+```
+
+*Or you can choose the version you need based on Swift support table from [Requirements](README.md#requirements)*
+
+```ruby
+pod 'IQKeyboardManagerSwift', '6.3.0'
+```
+
+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.enable = true
+
+      return true
+    }
+}
+```
+
+#### Installation with 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 `IQKeyboardManger` or `IQKeyboardManagerSwift` into your Xcode project using Carthage, add the following line to your `Cartfile`:
+
+```ogdl
+github "hackiftekhar/IQKeyboardManager"
+```
+
+Run `carthage` to build the frameworks and drag the appropriate framework (`IQKeyboardManager.framework` or `IQKeyboardManagerSwift.framework`) into your Xcode project based on your need. Make sure to add only one framework and not both.
+
+
+#### Installation with Source Code
+
+[![Github tag](https://img.shields.io/github/tag/hackiftekhar/iqkeyboardmanager.svg)]()
+
+
+
+***IQKeyboardManager (Objective-C):*** Just ***drag and drop*** `IQKeyboardManager` directory from demo project to your project. That's it.
+
+***IQKeyboardManager (Swift):*** ***Drag and drop*** `IQKeyboardManagerSwift` directory from demo project to your project
+
+In AppDelegate.swift, just enable IQKeyboardManager.
+
+```swift
+@UIApplicationMain
+class AppDelegate: UIResponder, UIApplicationDelegate {
+
+    var window: UIWindow?
+
+    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+
+      IQKeyboardManager.shared.enable = true
+
+      return true
+    }
+}
+```
+
+#### Installation with Swift Package Manager
+
+[Swift Package Manager(SPM)](https://swift.org/package-manager/) is Apple's dependency manager tool. It is now supported in Xcode 11. So it can be used in all appleOS types of projects. It can be used alongside other tools like CocoaPods and Carthage as well. 
+
+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
+
+Migration Guide
+==========================
+- [IQKeyboardManager 6.0.0 Migration Guide](https://github.com/hackiftekhar/IQKeyboardManager/wiki/IQKeyboardManager-6.0.0-Migration-Guide)
+- [IQKeyboardManager 7.0.0 Migration Guide](https://github.com/hackiftekhar/IQKeyboardManager/wiki/IQKeyboardManager-7.0.0-Migration-Guide)
+
+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/MixSdk/Pods/Manifest.lock b/MixSdk/Pods/Manifest.lock
new file mode 100644 (file)
index 0000000..9690266
--- /dev/null
@@ -0,0 +1,24 @@
+PODS:
+  - IQKeyboardManagerSwift (7.0.1)
+  - SnapKit (5.7.1)
+  - Toast-Swift (5.1.0)
+
+DEPENDENCIES:
+  - IQKeyboardManagerSwift
+  - SnapKit (~> 5.7.0)
+  - Toast-Swift
+
+SPEC REPOS:
+  https://gitee.com/mirrors/CocoaPods-Specs.git:
+    - IQKeyboardManagerSwift
+    - SnapKit
+    - Toast-Swift
+
+SPEC CHECKSUMS:
+  IQKeyboardManagerSwift: 7f6b1b1d1497855d2beea7f2f10ffcc6978525b1
+  SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
+  Toast-Swift: dd369e68ee529f542c65bd0d0c6c50cd743cf6f2
+
+PODFILE CHECKSUM: 1bf708b0b20ea5799d088a09a56f74d1537472c4
+
+COCOAPODS: 1.14.3
diff --git a/MixSdk/Pods/Pods.xcodeproj/project.pbxproj b/MixSdk/Pods/Pods.xcodeproj/project.pbxproj
new file mode 100644 (file)
index 0000000..4afed77
--- /dev/null
@@ -0,0 +1,1544 @@
+// !$*UTF8*$!
+{
+       archiveVersion = 1;
+       classes = {
+       };
+       objectVersion = 56;
+       objects = {
+
+/* Begin PBXBuildFile section */
+               0615219BFD2EBBE27FF41C2C8816791E /* IQTextFieldViewInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0816D0202E8F46EA9C2657E4EC8424F3 /* IQTextFieldViewInfo.swift */; };
+               08822D4E49DB8618D27BAEDED7911733 /* IQKeyboardManager+Internal.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76D361EFC283ED2EFC6CF7F8BD84213 /* IQKeyboardManager+Internal.swift */; };
+               08C234F2981017EEF271582022F339F3 /* IQUIView+IQKeyboardToolbarDeprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = E394466448323B566659ED3C86466588 /* IQUIView+IQKeyboardToolbarDeprecated.swift */; };
+               0A4DB572ACD97EC492C4E93A0FFB2E47 /* IQTextFieldViewListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10AD92D3B68611554DCF5720DC0720D8 /* IQTextFieldViewListener.swift */; };
+               0A5C290276F7453D9471E25BEA655842 /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 628C71717D78E4787E5207FA441B31FA /* ConstraintLayoutGuide.swift */; };
+               0AD7A0DA8FF5880E3D8599062129AB12 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5465A420948F0534DA3E383E108F925 /* ConstraintMakerEditable.swift */; };
+               0D665B6767B345D8C70D7E029A2A48D8 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE7CEBB9FF37125D33DFC72668395B8A /* ConstraintViewDSL.swift */; };
+               0DA9A9D2F8960818017E26DA480FA143 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20DDA272B8E925FEF790776A224AEEC2 /* ConstraintLayoutGuideDSL.swift */; };
+               103FE4EEFF1BE8BAD0FA047987AFED74 /* IQUIView+Hierarchy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90A78351C7EFC4AB674E3681D6EF0514 /* IQUIView+Hierarchy.swift */; };
+               13CC0CFB1C56F23BBC872801F983C1A3 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8D10D8487CAE9288C4AB3982CA25D05 /* ConstraintLayoutSupport.swift */; };
+               14063E1AF70EDDC9F33C8E08DCA0BEF3 /* IQPreviousNextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5C5E139984EBC98F8FE24FE15CEE79 /* IQPreviousNextView.swift */; };
+               154362EFC8EC0F61F54E24B09266DEB1 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1757056710D3EAF1ED55009B000F3D35 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift */; };
+               15F68E09ADCDB843B938C490059485BD /* ConstraintMakerRelatable+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03B1A0778751E0826602861220F2DC66 /* ConstraintMakerRelatable+Extensions.swift */; };
+               1C3881B0113D3219398154E16AA4413C /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 300030D0A05F9B8C127FF428D70FAF2D /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift */; };
+               1E7E37C51375285EA22294CD2ADB3159 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0AB9F729D940C230C9A2169648D647D /* Debugging.swift */; };
+               23D11E770DF137CBF802A30E2B19C054 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */; };
+               24C699F9653980B77F44634EF44641C1 /* IQKeyboardInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 939E6A71993A6CE7B5D01158372276C1 /* IQKeyboardInfo.swift */; };
+               293A604750AFF74421E35456DEF43215 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 21CF3A39AB8F2E562D184D98200F21AA /* PrivacyInfo.xcprivacy */; };
+               3452528F3B9B79AD67D45FEA174F71E4 /* IQUICollectionView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BECF740201B00644945D6BFCC8EE1F53 /* IQUICollectionView+Additions.swift */; };
+               34BDB069A96125DAF2FEF6FF93A3F6AF /* IQToolbarPlaceholderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF9F36A57B1CB8B3461C5911043F6CF9 /* IQToolbarPlaceholderConfiguration.swift */; };
+               3573FA382FBE08F99039CED491DB9FF0 /* IQKeyboardManagerSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EAD94738C2E3C4F5AEC9FE74B30C432 /* IQKeyboardManagerSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               38CBE3196BDD577B5E72BC65508A77F8 /* IQTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192298B0D95D5F1503B984D3583F5BFE /* IQTextView.swift */; };
+               3DAFEDCDC5094007E329D71FE84FF704 /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DE1C7BCB2C17A82F6FCC4EF1B276DF1E /* SnapKit-dummy.m */; };
+               4017CF2B3EE45E7E579E68E6FCFBF732 /* IQKeyboardManager+UIKeyboardNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6D7D5300CA474D7485012005F3E5280 /* IQKeyboardManager+UIKeyboardNotification.swift */; };
+               42B931814C7B25871333D5DA9A0E2A41 /* IQKeyboardReturnKeyHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CE2273B9C7EF1EB002B8F27679C80C0 /* IQKeyboardReturnKeyHandler.swift */; };
+               4CDBAE55660ED186441E9E4EDE6B3D31 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift in Resources */ = {isa = PBXBuildFile; fileRef = 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */; };
+               50E4E24710A4C5A77BE6594A10DFE773 /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F7AF737B2F40C4870DAF57481575D91 /* ConstraintMultiplierTarget.swift */; };
+               53463E2C1FAA39A67C058C6BE1BD795F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */; };
+               54BAE903D82C39392943869866252D93 /* IQNSArray+Sort.swift in Sources */ = {isa = PBXBuildFile; fileRef = D423AF1243BA3E2E9D29B5D6E77E95B4 /* IQNSArray+Sort.swift */; };
+               56CD198002D3D45274F6719725B983CF /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68AC15B21E30C79D83E2932832D289B4 /* ConstraintOffsetTarget.swift */; };
+               597994C3AE8908B1E462BC03AC8C23FB /* IQKeyboardManagerCompatible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 487E8CCA4859CD97779EAC235E596B3F /* IQKeyboardManagerCompatible.swift */; };
+               5CE349BD7B3C13F71152960F46C2AD58 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */; };
+               5F0469C5B154DC20B844EA2A9B7F8D42 /* IQPlaceholderable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63515591138E7BAAAC90A9D200D19266 /* IQPlaceholderable.swift */; };
+               5F62DAE67CF97B7C42471EA91B79AA9A /* IQTextFieldViewInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD68BFB8D786D053D462EA67697D1DB6 /* IQTextFieldViewInfoModel.swift */; };
+               5FFFE5E4F95E9A989F7AD2B9E4363DA5 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = B68ACB5412EC5AAC4B13CD213584E56C /* PrivacyInfo.xcprivacy */; };
+               6431218578A566C5EBF5FD166F164059 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2D361F5787F34F9D1700D7114563AF7 /* ConstraintMakerExtendable.swift */; };
+               674C6B2E317E657D8EAD3CC73F608540 /* IQKeyboardManager+Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CB6DFA8D97BBEDEABE950BC95908E9D /* IQKeyboardManager+Debug.swift */; };
+               6CFB48595F4C5B157119CE09BEA2B7B3 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = B26A354E2CEBFC3C5B63FAE1CAA92DEB /* PrivacyInfo.xcprivacy */; };
+               6D389E4D5F97798BE1AEEB8C317852D7 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AE71F8217EF7ACC3231FFAACD7D8FD9 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               6E2884B29CD49EE91C48C725105F295A /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE16C611E50DB512C9F824C9987DF025 /* LayoutConstraint.swift */; };
+               701904768C60A3F9060518DD58EC2882 /* IQToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 080974FCAB1AD4F3189D9BD8FFACBEFF /* IQToolbar.swift */; };
+               7052944C657F270E47777446D0E10E1C /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F75E83DF3A12ABA862C91E63D2AF6280 /* ConstraintInsetTarget.swift */; };
+               733CF7F19636AFF4A97708DFDE0AE53C /* IQKeyboardManagerSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CFEA705805177F0CCF56EC740BF7E4A /* IQKeyboardManagerSwift-dummy.m */; };
+               73F8AC99A58E5837924C056E89543B97 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1CC58F10CAD8194DBD2C7308C3694CF /* Typealiases.swift */; };
+               7586D1882B962E1E31C28CC6396668B3 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04D60AC13D33197690A05C641925DDDA /* UIKit.framework */; };
+               77D782DE125D322922466676E2FFA289 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF6E6A10E54B7D75B219D33B46E5986E /* ConstraintPriorityTarget.swift */; };
+               8086BD2DB5F1A0CC88E4F3386570A21C /* IQUITextFieldView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D5DA97A682C949B62A923E58F38BC6A /* IQUITextFieldView+Additions.swift */; };
+               82950EE4BDD57F74749742A3E1566073 /* IQKeyboardManager+UITextFieldViewNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = D267F880B5BC6279E167245357C516E4 /* IQKeyboardManager+UITextFieldViewNotification.swift */; };
+               845C3A99ECD0DC86BB538557FBE915A3 /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 622AC377CF7C38C240EBA7913D3A473A /* Toast.swift */; };
+               8637B942FE12C96972BFC827D8F012FB /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A42DBD2F42D55606EEBA514009498B87 /* QuartzCore.framework */; };
+               8640829049AE9907FE93825E5510C33D /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8A8AB97C8E4A6E354FEA40DEFDCC38F /* ConstraintMaker.swift */; };
+               87996D11DC92EE19EAF9305DAEA4ACF2 /* ConstraintMakerPrioritizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 622B0972DDD1412DAC47AAB441250AE9 /* ConstraintMakerPrioritizable.swift */; };
+               8868BA37E3CE7C58D26123806D543F3F /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2B15E0C2FA074028C8D761CC6134878 /* ConstraintView.swift */; };
+               891D1BF14C8881C74262EE9DBE5D67A9 /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16DC2C3F3F47A6C10378F13800AE8138 /* UILayoutSupport+Extensions.swift */; };
+               8ED2E941DF0803C8AA331D0D8C722615 /* IQBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E998035FB812DDE9D1AE2E5B6C01F58 /* IQBarButtonItem.swift */; };
+               8FDA28363A5E49017498FD69AAA8F59F /* IQKeyboardListener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33EFC31D4AED7F180AE374A80B17FA08 /* IQKeyboardListener.swift */; };
+               906EF891E58A035281766993F82373E3 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35B6A598D6741677D6D1FA709F6043C6 /* ConstraintItem.swift */; };
+               907FCA3049CAAF64B579D08D339D118D /* IQBarButtonItemConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 718310B9262DBF9218F32104C82B7D31 /* IQBarButtonItemConfiguration.swift */; };
+               938CFF5F6DE6E7E8CE94373E51F3E07A /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92187EBF74D4566D6037B89E45FC313 /* ConstraintLayoutGuide+Extensions.swift */; };
+               94F893223EB4C1C0F829C17900114AFA /* IQUIScrollView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94F893C8A2FDEF71C50031B5A0930F40 /* IQUIScrollView+Additions.swift */; };
+               950B809760A8CE4375DCE1016FB9859F /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB5DC196F96C6C4BB1CD79D6FD6B7728 /* ConstraintMakerRelatable.swift */; };
+               9779D52AD8CDA703D6EEE1C6D38E019F /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47DA51D0F1525280F93403C0CBFAD652 /* ConstraintAttributes.swift */; };
+               98A4D0D5928A35C7DB3D9272187789A8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 840FA0B75AF62912A30DDC66B647ED98 /* CoreGraphics.framework */; };
+               9A00A25ED34A7687C62B02EBB76C1248 /* IQKeyboardConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA615AC92E7312BC47DDD6D8A69E72F3 /* IQKeyboardConfiguration.swift */; };
+               9F78D56352F7D932DCEBE416C668C7BA /* IQKeyboardManager+ToolbarActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1268AFF944F5EFC1843FDB2A99D350DA /* IQKeyboardManager+ToolbarActions.swift */; };
+               A0371DF7D93D9B86BD50474D4B9294FD /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECAD0961380D3DF7234A89114624BAB3 /* ConstraintInsets.swift */; };
+               A051999781E1280746F7743BDEEA6C49 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBECC8D42190496CEFC535743E3D9DC6 /* ConstraintDescription.swift */; };
+               A23549F7CB0209D3AF14DF5CC302E9B7 /* Toast-Swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B7C01638A16AC2CAACF2E0DE5715CF6 /* Toast-Swift-dummy.m */; };
+               A35877DE0C3D6B4CF2A10E666EF5F490 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA466BFDAB2114DCF5873385D65B9321 /* LayoutConstraintItem.swift */; };
+               A5E69CC013C4311C8AF52C7F7AB095C9 /* IQUITableView+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3158706EB295D9C18FF8BA906AED1D67 /* IQUITableView+Additions.swift */; };
+               AE7D065E1D48171258FD8F07F7CD592C /* IQKeyboardManagerConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD039EFA2B91C6864FAEA73ECF182332 /* IQKeyboardManagerConstants.swift */; };
+               B133BB9C9B03481C7F1D221F35A617F2 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2739B637B84077CFE5418F3B719A38A /* Constraint.swift */; };
+               B1A786B1A2F11EBD1BF77305EEB710F5 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A42DBD2F42D55606EEBA514009498B87 /* QuartzCore.framework */; };
+               B1BFC54288364884DDEAE75027BABE1A /* IQActiveConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB699B634FDFAB757CEF86D96F111A92 /* IQActiveConfiguration.swift */; };
+               B3F75D115D5150C258F5E68404751010 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9532DD5F49A5519BEDF9ECDD8A5959B0 /* ConstraintConstantTarget.swift */; };
+               B4F9C9EC1B3F1689AE56BB719AE5439C /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B84FA1E4D590FF4D9FA2CF1092C044E /* ConstraintDirectionalInsetTarget.swift */; };
+               B9CF878085ABA2991A9C6F12F9B9DAB3 /* IQTitleBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20F2C44B7A25538F35CEF6B53580F13A /* IQTitleBarButtonItem.swift */; };
+               BE355F69F84788D334FDAC7D1CD9B8C4 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCEDEA546F314DB31037A2D828DB4A8C /* ConstraintDirectionalInsets.swift */; };
+               BF567AEFDD52DC43AC75122734D571E2 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 148884C9C5BF5D63AB5CDC50040871FA /* ConstraintMakerFinalizable.swift */; };
+               C04DBE6AE13FC5CFD01D363A351EF76A /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3B783C16D6A59BC24074B145A372FCC /* ConstraintView+Extensions.swift */; };
+               C7E343559158D03F717C616F79FAA006 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */; };
+               CA584DB99A79CD3CCCEC662499A86513 /* Pods-Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               CC96488C33BFB3BCEE4A665A438CAC36 /* IQUIViewController+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56EBB4F6FD7E90A76DBCCE93427CC19C /* IQUIViewController+Additions.swift */; };
+               D091D9EA20CEB92609BF1E622E8CA348 /* SnapKit-SnapKit_Privacy in Resources */ = {isa = PBXBuildFile; fileRef = B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */; };
+               D3D1F63C30E95311B687FA924B872C15 /* IQKeyboardManager+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93A7CFF5013321FFCE66CF75899A19B /* IQKeyboardManager+Deprecated.swift */; };
+               D5D5048DF0CA2052E944255D33433F17 /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */; };
+               D8322CBE73400EE4382D1A042D2D53D3 /* IQUIView+IQKeyboardToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8669FBAD7BFA7DD5183138C9C10E2FE5 /* IQUIView+IQKeyboardToolbar.swift */; };
+               D88C2EA8ACCC0DE031D9E7A768062E2C /* IQKeyboardManager+Toolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = A99F0F8050A5D2AB149CDE4174D677CE /* IQKeyboardManager+Toolbar.swift */; };
+               D92AEF78B87F929D88D5C876ABBAD79A /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7D507BC0A3AA3084CEC38FE6AFA8AB5 /* ConstraintLayoutSupportDSL.swift */; };
+               DE3B5070A41194C21898D92DBFFCBE4C /* IQRootControllerConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06A3970C0F26072724D76AC00FC40B67 /* IQRootControllerConfiguration.swift */; };
+               E483FA24409A56AAEDF8A1DEC5F55F16 /* UIImage+NextPrevious.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79E14ED76371E186B76E2DAE4E0315B3 /* UIImage+NextPrevious.swift */; };
+               E8770A941545BB190D76BF7E5262797D /* IQToolbarConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA3EF388553BB7101F53F72CCC8F4A9 /* IQToolbarConfiguration.swift */; };
+               E94B31DCAF75D93405D3BAE188604EB2 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81BBAC582C2517839C9E6945376733FE /* ConstraintConfig.swift */; };
+               EBB5F245DBEEB13D48F09E0DD75A6C95 /* IQKeyboardManager+Position.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B33CF59EADF3CAB0D64144B7898A45D /* IQKeyboardManager+Position.swift */; };
+               EF00BF7D0F543428543D51D872216944 /* Toast-Swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E94DBC148226C9EB4BCC59E7DAEA494C /* Toast-Swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+               EFC90283F9AB43BB6FF377812BD3673F /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64FFF83D8B5D3DBBD8E8B116B12B008D /* ConstraintPriority.swift */; };
+               F366D04DEA0EBBCA9CA4F1F4E29695E8 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DD29958818B7020C5CE86C6EB0AD6C7 /* ConstraintDSL.swift */; };
+               F681FB74C756E0AAFFDC0D414EBD8FA0 /* IQScrollViewConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71F833948A36F88E3CDA4A7E102D9680 /* IQScrollViewConfiguration.swift */; };
+               F94703ED86C58DDBE5A2503D148CD040 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D65B2B53AFE2E97AAD2347B0D2450BF1 /* ConstraintRelation.swift */; };
+               F9DE1A3C506E506F4DA4B7714359E8D1 /* IQKeyboardManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FDDF0DE62DA5A183B9D4C4E3F77E89D /* IQKeyboardManager.swift */; };
+               FDEFBFB34E35A4BB332264E0CACCF5D8 /* IQInvocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA1531524B3A85EEC0079897F08A51A3 /* IQInvocation.swift */; };
+               FFD7E1B8FA0F3960BE24DA2D20647332 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79F3994CD8C29361AEDE4763818964C0 /* ConstraintRelatableTarget.swift */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+               17B1D7D731CE352C4A42C90FB88EDF3E /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = B490E7485944099E16C9CBD79119D1D4;
+                       remoteInfo = IQKeyboardManagerSwift;
+               };
+               29C3C4F752562CF20DAEFA2CF76A52DC /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = B990BD87169C76A3ED3FE8A9258D91A3;
+                       remoteInfo = "Toast-Swift";
+               };
+               417EECB4ED728C03E51E6C52D83B2612 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 8A8DB685241263AFDF5E6B20FE67B93A;
+                       remoteInfo = "SnapKit-SnapKit_Privacy";
+               };
+               78F142C3B4B12378D3E4AE6AE32AE59E /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4;
+                       remoteInfo = SnapKit;
+               };
+               9D981AF9E00C2ADC17482C92A02195B1 /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 982A68D37F5DCBC1FC1FDC0BB2F0EB8E;
+                       remoteInfo = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
+               };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+               03B1A0778751E0826602861220F2DC66 /* ConstraintMakerRelatable+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintMakerRelatable+Extensions.swift"; path = "Sources/ConstraintMakerRelatable+Extensions.swift"; sourceTree = "<group>"; };
+               04D60AC13D33197690A05C641925DDDA /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
+               06A3970C0F26072724D76AC00FC40B67 /* IQRootControllerConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQRootControllerConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQRootControllerConfiguration.swift; sourceTree = "<group>"; };
+               080974FCAB1AD4F3189D9BD8FFACBEFF /* IQToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbar.swift; path = IQKeyboardManagerSwift/IQToolbar/IQToolbar.swift; sourceTree = "<group>"; };
+               0816D0202E8F46EA9C2657E4EC8424F3 /* IQTextFieldViewInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextFieldViewInfo.swift; path = IQKeyboardManagerSwift/LIsteners/Info/IQTextFieldViewInfo.swift; sourceTree = "<group>"; };
+               0826BDFE1E8E1C0687A2D174BAFF602D /* Toast-Swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-prefix.pch"; sourceTree = "<group>"; };
+               0B7C01638A16AC2CAACF2E0DE5715CF6 /* Toast-Swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Toast-Swift-dummy.m"; sourceTree = "<group>"; };
+               0FE73E6FA88BBBFD504597F6DEF9D439 /* Toast-Swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Toast-Swift-Info.plist"; sourceTree = "<group>"; };
+               10AD92D3B68611554DCF5720DC0720D8 /* IQTextFieldViewListener.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextFieldViewListener.swift; path = IQKeyboardManagerSwift/LIsteners/IQTextFieldViewListener.swift; sourceTree = "<group>"; };
+               1268AFF944F5EFC1843FDB2A99D350DA /* IQKeyboardManager+ToolbarActions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+ToolbarActions.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+ToolbarActions.swift"; sourceTree = "<group>"; };
+               148884C9C5BF5D63AB5CDC50040871FA /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Sources/ConstraintMakerFinalizable.swift; sourceTree = "<group>"; };
+               16DC2C3F3F47A6C10378F13800AE8138 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Sources/UILayoutSupport+Extensions.swift"; sourceTree = "<group>"; };
+               1757056710D3EAF1ED55009B000F3D35 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardReturnKeyHandler+TextFieldDelegate.swift"; path = "IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextFieldDelegate.swift"; sourceTree = "<group>"; };
+               192298B0D95D5F1503B984D3583F5BFE /* IQTextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextView.swift; path = IQKeyboardManagerSwift/IQTextView/IQTextView.swift; sourceTree = "<group>"; };
+               1B33CF59EADF3CAB0D64144B7898A45D /* IQKeyboardManager+Position.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Position.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Position.swift"; sourceTree = "<group>"; };
+               1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-Example"; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+               20DDA272B8E925FEF790776A224AEEC2 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Sources/ConstraintLayoutGuideDSL.swift; sourceTree = "<group>"; };
+               20F2C44B7A25538F35CEF6B53580F13A /* IQTitleBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTitleBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQTitleBarButtonItem.swift; sourceTree = "<group>"; };
+               21CF3A39AB8F2E562D184D98200F21AA /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = IQKeyboardManagerSwift/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
+               243410B9535472556EA4BB6DBC133A0D /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = "<group>"; };
+               300030D0A05F9B8C127FF428D70FAF2D /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardReturnKeyHandler+TextViewDelegate.swift"; path = "IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler+TextViewDelegate.swift"; sourceTree = "<group>"; };
+               3158706EB295D9C18FF8BA906AED1D67 /* IQUITableView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUITableView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUITableView+Additions.swift"; sourceTree = "<group>"; };
+               31C1D37707DFAA5E6A164BCC07834264 /* Pods-Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-Info.plist"; sourceTree = "<group>"; };
+               33EFC31D4AED7F180AE374A80B17FA08 /* IQKeyboardListener.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardListener.swift; path = IQKeyboardManagerSwift/LIsteners/IQKeyboardListener.swift; sourceTree = "<group>"; };
+               351F24C66E19752DD6EA6C36AF353DF7 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = "<group>"; };
+               35B6A598D6741677D6D1FA709F6043C6 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Sources/ConstraintItem.swift; sourceTree = "<group>"; };
+               35C305D3797C284E6F5BAA1D3E6F9BF8 /* Pods-Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Example.modulemap"; sourceTree = "<group>"; };
+               3AE71F8217EF7ACC3231FFAACD7D8FD9 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = "<group>"; };
+               3CB6DFA8D97BBEDEABE950BC95908E9D /* IQKeyboardManager+Debug.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Debug.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Debug.swift"; sourceTree = "<group>"; };
+               3F7AF737B2F40C4870DAF57481575D91 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Sources/ConstraintMultiplierTarget.swift; sourceTree = "<group>"; };
+               441854E35F81731E63E53DC7E4EEAD9D /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = "<group>"; };
+               47DA51D0F1525280F93403C0CBFAD652 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Sources/ConstraintAttributes.swift; sourceTree = "<group>"; };
+               487E8CCA4859CD97779EAC235E596B3F /* IQKeyboardManagerCompatible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerCompatible.swift; path = IQKeyboardManagerSwift/IQKeyboardManagerCompatible/IQKeyboardManagerCompatible.swift; sourceTree = "<group>"; };
+               4D5DA97A682C949B62A923E58F38BC6A /* IQUITextFieldView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUITextFieldView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUITextFieldView+Additions.swift"; sourceTree = "<group>"; };
+               4DD29958818B7020C5CE86C6EB0AD6C7 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Sources/ConstraintDSL.swift; sourceTree = "<group>"; };
+               4EAD94738C2E3C4F5AEC9FE74B30C432 /* IQKeyboardManagerSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-umbrella.h"; sourceTree = "<group>"; };
+               4FDDF0DE62DA5A183B9D4C4E3F77E89D /* IQKeyboardManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManager.swift; path = IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager.swift; sourceTree = "<group>"; };
+               56EBB4F6FD7E90A76DBCCE93427CC19C /* IQUIViewController+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIViewController+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUIViewController+Additions.swift"; sourceTree = "<group>"; };
+               5E998035FB812DDE9D1AE2E5B6C01F58 /* IQBarButtonItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItem.swift; path = IQKeyboardManagerSwift/IQToolbar/IQBarButtonItem.swift; sourceTree = "<group>"; };
+               6086BEFBFC4D1AE4AF5CE7BEFDABAA3E /* Toast-Swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.debug.xcconfig"; sourceTree = "<group>"; };
+               61FE9DB302A64BA8455DA565CF4B2D91 /* IQKeyboardManagerSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "IQKeyboardManagerSwift-Info.plist"; sourceTree = "<group>"; };
+               622AC377CF7C38C240EBA7913D3A473A /* Toast.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Toast.swift; path = Toast/Toast.swift; sourceTree = "<group>"; };
+               622B0972DDD1412DAC47AAB441250AE9 /* ConstraintMakerPrioritizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPrioritizable.swift; path = Sources/ConstraintMakerPrioritizable.swift; sourceTree = "<group>"; };
+               628C71717D78E4787E5207FA441B31FA /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Sources/ConstraintLayoutGuide.swift; sourceTree = "<group>"; };
+               63515591138E7BAAAC90A9D200D19266 /* IQPlaceholderable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQPlaceholderable.swift; path = IQKeyboardManagerSwift/IQTextView/IQPlaceholderable.swift; sourceTree = "<group>"; };
+               64FFF83D8B5D3DBBD8E8B116B12B008D /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Sources/ConstraintPriority.swift; sourceTree = "<group>"; };
+               6840514330F765752CC8D40C118CEE6F /* Toast-Swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Toast-Swift.release.xcconfig"; sourceTree = "<group>"; };
+               68AC15B21E30C79D83E2932832D289B4 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Sources/ConstraintOffsetTarget.swift; sourceTree = "<group>"; };
+               718310B9262DBF9218F32104C82B7D31 /* IQBarButtonItemConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQBarButtonItemConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQBarButtonItemConfiguration.swift; sourceTree = "<group>"; };
+               71F833948A36F88E3CDA4A7E102D9680 /* IQScrollViewConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQScrollViewConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQScrollViewConfiguration.swift; sourceTree = "<group>"; };
+               73688A50BFBEC237BDB578170F6D01BD /* Toast-Swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Toast-Swift.modulemap"; sourceTree = "<group>"; };
+               7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Example-umbrella.h"; sourceTree = "<group>"; };
+               78C8C7310BB85164BD37D9CB7A30EA4B /* ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist"; sourceTree = "<group>"; };
+               79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
+               79E14ED76371E186B76E2DAE4E0315B3 /* UIImage+NextPrevious.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIImage+NextPrevious.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/UIImage+NextPrevious.swift"; sourceTree = "<group>"; };
+               79F3994CD8C29361AEDE4763818964C0 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Sources/ConstraintRelatableTarget.swift; sourceTree = "<group>"; };
+               7B84FA1E4D590FF4D9FA2CF1092C044E /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Sources/ConstraintDirectionalInsetTarget.swift; sourceTree = "<group>"; };
+               7CE2273B9C7EF1EB002B8F27679C80C0 /* IQKeyboardReturnKeyHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardReturnKeyHandler.swift; path = IQKeyboardManagerSwift/ReturnKeyHandler/IQKeyboardReturnKeyHandler.swift; sourceTree = "<group>"; };
+               7CFEA705805177F0CCF56EC740BF7E4A /* IQKeyboardManagerSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IQKeyboardManagerSwift-dummy.m"; sourceTree = "<group>"; };
+               81BBAC582C2517839C9E6945376733FE /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Sources/ConstraintConfig.swift; sourceTree = "<group>"; };
+               840FA0B75AF62912A30DDC66B647ED98 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
+               8669FBAD7BFA7DD5183138C9C10E2FE5 /* IQUIView+IQKeyboardToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+IQKeyboardToolbar.swift"; path = "IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbar.swift"; sourceTree = "<group>"; };
+               8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift"; path = IQKeyboardManagerSwift.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+               8FB61A3A704718BA9D28CB8AF551D3BA /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = "<group>"; };
+               90A78351C7EFC4AB674E3681D6EF0514 /* IQUIView+Hierarchy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+Hierarchy.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUIView+Hierarchy.swift"; sourceTree = "<group>"; };
+               939E6A71993A6CE7B5D01158372276C1 /* IQKeyboardInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardInfo.swift; path = IQKeyboardManagerSwift/LIsteners/Info/IQKeyboardInfo.swift; sourceTree = "<group>"; };
+               94F893C8A2FDEF71C50031B5A0930F40 /* IQUIScrollView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIScrollView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUIScrollView+Additions.swift"; sourceTree = "<group>"; };
+               9532DD5F49A5519BEDF9ECDD8A5959B0 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Sources/ConstraintConstantTarget.swift; sourceTree = "<group>"; };
+               979486118B3E90C08386079D57962701 /* SnapKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+               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; };
+               A262C6E67F33463A3EF63AB3B447CADE /* IQKeyboardManagerSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.release.xcconfig; sourceTree = "<group>"; };
+               A42DBD2F42D55606EEBA514009498B87 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
+               A8A8AB97C8E4A6E354FEA40DEFDCC38F /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Sources/ConstraintMaker.swift; sourceTree = "<group>"; };
+               A8D10D8487CAE9288C4AB3982CA25D05 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Sources/ConstraintLayoutSupport.swift; sourceTree = "<group>"; };
+               A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IQKeyboardManagerSwift; path = IQKeyboardManagerSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+               A92187EBF74D4566D6037B89E45FC313 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Sources/ConstraintLayoutGuide+Extensions.swift"; sourceTree = "<group>"; };
+               A99F0F8050A5D2AB149CDE4174D677CE /* IQKeyboardManager+Toolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Toolbar.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Toolbar.swift"; sourceTree = "<group>"; };
+               AA1531524B3A85EEC0079897F08A51A3 /* IQInvocation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQInvocation.swift; path = IQKeyboardManagerSwift/IQToolbar/IQInvocation.swift; sourceTree = "<group>"; };
+               AEAE0095B094524A23C29A6F7F27E667 /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = "<group>"; };
+               AFECBC24E09D0D25F822C27BD944AFD4 /* Pods-Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-frameworks.sh"; sourceTree = "<group>"; };
+               B26A354E2CEBFC3C5B63FAE1CAA92DEB /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Toast/Resources/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
+               B2B15E0C2FA074028C8D761CC6134878 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Sources/ConstraintView.swift; sourceTree = "<group>"; };
+               B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = "<group>"; };
+               B68ACB5412EC5AAC4B13CD213584E56C /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = Sources/PrivacyInfo.xcprivacy; 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; };
+               BA615AC92E7312BC47DDD6D8A69E72F3 /* IQKeyboardConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQKeyboardConfiguration.swift; sourceTree = "<group>"; };
+               BB754F457BB7840C8DBC212D34323562 /* IQKeyboardManagerSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = IQKeyboardManagerSwift.modulemap; sourceTree = "<group>"; };
+               BCEDEA546F314DB31037A2D828DB4A8C /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Sources/ConstraintDirectionalInsets.swift; sourceTree = "<group>"; };
+               BD68BFB8D786D053D462EA67697D1DB6 /* IQTextFieldViewInfoModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQTextFieldViewInfoModel.swift; path = IQKeyboardManagerSwift/ReturnKeyHandler/IQTextFieldViewInfoModel.swift; sourceTree = "<group>"; };
+               BECF740201B00644945D6BFCC8EE1F53 /* IQUICollectionView+Additions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUICollectionView+Additions.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQUICollectionView+Additions.swift"; sourceTree = "<group>"; };
+               C2739B637B84077CFE5418F3B719A38A /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Sources/Constraint.swift; sourceTree = "<group>"; };
+               C3B783C16D6A59BC24074B145A372FCC /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Sources/ConstraintView+Extensions.swift"; sourceTree = "<group>"; };
+               C93A7CFF5013321FFCE66CF75899A19B /* IQKeyboardManager+Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Deprecated.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Deprecated.swift"; sourceTree = "<group>"; };
+               CBECC8D42190496CEFC535743E3D9DC6 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Sources/ConstraintDescription.swift; sourceTree = "<group>"; };
+               CD9EF4AE314ECB09CCAF89626AB6D4EB /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist"; sourceTree = "<group>"; };
+               CF0BCC29761DC7E3F13B5D4721C5AE10 /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = "<group>"; };
+               CF5C5E139984EBC98F8FE24FE15CEE79 /* IQPreviousNextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQPreviousNextView.swift; path = IQKeyboardManagerSwift/IQToolbar/IQPreviousNextView.swift; sourceTree = "<group>"; };
+               D1CC58F10CAD8194DBD2C7308C3694CF /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Sources/Typealiases.swift; sourceTree = "<group>"; };
+               D267F880B5BC6279E167245357C516E4 /* IQKeyboardManager+UITextFieldViewNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UITextFieldViewNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UITextFieldViewNotification.swift"; sourceTree = "<group>"; };
+               D2C828ED68C4AE08612F2A936AB1C7A5 /* IQKeyboardManagerSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IQKeyboardManagerSwift-prefix.pch"; sourceTree = "<group>"; };
+               D423AF1243BA3E2E9D29B5D6E77E95B4 /* IQNSArray+Sort.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQNSArray+Sort.swift"; path = "IQKeyboardManagerSwift/UIKitExtensions/IQNSArray+Sort.swift"; sourceTree = "<group>"; };
+               D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Toast-Swift"; path = Toast_Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+               D65B2B53AFE2E97AAD2347B0D2450BF1 /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Sources/ConstraintRelation.swift; sourceTree = "<group>"; };
+               D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = "<group>"; };
+               D76D361EFC283ED2EFC6CF7F8BD84213 /* IQKeyboardManager+Internal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+Internal.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+Internal.swift"; sourceTree = "<group>"; };
+               D7D507BC0A3AA3084CEC38FE6AFA8AB5 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Sources/ConstraintLayoutSupportDSL.swift; sourceTree = "<group>"; };
+               DDA3EF388553BB7101F53F72CCC8F4A9 /* IQToolbarConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbarConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQToolbarConfiguration.swift; sourceTree = "<group>"; };
+               DE1C7BCB2C17A82F6FCC4EF1B276DF1E /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = "<group>"; };
+               E2D361F5787F34F9D1700D7114563AF7 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Sources/ConstraintMakerExtendable.swift; sourceTree = "<group>"; };
+               E394466448323B566659ED3C86466588 /* IQUIView+IQKeyboardToolbarDeprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQUIView+IQKeyboardToolbarDeprecated.swift"; path = "IQKeyboardManagerSwift/IQToolbar/IQUIView+IQKeyboardToolbarDeprecated.swift"; sourceTree = "<group>"; };
+               E5465A420948F0534DA3E383E108F925 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Sources/ConstraintMakerEditable.swift; sourceTree = "<group>"; };
+               E6D7D5300CA474D7485012005F3E5280 /* IQKeyboardManager+UIKeyboardNotification.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IQKeyboardManager+UIKeyboardNotification.swift"; path = "IQKeyboardManagerSwift/IQKeyboardManager/IQKeyboardManager+UIKeyboardNotification.swift"; sourceTree = "<group>"; };
+               E94DBC148226C9EB4BCC59E7DAEA494C /* Toast-Swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Toast-Swift-umbrella.h"; sourceTree = "<group>"; };
+               EA21B344259B58996DB73382B1B1521F /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = "<group>"; };
+               ECAD0961380D3DF7234A89114624BAB3 /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Sources/ConstraintInsets.swift; sourceTree = "<group>"; };
+               EE16C611E50DB512C9F824C9987DF025 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Sources/LayoutConstraint.swift; sourceTree = "<group>"; };
+               EF6E6A10E54B7D75B219D33B46E5986E /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Sources/ConstraintPriorityTarget.swift; sourceTree = "<group>"; };
+               EF9F36A57B1CB8B3461C5911043F6CF9 /* IQToolbarPlaceholderConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQToolbarPlaceholderConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQToolbarPlaceholderConfiguration.swift; sourceTree = "<group>"; };
+               F0AB9F729D940C230C9A2169648D647D /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Sources/Debugging.swift; sourceTree = "<group>"; };
+               F3E194AF34161D9686CE36DA4FA684C9 /* IQKeyboardManagerSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IQKeyboardManagerSwift.debug.xcconfig; sourceTree = "<group>"; };
+               F75E83DF3A12ABA862C91E63D2AF6280 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Sources/ConstraintInsetTarget.swift; sourceTree = "<group>"; };
+               F970F894DF407AD226D3877ECA6A2E48 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = "<group>"; };
+               FA466BFDAB2114DCF5873385D65B9321 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Sources/LayoutConstraintItem.swift; sourceTree = "<group>"; };
+               FB5DC196F96C6C4BB1CD79D6FD6B7728 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Sources/ConstraintMakerRelatable.swift; sourceTree = "<group>"; };
+               FB699B634FDFAB757CEF86D96F111A92 /* IQActiveConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQActiveConfiguration.swift; path = IQKeyboardManagerSwift/Configuration/IQActiveConfiguration.swift; sourceTree = "<group>"; };
+               FD039EFA2B91C6864FAEA73ECF182332 /* IQKeyboardManagerConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IQKeyboardManagerConstants.swift; path = IQKeyboardManagerSwift/Constants/IQKeyboardManagerConstants.swift; sourceTree = "<group>"; };
+               FE7CEBB9FF37125D33DFC72668395B8A /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Sources/ConstraintViewDSL.swift; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+               16CA964EAF351C90B0830802689856B2 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               53463E2C1FAA39A67C058C6BE1BD795F /* Foundation.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               27CD3877559C586C9BCFE5E060319ABA /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               3130A51D7DFF19A4DA7649752464E8ED /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               98A4D0D5928A35C7DB3D9272187789A8 /* CoreGraphics.framework in Frameworks */,
+                               23D11E770DF137CBF802A30E2B19C054 /* Foundation.framework in Frameworks */,
+                               B1A786B1A2F11EBD1BF77305EEB710F5 /* QuartzCore.framework in Frameworks */,
+                               7586D1882B962E1E31C28CC6396668B3 /* UIKit.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               6F796DCACF7FECDF5C5CEF6AFE7BC0FF /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               C7E343559158D03F717C616F79FAA006 /* Foundation.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               AB0F36187CBD4D114ED524B642EDB4FB /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               5CE349BD7B3C13F71152960F46C2AD58 /* Foundation.framework in Frameworks */,
+                               8637B942FE12C96972BFC827D8F012FB /* QuartzCore.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               F3AE2DCEEAB7ED4919849BFC7B87ED52 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+               35E605FC83899DC0364A9D8667D8C408 /* Resources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               21CF3A39AB8F2E562D184D98200F21AA /* PrivacyInfo.xcprivacy */,
+                       );
+                       name = Resources;
+                       sourceTree = "<group>";
+               };
+               499233379DB1EE1580303CC17E4034E0 /* IQKeyboardManagerSwift */ = {
+                       isa = PBXGroup;
+                       children = (
+                               FB699B634FDFAB757CEF86D96F111A92 /* IQActiveConfiguration.swift */,
+                               5E998035FB812DDE9D1AE2E5B6C01F58 /* IQBarButtonItem.swift */,
+                               718310B9262DBF9218F32104C82B7D31 /* IQBarButtonItemConfiguration.swift */,
+                               AA1531524B3A85EEC0079897F08A51A3 /* IQInvocation.swift */,
+                               BA615AC92E7312BC47DDD6D8A69E72F3 /* IQKeyboardConfiguration.swift */,
+                               939E6A71993A6CE7B5D01158372276C1 /* IQKeyboardInfo.swift */,
+                               33EFC31D4AED7F180AE374A80B17FA08 /* IQKeyboardListener.swift */,
+                               4FDDF0DE62DA5A183B9D4C4E3F77E89D /* IQKeyboardManager.swift */,
+                               3CB6DFA8D97BBEDEABE950BC95908E9D /* IQKeyboardManager+Debug.swift */,
+                               C93A7CFF5013321FFCE66CF75899A19B /* IQKeyboardManager+Deprecated.swift */,
+                               D76D361EFC283ED2EFC6CF7F8BD84213 /* IQKeyboardManager+Internal.swift */,
+                               1B33CF59EADF3CAB0D64144B7898A45D /* IQKeyboardManager+Position.swift */,
+                               A99F0F8050A5D2AB149CDE4174D677CE /* IQKeyboardManager+Toolbar.swift */,
+                               1268AFF944F5EFC1843FDB2A99D350DA /* IQKeyboardManager+ToolbarActions.swift */,
+                               E6D7D5300CA474D7485012005F3E5280 /* IQKeyboardManager+UIKeyboardNotification.swift */,
+                               D267F880B5BC6279E167245357C516E4 /* IQKeyboardManager+UITextFieldViewNotification.swift */,
+                               487E8CCA4859CD97779EAC235E596B3F /* IQKeyboardManagerCompatible.swift */,
+                               FD039EFA2B91C6864FAEA73ECF182332 /* IQKeyboardManagerConstants.swift */,
+                               7CE2273B9C7EF1EB002B8F27679C80C0 /* IQKeyboardReturnKeyHandler.swift */,
+                               1757056710D3EAF1ED55009B000F3D35 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift */,
+                               300030D0A05F9B8C127FF428D70FAF2D /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift */,
+                               D423AF1243BA3E2E9D29B5D6E77E95B4 /* IQNSArray+Sort.swift */,
+                               63515591138E7BAAAC90A9D200D19266 /* IQPlaceholderable.swift */,
+                               CF5C5E139984EBC98F8FE24FE15CEE79 /* IQPreviousNextView.swift */,
+                               06A3970C0F26072724D76AC00FC40B67 /* IQRootControllerConfiguration.swift */,
+                               71F833948A36F88E3CDA4A7E102D9680 /* IQScrollViewConfiguration.swift */,
+                               0816D0202E8F46EA9C2657E4EC8424F3 /* IQTextFieldViewInfo.swift */,
+                               BD68BFB8D786D053D462EA67697D1DB6 /* IQTextFieldViewInfoModel.swift */,
+                               10AD92D3B68611554DCF5720DC0720D8 /* IQTextFieldViewListener.swift */,
+                               192298B0D95D5F1503B984D3583F5BFE /* IQTextView.swift */,
+                               20F2C44B7A25538F35CEF6B53580F13A /* IQTitleBarButtonItem.swift */,
+                               080974FCAB1AD4F3189D9BD8FFACBEFF /* IQToolbar.swift */,
+                               DDA3EF388553BB7101F53F72CCC8F4A9 /* IQToolbarConfiguration.swift */,
+                               EF9F36A57B1CB8B3461C5911043F6CF9 /* IQToolbarPlaceholderConfiguration.swift */,
+                               BECF740201B00644945D6BFCC8EE1F53 /* IQUICollectionView+Additions.swift */,
+                               94F893C8A2FDEF71C50031B5A0930F40 /* IQUIScrollView+Additions.swift */,
+                               3158706EB295D9C18FF8BA906AED1D67 /* IQUITableView+Additions.swift */,
+                               4D5DA97A682C949B62A923E58F38BC6A /* IQUITextFieldView+Additions.swift */,
+                               90A78351C7EFC4AB674E3681D6EF0514 /* IQUIView+Hierarchy.swift */,
+                               8669FBAD7BFA7DD5183138C9C10E2FE5 /* IQUIView+IQKeyboardToolbar.swift */,
+                               E394466448323B566659ED3C86466588 /* IQUIView+IQKeyboardToolbarDeprecated.swift */,
+                               56EBB4F6FD7E90A76DBCCE93427CC19C /* IQUIViewController+Additions.swift */,
+                               79E14ED76371E186B76E2DAE4E0315B3 /* UIImage+NextPrevious.swift */,
+                               35E605FC83899DC0364A9D8667D8C408 /* Resources */,
+                               E1E10AA5D08427E8712A4B54CB66A781 /* Support Files */,
+                       );
+                       name = IQKeyboardManagerSwift;
+                       path = IQKeyboardManagerSwift;
+                       sourceTree = "<group>";
+               };
+               70B5F21E4730FCF210666B46064B2872 /* Pods */ = {
+                       isa = PBXGroup;
+                       children = (
+                               499233379DB1EE1580303CC17E4034E0 /* IQKeyboardManagerSwift */,
+                               CE54010BA463C2EB1145E8AC93717501 /* SnapKit */,
+                               A894377B1CE5B1427A6C80A82C8E0856 /* Toast-Swift */,
+                       );
+                       name = Pods;
+                       sourceTree = "<group>";
+               };
+               7F3DF112F77A4962DE4A42C9A69DA3D6 /* Support Files */ = {
+                       isa = PBXGroup;
+                       children = (
+                               CD9EF4AE314ECB09CCAF89626AB6D4EB /* ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist */,
+                               351F24C66E19752DD6EA6C36AF353DF7 /* SnapKit.modulemap */,
+                               DE1C7BCB2C17A82F6FCC4EF1B276DF1E /* SnapKit-dummy.m */,
+                               8FB61A3A704718BA9D28CB8AF551D3BA /* SnapKit-Info.plist */,
+                               F970F894DF407AD226D3877ECA6A2E48 /* SnapKit-prefix.pch */,
+                               3AE71F8217EF7ACC3231FFAACD7D8FD9 /* SnapKit-umbrella.h */,
+                               AEAE0095B094524A23C29A6F7F27E667 /* SnapKit.debug.xcconfig */,
+                               CF0BCC29761DC7E3F13B5D4721C5AE10 /* SnapKit.release.xcconfig */,
+                       );
+                       name = "Support Files";
+                       path = "../Target Support Files/SnapKit";
+                       sourceTree = "<group>";
+               };
+               83024925D39659BD7F9F37905480C8F6 /* Resources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B68ACB5412EC5AAC4B13CD213584E56C /* PrivacyInfo.xcprivacy */,
+                       );
+                       name = Resources;
+                       sourceTree = "<group>";
+               };
+               848786660F6E81E176ECA1A81CBC176E /* Resources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B26A354E2CEBFC3C5B63FAE1CAA92DEB /* PrivacyInfo.xcprivacy */,
+                       );
+                       name = Resources;
+                       sourceTree = "<group>";
+               };
+               9BDBD95ED116334D1B2835202D8D3060 /* Pods-Example */ = {
+                       isa = PBXGroup;
+                       children = (
+                               35C305D3797C284E6F5BAA1D3E6F9BF8 /* Pods-Example.modulemap */,
+                               441854E35F81731E63E53DC7E4EEAD9D /* Pods-Example-acknowledgements.markdown */,
+                               EA21B344259B58996DB73382B1B1521F /* Pods-Example-acknowledgements.plist */,
+                               D6D7C498FA339E02BD53ECB8916CEA8E /* Pods-Example-dummy.m */,
+                               AFECBC24E09D0D25F822C27BD944AFD4 /* Pods-Example-frameworks.sh */,
+                               31C1D37707DFAA5E6A164BCC07834264 /* Pods-Example-Info.plist */,
+                               7825A90E082A1582EB16256B0E722B3F /* Pods-Example-umbrella.h */,
+                               B45138496B85A072654D1D0F8EBBEDE5 /* Pods-Example.debug.xcconfig */,
+                               243410B9535472556EA4BB6DBC133A0D /* Pods-Example.release.xcconfig */,
+                       );
+                       name = "Pods-Example";
+                       path = "Target Support Files/Pods-Example";
+                       sourceTree = "<group>";
+               };
+               A894377B1CE5B1427A6C80A82C8E0856 /* Toast-Swift */ = {
+                       isa = PBXGroup;
+                       children = (
+                               622AC377CF7C38C240EBA7913D3A473A /* Toast.swift */,
+                               848786660F6E81E176ECA1A81CBC176E /* Resources */,
+                               DAB61DCA0985B3BBFE47A6C35D7A96EA /* Support Files */,
+                       );
+                       name = "Toast-Swift";
+                       path = "Toast-Swift";
+                       sourceTree = "<group>";
+               };
+               BA4F31F07263C99FC76E66D632A59F09 /* Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F9D206BABE81E6BF0B9B23880B238CC7 /* iOS */,
+                       );
+                       name = Frameworks;
+                       sourceTree = "<group>";
+               };
+               C22B7A191BB73E4EEE8C7FC95EF88CD9 /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */,
+                               8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */,
+                               1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */,
+                               979486118B3E90C08386079D57962701 /* SnapKit */,
+                               B9DCB5EC0B1CDADD221717CADDF62359 /* SnapKit-SnapKit_Privacy */,
+                               D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               CE2E825F08D3AD0FD76E6D78D7512ED0 /* Targets Support Files */ = {
+                       isa = PBXGroup;
+                       children = (
+                               9BDBD95ED116334D1B2835202D8D3060 /* Pods-Example */,
+                       );
+                       name = "Targets Support Files";
+                       sourceTree = "<group>";
+               };
+               CE54010BA463C2EB1145E8AC93717501 /* SnapKit */ = {
+                       isa = PBXGroup;
+                       children = (
+                               C2739B637B84077CFE5418F3B719A38A /* Constraint.swift */,
+                               47DA51D0F1525280F93403C0CBFAD652 /* ConstraintAttributes.swift */,
+                               81BBAC582C2517839C9E6945376733FE /* ConstraintConfig.swift */,
+                               9532DD5F49A5519BEDF9ECDD8A5959B0 /* ConstraintConstantTarget.swift */,
+                               CBECC8D42190496CEFC535743E3D9DC6 /* ConstraintDescription.swift */,
+                               BCEDEA546F314DB31037A2D828DB4A8C /* ConstraintDirectionalInsets.swift */,
+                               7B84FA1E4D590FF4D9FA2CF1092C044E /* ConstraintDirectionalInsetTarget.swift */,
+                               4DD29958818B7020C5CE86C6EB0AD6C7 /* ConstraintDSL.swift */,
+                               ECAD0961380D3DF7234A89114624BAB3 /* ConstraintInsets.swift */,
+                               F75E83DF3A12ABA862C91E63D2AF6280 /* ConstraintInsetTarget.swift */,
+                               35B6A598D6741677D6D1FA709F6043C6 /* ConstraintItem.swift */,
+                               628C71717D78E4787E5207FA441B31FA /* ConstraintLayoutGuide.swift */,
+                               A92187EBF74D4566D6037B89E45FC313 /* ConstraintLayoutGuide+Extensions.swift */,
+                               20DDA272B8E925FEF790776A224AEEC2 /* ConstraintLayoutGuideDSL.swift */,
+                               A8D10D8487CAE9288C4AB3982CA25D05 /* ConstraintLayoutSupport.swift */,
+                               D7D507BC0A3AA3084CEC38FE6AFA8AB5 /* ConstraintLayoutSupportDSL.swift */,
+                               A8A8AB97C8E4A6E354FEA40DEFDCC38F /* ConstraintMaker.swift */,
+                               E5465A420948F0534DA3E383E108F925 /* ConstraintMakerEditable.swift */,
+                               E2D361F5787F34F9D1700D7114563AF7 /* ConstraintMakerExtendable.swift */,
+                               148884C9C5BF5D63AB5CDC50040871FA /* ConstraintMakerFinalizable.swift */,
+                               622B0972DDD1412DAC47AAB441250AE9 /* ConstraintMakerPrioritizable.swift */,
+                               FB5DC196F96C6C4BB1CD79D6FD6B7728 /* ConstraintMakerRelatable.swift */,
+                               03B1A0778751E0826602861220F2DC66 /* ConstraintMakerRelatable+Extensions.swift */,
+                               3F7AF737B2F40C4870DAF57481575D91 /* ConstraintMultiplierTarget.swift */,
+                               68AC15B21E30C79D83E2932832D289B4 /* ConstraintOffsetTarget.swift */,
+                               64FFF83D8B5D3DBBD8E8B116B12B008D /* ConstraintPriority.swift */,
+                               EF6E6A10E54B7D75B219D33B46E5986E /* ConstraintPriorityTarget.swift */,
+                               79F3994CD8C29361AEDE4763818964C0 /* ConstraintRelatableTarget.swift */,
+                               D65B2B53AFE2E97AAD2347B0D2450BF1 /* ConstraintRelation.swift */,
+                               B2B15E0C2FA074028C8D761CC6134878 /* ConstraintView.swift */,
+                               C3B783C16D6A59BC24074B145A372FCC /* ConstraintView+Extensions.swift */,
+                               FE7CEBB9FF37125D33DFC72668395B8A /* ConstraintViewDSL.swift */,
+                               F0AB9F729D940C230C9A2169648D647D /* Debugging.swift */,
+                               EE16C611E50DB512C9F824C9987DF025 /* LayoutConstraint.swift */,
+                               FA466BFDAB2114DCF5873385D65B9321 /* LayoutConstraintItem.swift */,
+                               D1CC58F10CAD8194DBD2C7308C3694CF /* Typealiases.swift */,
+                               16DC2C3F3F47A6C10378F13800AE8138 /* UILayoutSupport+Extensions.swift */,
+                               83024925D39659BD7F9F37905480C8F6 /* Resources */,
+                               7F3DF112F77A4962DE4A42C9A69DA3D6 /* Support Files */,
+                       );
+                       name = SnapKit;
+                       path = SnapKit;
+                       sourceTree = "<group>";
+               };
+               CF1408CF629C7361332E53B88F7BD30C = {
+                       isa = PBXGroup;
+                       children = (
+                               9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
+                               BA4F31F07263C99FC76E66D632A59F09 /* Frameworks */,
+                               70B5F21E4730FCF210666B46064B2872 /* Pods */,
+                               C22B7A191BB73E4EEE8C7FC95EF88CD9 /* Products */,
+                               CE2E825F08D3AD0FD76E6D78D7512ED0 /* Targets Support Files */,
+                       );
+                       sourceTree = "<group>";
+               };
+               DAB61DCA0985B3BBFE47A6C35D7A96EA /* Support Files */ = {
+                       isa = PBXGroup;
+                       children = (
+                               73688A50BFBEC237BDB578170F6D01BD /* Toast-Swift.modulemap */,
+                               0B7C01638A16AC2CAACF2E0DE5715CF6 /* Toast-Swift-dummy.m */,
+                               0FE73E6FA88BBBFD504597F6DEF9D439 /* Toast-Swift-Info.plist */,
+                               0826BDFE1E8E1C0687A2D174BAFF602D /* Toast-Swift-prefix.pch */,
+                               E94DBC148226C9EB4BCC59E7DAEA494C /* Toast-Swift-umbrella.h */,
+                               6086BEFBFC4D1AE4AF5CE7BEFDABAA3E /* Toast-Swift.debug.xcconfig */,
+                               6840514330F765752CC8D40C118CEE6F /* Toast-Swift.release.xcconfig */,
+                       );
+                       name = "Support Files";
+                       path = "../Target Support Files/Toast-Swift";
+                       sourceTree = "<group>";
+               };
+               E1E10AA5D08427E8712A4B54CB66A781 /* Support Files */ = {
+                       isa = PBXGroup;
+                       children = (
+                               BB754F457BB7840C8DBC212D34323562 /* IQKeyboardManagerSwift.modulemap */,
+                               7CFEA705805177F0CCF56EC740BF7E4A /* IQKeyboardManagerSwift-dummy.m */,
+                               61FE9DB302A64BA8455DA565CF4B2D91 /* IQKeyboardManagerSwift-Info.plist */,
+                               D2C828ED68C4AE08612F2A936AB1C7A5 /* IQKeyboardManagerSwift-prefix.pch */,
+                               4EAD94738C2E3C4F5AEC9FE74B30C432 /* IQKeyboardManagerSwift-umbrella.h */,
+                               F3E194AF34161D9686CE36DA4FA684C9 /* IQKeyboardManagerSwift.debug.xcconfig */,
+                               A262C6E67F33463A3EF63AB3B447CADE /* IQKeyboardManagerSwift.release.xcconfig */,
+                               78C8C7310BB85164BD37D9CB7A30EA4B /* ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist */,
+                       );
+                       name = "Support Files";
+                       path = "../Target Support Files/IQKeyboardManagerSwift";
+                       sourceTree = "<group>";
+               };
+               F9D206BABE81E6BF0B9B23880B238CC7 /* iOS */ = {
+                       isa = PBXGroup;
+                       children = (
+                               840FA0B75AF62912A30DDC66B647ED98 /* CoreGraphics.framework */,
+                               79CF7D56C5D50C18B2EA0ED106D998C7 /* Foundation.framework */,
+                               A42DBD2F42D55606EEBA514009498B87 /* QuartzCore.framework */,
+                               04D60AC13D33197690A05C641925DDDA /* UIKit.framework */,
+                       );
+                       name = iOS;
+                       sourceTree = "<group>";
+               };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+               77150D3DA409E22AAAE3AC967B0FDC17 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               3573FA382FBE08F99039CED491DB9FF0 /* IQKeyboardManagerSwift-umbrella.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               8CA2539520F8A8A920DEE31F9DDFDDA0 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               EF00BF7D0F543428543D51D872216944 /* Toast-Swift-umbrella.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               BD2B111EBF8A7845E42930BF05778C63 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               6D389E4D5F97798BE1AEEB8C317852D7 /* SnapKit-umbrella.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               E187D33FFA8E448B3704013232A13CB4 /* Headers */ = {
+                       isa = PBXHeadersBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               CA584DB99A79CD3CCCEC662499A86513 /* Pods-Example-umbrella.h in Headers */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+               0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 73F486888E331EC63883CBEEAA758D0B /* Build configuration list for PBXNativeTarget "Pods-Example" */;
+                       buildPhases = (
+                               E187D33FFA8E448B3704013232A13CB4 /* Headers */,
+                               4A4784C4AF92039A0B5FD00D2113B685 /* Sources */,
+                               16CA964EAF351C90B0830802689856B2 /* Frameworks */,
+                               4FC83224AA0AB6C1F05E517B7442AA20 /* Resources */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               77FFC8013B75E4C7B842FF23D01AC4FC /* PBXTargetDependency */,
+                               A227A11ED491036506CA95356FF2AD07 /* PBXTargetDependency */,
+                               1851A67A6BE5192F540EE808F0B955AC /* PBXTargetDependency */,
+                       );
+                       name = "Pods-Example";
+                       productName = Pods_Example;
+                       productReference = 1F667CC0E19EAF34E5A4119E2121F585 /* Pods-Example */;
+                       productType = "com.apple.product-type.framework";
+               };
+               19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 4C4F25F04C086237315FCAEF7661357E /* Build configuration list for PBXNativeTarget "SnapKit" */;
+                       buildPhases = (
+                               BD2B111EBF8A7845E42930BF05778C63 /* Headers */,
+                               B52EB97EAADC4B42F512DF593D183539 /* Sources */,
+                               6F796DCACF7FECDF5C5CEF6AFE7BC0FF /* Frameworks */,
+                               8AFC96B9D49AC279B3790C99847FF1B3 /* Resources */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               87B6A69F293EFE709271F01FEFF7CF85 /* PBXTargetDependency */,
+                       );
+                       name = SnapKit;
+                       productName = SnapKit;
+                       productReference = 979486118B3E90C08386079D57962701 /* SnapKit */;
+                       productType = "com.apple.product-type.framework";
+               };
+               8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = D6794C4142EFF039C29C80DFB69CD756 /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */;
+                       buildPhases = (
+                               880B05FBF63B895275C2A306C8D6B2F7 /* Sources */,
+                               F3AE2DCEEAB7ED4919849BFC7B87ED52 /* Frameworks */,
+                               4A67201DE9E860C0F71D3639FD377E55 /* 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 = 34709F7B15D710090F0631BFE07E8079 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift-IQKeyboardManagerSwift" */;
+                       buildPhases = (
+                               87F473436484D0B93352BB9CDCC86415 /* Sources */,
+                               27CD3877559C586C9BCFE5E060319ABA /* Frameworks */,
+                               3ABF68735DD22D4576EFC9543912A6CA /* Resources */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                       );
+                       name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
+                       productName = IQKeyboardManagerSwift;
+                       productReference = 8D8069D3964814114ACEC3084C010B59 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */;
+                       productType = "com.apple.product-type.bundle";
+               };
+               B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 397157E58CC1977C23EB745CC0C04035 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift" */;
+                       buildPhases = (
+                               77150D3DA409E22AAAE3AC967B0FDC17 /* Headers */,
+                               335F86AE3E21D4BDAD21A4F79F2DA8F9 /* Sources */,
+                               3130A51D7DFF19A4DA7649752464E8ED /* Frameworks */,
+                               4A72A323CCD420112722EDFB4439C184 /* Resources */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               A4C925584749CA52AEFABE3C7F64FC62 /* PBXTargetDependency */,
+                       );
+                       name = IQKeyboardManagerSwift;
+                       productName = IQKeyboardManagerSwift;
+                       productReference = A8E950A16D00F649C54FFB30F81D7842 /* IQKeyboardManagerSwift */;
+                       productType = "com.apple.product-type.framework";
+               };
+               B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 38CBDB2D970538387FA12353C1E9FF6D /* Build configuration list for PBXNativeTarget "Toast-Swift" */;
+                       buildPhases = (
+                               8CA2539520F8A8A920DEE31F9DDFDDA0 /* Headers */,
+                               B87B2676801F12A62F3C37B119796EFC /* Sources */,
+                               AB0F36187CBD4D114ED524B642EDB4FB /* Frameworks */,
+                               606DC2AC5D2015B9AB5B2D95CAED59EF /* Resources */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                       );
+                       name = "Toast-Swift";
+                       productName = Toast_Swift;
+                       productReference = D6043471C96F93DC41F7DD1E0D7D8B35 /* Toast-Swift */;
+                       productType = "com.apple.product-type.framework";
+               };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+               BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
+                       isa = PBXProject;
+                       attributes = {
+                               LastSwiftUpdateCheck = 1500;
+                               LastUpgradeCheck = 1500;
+                       };
+                       buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
+                       compatibilityVersion = "Xcode 14.0";
+                       developmentRegion = en;
+                       hasScannedForEncodings = 0;
+                       knownRegions = (
+                               Base,
+                               en,
+                       );
+                       mainGroup = CF1408CF629C7361332E53B88F7BD30C;
+                       productRefGroup = C22B7A191BB73E4EEE8C7FC95EF88CD9 /* Products */;
+                       projectDirPath = "";
+                       projectRoot = "";
+                       targets = (
+                               B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */,
+                               982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */,
+                               0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */,
+                               19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */,
+                               8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */,
+                               B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */,
+                       );
+               };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+               3ABF68735DD22D4576EFC9543912A6CA /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               293A604750AFF74421E35456DEF43215 /* PrivacyInfo.xcprivacy in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               4A67201DE9E860C0F71D3639FD377E55 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               5FFFE5E4F95E9A989F7AD2B9E4363DA5 /* PrivacyInfo.xcprivacy in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               4A72A323CCD420112722EDFB4439C184 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               4CDBAE55660ED186441E9E4EDE6B3D31 /* IQKeyboardManagerSwift-IQKeyboardManagerSwift in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               4FC83224AA0AB6C1F05E517B7442AA20 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               606DC2AC5D2015B9AB5B2D95CAED59EF /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               6CFB48595F4C5B157119CE09BEA2B7B3 /* PrivacyInfo.xcprivacy in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               8AFC96B9D49AC279B3790C99847FF1B3 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               D091D9EA20CEB92609BF1E622E8CA348 /* SnapKit-SnapKit_Privacy in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+               335F86AE3E21D4BDAD21A4F79F2DA8F9 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               B1BFC54288364884DDEAE75027BABE1A /* IQActiveConfiguration.swift in Sources */,
+                               8ED2E941DF0803C8AA331D0D8C722615 /* IQBarButtonItem.swift in Sources */,
+                               907FCA3049CAAF64B579D08D339D118D /* IQBarButtonItemConfiguration.swift in Sources */,
+                               FDEFBFB34E35A4BB332264E0CACCF5D8 /* IQInvocation.swift in Sources */,
+                               9A00A25ED34A7687C62B02EBB76C1248 /* IQKeyboardConfiguration.swift in Sources */,
+                               24C699F9653980B77F44634EF44641C1 /* IQKeyboardInfo.swift in Sources */,
+                               8FDA28363A5E49017498FD69AAA8F59F /* IQKeyboardListener.swift in Sources */,
+                               F9DE1A3C506E506F4DA4B7714359E8D1 /* IQKeyboardManager.swift in Sources */,
+                               674C6B2E317E657D8EAD3CC73F608540 /* IQKeyboardManager+Debug.swift in Sources */,
+                               D3D1F63C30E95311B687FA924B872C15 /* IQKeyboardManager+Deprecated.swift in Sources */,
+                               08822D4E49DB8618D27BAEDED7911733 /* IQKeyboardManager+Internal.swift in Sources */,
+                               EBB5F245DBEEB13D48F09E0DD75A6C95 /* IQKeyboardManager+Position.swift in Sources */,
+                               D88C2EA8ACCC0DE031D9E7A768062E2C /* IQKeyboardManager+Toolbar.swift in Sources */,
+                               9F78D56352F7D932DCEBE416C668C7BA /* IQKeyboardManager+ToolbarActions.swift in Sources */,
+                               4017CF2B3EE45E7E579E68E6FCFBF732 /* IQKeyboardManager+UIKeyboardNotification.swift in Sources */,
+                               82950EE4BDD57F74749742A3E1566073 /* IQKeyboardManager+UITextFieldViewNotification.swift in Sources */,
+                               597994C3AE8908B1E462BC03AC8C23FB /* IQKeyboardManagerCompatible.swift in Sources */,
+                               AE7D065E1D48171258FD8F07F7CD592C /* IQKeyboardManagerConstants.swift in Sources */,
+                               733CF7F19636AFF4A97708DFDE0AE53C /* IQKeyboardManagerSwift-dummy.m in Sources */,
+                               42B931814C7B25871333D5DA9A0E2A41 /* IQKeyboardReturnKeyHandler.swift in Sources */,
+                               154362EFC8EC0F61F54E24B09266DEB1 /* IQKeyboardReturnKeyHandler+TextFieldDelegate.swift in Sources */,
+                               1C3881B0113D3219398154E16AA4413C /* IQKeyboardReturnKeyHandler+TextViewDelegate.swift in Sources */,
+                               54BAE903D82C39392943869866252D93 /* IQNSArray+Sort.swift in Sources */,
+                               5F0469C5B154DC20B844EA2A9B7F8D42 /* IQPlaceholderable.swift in Sources */,
+                               14063E1AF70EDDC9F33C8E08DCA0BEF3 /* IQPreviousNextView.swift in Sources */,
+                               DE3B5070A41194C21898D92DBFFCBE4C /* IQRootControllerConfiguration.swift in Sources */,
+                               F681FB74C756E0AAFFDC0D414EBD8FA0 /* IQScrollViewConfiguration.swift in Sources */,
+                               0615219BFD2EBBE27FF41C2C8816791E /* IQTextFieldViewInfo.swift in Sources */,
+                               5F62DAE67CF97B7C42471EA91B79AA9A /* IQTextFieldViewInfoModel.swift in Sources */,
+                               0A4DB572ACD97EC492C4E93A0FFB2E47 /* IQTextFieldViewListener.swift in Sources */,
+                               38CBE3196BDD577B5E72BC65508A77F8 /* IQTextView.swift in Sources */,
+                               B9CF878085ABA2991A9C6F12F9B9DAB3 /* IQTitleBarButtonItem.swift in Sources */,
+                               701904768C60A3F9060518DD58EC2882 /* IQToolbar.swift in Sources */,
+                               E8770A941545BB190D76BF7E5262797D /* IQToolbarConfiguration.swift in Sources */,
+                               34BDB069A96125DAF2FEF6FF93A3F6AF /* IQToolbarPlaceholderConfiguration.swift in Sources */,
+                               3452528F3B9B79AD67D45FEA174F71E4 /* IQUICollectionView+Additions.swift in Sources */,
+                               94F893223EB4C1C0F829C17900114AFA /* IQUIScrollView+Additions.swift in Sources */,
+                               A5E69CC013C4311C8AF52C7F7AB095C9 /* IQUITableView+Additions.swift in Sources */,
+                               8086BD2DB5F1A0CC88E4F3386570A21C /* IQUITextFieldView+Additions.swift in Sources */,
+                               103FE4EEFF1BE8BAD0FA047987AFED74 /* IQUIView+Hierarchy.swift in Sources */,
+                               D8322CBE73400EE4382D1A042D2D53D3 /* IQUIView+IQKeyboardToolbar.swift in Sources */,
+                               08C234F2981017EEF271582022F339F3 /* IQUIView+IQKeyboardToolbarDeprecated.swift in Sources */,
+                               CC96488C33BFB3BCEE4A665A438CAC36 /* IQUIViewController+Additions.swift in Sources */,
+                               E483FA24409A56AAEDF8A1DEC5F55F16 /* UIImage+NextPrevious.swift in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               4A4784C4AF92039A0B5FD00D2113B685 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               D5D5048DF0CA2052E944255D33433F17 /* Pods-Example-dummy.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               87F473436484D0B93352BB9CDCC86415 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               880B05FBF63B895275C2A306C8D6B2F7 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               B52EB97EAADC4B42F512DF593D183539 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               B133BB9C9B03481C7F1D221F35A617F2 /* Constraint.swift in Sources */,
+                               9779D52AD8CDA703D6EEE1C6D38E019F /* ConstraintAttributes.swift in Sources */,
+                               E94B31DCAF75D93405D3BAE188604EB2 /* ConstraintConfig.swift in Sources */,
+                               B3F75D115D5150C258F5E68404751010 /* ConstraintConstantTarget.swift in Sources */,
+                               A051999781E1280746F7743BDEEA6C49 /* ConstraintDescription.swift in Sources */,
+                               BE355F69F84788D334FDAC7D1CD9B8C4 /* ConstraintDirectionalInsets.swift in Sources */,
+                               B4F9C9EC1B3F1689AE56BB719AE5439C /* ConstraintDirectionalInsetTarget.swift in Sources */,
+                               F366D04DEA0EBBCA9CA4F1F4E29695E8 /* ConstraintDSL.swift in Sources */,
+                               A0371DF7D93D9B86BD50474D4B9294FD /* ConstraintInsets.swift in Sources */,
+                               7052944C657F270E47777446D0E10E1C /* ConstraintInsetTarget.swift in Sources */,
+                               906EF891E58A035281766993F82373E3 /* ConstraintItem.swift in Sources */,
+                               0A5C290276F7453D9471E25BEA655842 /* ConstraintLayoutGuide.swift in Sources */,
+                               938CFF5F6DE6E7E8CE94373E51F3E07A /* ConstraintLayoutGuide+Extensions.swift in Sources */,
+                               0DA9A9D2F8960818017E26DA480FA143 /* ConstraintLayoutGuideDSL.swift in Sources */,
+                               13CC0CFB1C56F23BBC872801F983C1A3 /* ConstraintLayoutSupport.swift in Sources */,
+                               D92AEF78B87F929D88D5C876ABBAD79A /* ConstraintLayoutSupportDSL.swift in Sources */,
+                               8640829049AE9907FE93825E5510C33D /* ConstraintMaker.swift in Sources */,
+                               0AD7A0DA8FF5880E3D8599062129AB12 /* ConstraintMakerEditable.swift in Sources */,
+                               6431218578A566C5EBF5FD166F164059 /* ConstraintMakerExtendable.swift in Sources */,
+                               BF567AEFDD52DC43AC75122734D571E2 /* ConstraintMakerFinalizable.swift in Sources */,
+                               87996D11DC92EE19EAF9305DAEA4ACF2 /* ConstraintMakerPrioritizable.swift in Sources */,
+                               950B809760A8CE4375DCE1016FB9859F /* ConstraintMakerRelatable.swift in Sources */,
+                               15F68E09ADCDB843B938C490059485BD /* ConstraintMakerRelatable+Extensions.swift in Sources */,
+                               50E4E24710A4C5A77BE6594A10DFE773 /* ConstraintMultiplierTarget.swift in Sources */,
+                               56CD198002D3D45274F6719725B983CF /* ConstraintOffsetTarget.swift in Sources */,
+                               EFC90283F9AB43BB6FF377812BD3673F /* ConstraintPriority.swift in Sources */,
+                               77D782DE125D322922466676E2FFA289 /* ConstraintPriorityTarget.swift in Sources */,
+                               FFD7E1B8FA0F3960BE24DA2D20647332 /* ConstraintRelatableTarget.swift in Sources */,
+                               F94703ED86C58DDBE5A2503D148CD040 /* ConstraintRelation.swift in Sources */,
+                               8868BA37E3CE7C58D26123806D543F3F /* ConstraintView.swift in Sources */,
+                               C04DBE6AE13FC5CFD01D363A351EF76A /* ConstraintView+Extensions.swift in Sources */,
+                               0D665B6767B345D8C70D7E029A2A48D8 /* ConstraintViewDSL.swift in Sources */,
+                               1E7E37C51375285EA22294CD2ADB3159 /* Debugging.swift in Sources */,
+                               6E2884B29CD49EE91C48C725105F295A /* LayoutConstraint.swift in Sources */,
+                               A35877DE0C3D6B4CF2A10E666EF5F490 /* LayoutConstraintItem.swift in Sources */,
+                               3DAFEDCDC5094007E329D71FE84FF704 /* SnapKit-dummy.m in Sources */,
+                               73F8AC99A58E5837924C056E89543B97 /* Typealiases.swift in Sources */,
+                               891D1BF14C8881C74262EE9DBE5D67A9 /* UILayoutSupport+Extensions.swift in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+               B87B2676801F12A62F3C37B119796EFC /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               845C3A99ECD0DC86BB538557FBE915A3 /* Toast.swift in Sources */,
+                               A23549F7CB0209D3AF14DF5CC302E9B7 /* Toast-Swift-dummy.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+               1851A67A6BE5192F540EE808F0B955AC /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       name = "Toast-Swift";
+                       target = B990BD87169C76A3ED3FE8A9258D91A3 /* Toast-Swift */;
+                       targetProxy = 29C3C4F752562CF20DAEFA2CF76A52DC /* PBXContainerItemProxy */;
+               };
+               77FFC8013B75E4C7B842FF23D01AC4FC /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       name = IQKeyboardManagerSwift;
+                       target = B490E7485944099E16C9CBD79119D1D4 /* IQKeyboardManagerSwift */;
+                       targetProxy = 17B1D7D731CE352C4A42C90FB88EDF3E /* PBXContainerItemProxy */;
+               };
+               87B6A69F293EFE709271F01FEFF7CF85 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       name = "SnapKit-SnapKit_Privacy";
+                       target = 8A8DB685241263AFDF5E6B20FE67B93A /* SnapKit-SnapKit_Privacy */;
+                       targetProxy = 417EECB4ED728C03E51E6C52D83B2612 /* PBXContainerItemProxy */;
+               };
+               A227A11ED491036506CA95356FF2AD07 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       name = SnapKit;
+                       target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */;
+                       targetProxy = 78F142C3B4B12378D3E4AE6AE32AE59E /* PBXContainerItemProxy */;
+               };
+               A4C925584749CA52AEFABE3C7F64FC62 /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       name = "IQKeyboardManagerSwift-IQKeyboardManagerSwift";
+                       target = 982A68D37F5DCBC1FC1FDC0BB2F0EB8E /* IQKeyboardManagerSwift-IQKeyboardManagerSwift */;
+                       targetProxy = 9D981AF9E00C2ADC17482C92A02195B1 /* PBXContainerItemProxy */;
+               };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+               133F504A150FD76FDCA6D3F3E0839CFA /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = 243410B9535472556EA4BB6DBC133A0D /* 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";
+                               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;
+               };
+               2148B94556F3196EADD860D49171067B /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = 6086BEFBFC4D1AE4AF5CE7BEFDABAA3E /* 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";
+                               GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch";
+                               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_VERSION = 5.0;
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                               VERSIONING_SYSTEM = "apple-generic";
+                               VERSION_INFO_PREFIX = "";
+                       };
+                       name = Debug;
+               };
+               3A62CABE285E0512240BC2AAE19721B9 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = AEAE0095B094524A23C29A6F7F27E667 /* 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;
+               };
+               3EAC414A99D32A43940D6C74459C7687 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = B45138496B85A072654D1D0F8EBBEDE5 /* 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";
+                               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;
+               };
+               523CFF66B25A5101DC3521326C2BBD07 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = F3E194AF34161D9686CE36DA4FA684C9 /* 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;
+               };
+               5871F3F8AC0BB50833FD53CC80F9A033 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = A262C6E67F33463A3EF63AB3B447CADE /* 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;
+               };
+               68E80B7A647679C4F3205BAA7705A4CB /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = CF0BCC29761DC7E3F13B5D4721C5AE10 /* 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;
+               };
+               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;
+               };
+               984240AE6A3D535525200348828211E3 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = CF0BCC29761DC7E3F13B5D4721C5AE10 /* 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";
+                               GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch";
+                               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_VERSION = 5.0;
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                               VALIDATE_PRODUCT = YES;
+                               VERSIONING_SYSTEM = "apple-generic";
+                               VERSION_INFO_PREFIX = "";
+                       };
+                       name = Release;
+               };
+               9C0B415A54C1C30F674208B8ADAB6C17 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = AEAE0095B094524A23C29A6F7F27E667 /* 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";
+                               GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch";
+                               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_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;
+               };
+               A3FD62B6C4F1D46EEB0443A88C89D147 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = 6840514330F765752CC8D40C118CEE6F /* 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";
+                               GCC_PREFIX_HEADER = "Target Support Files/Toast-Swift/Toast-Swift-prefix.pch";
+                               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_VERSION = 5.0;
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                               VALIDATE_PRODUCT = YES;
+                               VERSIONING_SYSTEM = "apple-generic";
+                               VERSION_INFO_PREFIX = "";
+                       };
+                       name = Release;
+               };
+               B3CF11682A60F02B60820C17EE93D35E /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = F3E194AF34161D9686CE36DA4FA684C9 /* 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";
+                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch";
+                               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_VERSION = 5.9;
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                               VERSIONING_SYSTEM = "apple-generic";
+                               VERSION_INFO_PREFIX = "";
+                       };
+                       name = Debug;
+               };
+               C15C4E31ADF19556825A2743AEF62A77 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       baseConfigurationReference = A262C6E67F33463A3EF63AB3B447CADE /* 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";
+                               GCC_PREFIX_HEADER = "Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch";
+                               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_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 */
+               34709F7B15D710090F0631BFE07E8079 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift-IQKeyboardManagerSwift" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               523CFF66B25A5101DC3521326C2BBD07 /* Debug */,
+                               5871F3F8AC0BB50833FD53CC80F9A033 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               38CBDB2D970538387FA12353C1E9FF6D /* Build configuration list for PBXNativeTarget "Toast-Swift" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               2148B94556F3196EADD860D49171067B /* Debug */,
+                               A3FD62B6C4F1D46EEB0443A88C89D147 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               397157E58CC1977C23EB745CC0C04035 /* Build configuration list for PBXNativeTarget "IQKeyboardManagerSwift" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               B3CF11682A60F02B60820C17EE93D35E /* Debug */,
+                               C15C4E31ADF19556825A2743AEF62A77 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               8DE5143C03248BB6CD542DE3963D6F3A /* Debug */,
+                               9E406C6AAF85E580207CD97B0044DEAB /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               4C4F25F04C086237315FCAEF7661357E /* Build configuration list for PBXNativeTarget "SnapKit" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               9C0B415A54C1C30F674208B8ADAB6C17 /* Debug */,
+                               984240AE6A3D535525200348828211E3 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               73F486888E331EC63883CBEEAA758D0B /* Build configuration list for PBXNativeTarget "Pods-Example" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               3EAC414A99D32A43940D6C74459C7687 /* Debug */,
+                               133F504A150FD76FDCA6D3F3E0839CFA /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               D6794C4142EFF039C29C80DFB69CD756 /* Build configuration list for PBXNativeTarget "SnapKit-SnapKit_Privacy" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               3A62CABE285E0512240BC2AAE19721B9 /* Debug */,
+                               68E80B7A647679C4F3205BAA7705A4CB /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+/* End XCConfigurationList section */
+       };
+       rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
+}
diff --git a/MixSdk/Pods/SnapKit/LICENSE b/MixSdk/Pods/SnapKit/LICENSE
new file mode 100644 (file)
index 0000000..a18ccfb
--- /dev/null
@@ -0,0 +1,19 @@
+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/MixSdk/Pods/SnapKit/README.md b/MixSdk/Pods/SnapKit/README.md
new file mode 100644 (file)
index 0000000..e1be307
--- /dev/null
@@ -0,0 +1,155 @@
+<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/MixSdk/Pods/SnapKit/Sources/Constraint.swift b/MixSdk/Pods/SnapKit/Sources/Constraint.swift
new file mode 100644 (file)
index 0000000..b890152
--- /dev/null
@@ -0,0 +1,341 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintAttributes.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintAttributes.swift
new file mode 100644 (file)
index 0000000..c1a79c2
--- /dev/null
@@ -0,0 +1,203 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintConfig.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintConfig.swift
new file mode 100644 (file)
index 0000000..9bd0f23
--- /dev/null
@@ -0,0 +1,37 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintConstantTarget.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintConstantTarget.swift
new file mode 100644 (file)
index 0000000..e16f503
--- /dev/null
@@ -0,0 +1,213 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintDSL.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintDSL.swift
new file mode 100644 (file)
index 0000000..5683b7f
--- /dev/null
@@ -0,0 +1,209 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintDescription.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintDescription.swift
new file mode 100644 (file)
index 0000000..b9d476c
--- /dev/null
@@ -0,0 +1,69 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsetTarget.swift
new file mode 100644 (file)
index 0000000..4c3c418
--- /dev/null
@@ -0,0 +1,49 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintDirectionalInsets.swift
new file mode 100644 (file)
index 0000000..056b5c8
--- /dev/null
@@ -0,0 +1,34 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintInsetTarget.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintInsetTarget.swift
new file mode 100644 (file)
index 0000000..43c0220
--- /dev/null
@@ -0,0 +1,72 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintInsets.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintInsets.swift
new file mode 100644 (file)
index 0000000..64d781d
--- /dev/null
@@ -0,0 +1,35 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintItem.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintItem.swift
new file mode 100644 (file)
index 0000000..2f92221
--- /dev/null
@@ -0,0 +1,61 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide+Extensions.swift
new file mode 100644 (file)
index 0000000..e9fd9b3
--- /dev/null
@@ -0,0 +1,36 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutGuide.swift
new file mode 100644 (file)
index 0000000..fd89556
--- /dev/null
@@ -0,0 +1,37 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutGuideDSL.swift
new file mode 100644 (file)
index 0000000..7e78261
--- /dev/null
@@ -0,0 +1,66 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutSupport.swift
new file mode 100644 (file)
index 0000000..085f5cd
--- /dev/null
@@ -0,0 +1,36 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintLayoutSupportDSL.swift
new file mode 100644 (file)
index 0000000..71e1158
--- /dev/null
@@ -0,0 +1,56 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintMaker.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintMaker.swift
new file mode 100644 (file)
index 0000000..7c352f6
--- /dev/null
@@ -0,0 +1,224 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintMakerEditable.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintMakerEditable.swift
new file mode 100644 (file)
index 0000000..0e08e38
--- /dev/null
@@ -0,0 +1,64 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintMakerExtendable.swift
new file mode 100644 (file)
index 0000000..b30688e
--- /dev/null
@@ -0,0 +1,195 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintMakerFinalizable.swift
new file mode 100644 (file)
index 0000000..8342476
--- /dev/null
@@ -0,0 +1,49 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintMakerPrioritizable.swift
new file mode 100644 (file)
index 0000000..05451e6
--- /dev/null
@@ -0,0 +1,70 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable+Extensions.swift
new file mode 100644 (file)
index 0000000..bfde272
--- /dev/null
@@ -0,0 +1,57 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintMakerRelatable.swift
new file mode 100644 (file)
index 0000000..0a3d5ee
--- /dev/null
@@ -0,0 +1,115 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintMultiplierTarget.swift
new file mode 100644 (file)
index 0000000..ac537ba
--- /dev/null
@@ -0,0 +1,75 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintOffsetTarget.swift
new file mode 100644 (file)
index 0000000..6ec1107
--- /dev/null
@@ -0,0 +1,69 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintPriority.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintPriority.swift
new file mode 100644 (file)
index 0000000..bf90693
--- /dev/null
@@ -0,0 +1,77 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintPriorityTarget.swift
new file mode 100644 (file)
index 0000000..1aa701e
--- /dev/null
@@ -0,0 +1,85 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintRelatableTarget.swift
new file mode 100644 (file)
index 0000000..df04464
--- /dev/null
@@ -0,0 +1,72 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintRelation.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintRelation.swift
new file mode 100644 (file)
index 0000000..643d499
--- /dev/null
@@ -0,0 +1,48 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintView+Extensions.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintView+Extensions.swift
new file mode 100644 (file)
index 0000000..1225c04
--- /dev/null
@@ -0,0 +1,152 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintView.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintView.swift
new file mode 100644 (file)
index 0000000..1203300
--- /dev/null
@@ -0,0 +1,35 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/ConstraintViewDSL.swift b/MixSdk/Pods/SnapKit/Sources/ConstraintViewDSL.swift
new file mode 100644 (file)
index 0000000..8567e54
--- /dev/null
@@ -0,0 +1,101 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/Debugging.swift b/MixSdk/Pods/SnapKit/Sources/Debugging.swift
new file mode 100644 (file)
index 0000000..f4120b2
--- /dev/null
@@ -0,0 +1,169 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/LayoutConstraint.swift b/MixSdk/Pods/SnapKit/Sources/LayoutConstraint.swift
new file mode 100644 (file)
index 0000000..607616d
--- /dev/null
@@ -0,0 +1,61 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/LayoutConstraintItem.swift b/MixSdk/Pods/SnapKit/Sources/LayoutConstraintItem.swift
new file mode 100644 (file)
index 0000000..4f41b5d
--- /dev/null
@@ -0,0 +1,93 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy b/MixSdk/Pods/SnapKit/Sources/PrivacyInfo.xcprivacy
new file mode 100644 (file)
index 0000000..e540750
--- /dev/null
@@ -0,0 +1,14 @@
+<?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/MixSdk/Pods/SnapKit/Sources/Typealiases.swift b/MixSdk/Pods/SnapKit/Sources/Typealiases.swift
new file mode 100644 (file)
index 0000000..c0e6982
--- /dev/null
@@ -0,0 +1,42 @@
+//
+//  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/MixSdk/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift b/MixSdk/Pods/SnapKit/Sources/UILayoutSupport+Extensions.swift
new file mode 100644 (file)
index 0000000..801cc3c
--- /dev/null
@@ -0,0 +1,36 @@
+//
+//  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/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist b/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-Info.plist
new file mode 100644 (file)
index 0000000..ca4cfe5
--- /dev/null
@@ -0,0 +1,26 @@
+<?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>7.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/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-dummy.m b/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-dummy.m
new file mode 100644 (file)
index 0000000..7937f27
--- /dev/null
@@ -0,0 +1,5 @@
+#import <Foundation/Foundation.h>
+@interface PodsDummy_IQKeyboardManagerSwift : NSObject
+@end
+@implementation PodsDummy_IQKeyboardManagerSwift
+@end
diff --git a/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch b/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-prefix.pch
new file mode 100644 (file)
index 0000000..beb2a24
--- /dev/null
@@ -0,0 +1,12 @@
+#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/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-umbrella.h b/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift-umbrella.h
new file mode 100644 (file)
index 0000000..e95b398
--- /dev/null
@@ -0,0 +1,16 @@
+#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/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.debug.xcconfig b/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.debug.xcconfig
new file mode 100644 (file)
index 0000000..1472651
--- /dev/null
@@ -0,0 +1,15 @@
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift
+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" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -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/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap b/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.modulemap
new file mode 100644 (file)
index 0000000..6d9b343
--- /dev/null
@@ -0,0 +1,6 @@
+framework module IQKeyboardManagerSwift {
+  umbrella header "IQKeyboardManagerSwift-umbrella.h"
+
+  export *
+  module * { export * }
+}
diff --git a/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.release.xcconfig b/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/IQKeyboardManagerSwift.release.xcconfig
new file mode 100644 (file)
index 0000000..1472651
--- /dev/null
@@ -0,0 +1,15 @@
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift
+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" -framework "CoreGraphics" -framework "Foundation" -framework "QuartzCore" -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/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist b/MixSdk/Pods/Target Support Files/IQKeyboardManagerSwift/ResourceBundle-IQKeyboardManagerSwift-IQKeyboardManagerSwift-Info.plist
new file mode 100644 (file)
index 0000000..0b7b1c5
--- /dev/null
@@ -0,0 +1,24 @@
+<?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>7.0.1</string>
+  <key>CFBundleSignature</key>
+  <string>????</string>
+  <key>CFBundleVersion</key>
+  <string>1</string>
+  <key>NSPrincipalClass</key>
+  <string></string>
+</dict>
+</plist>
diff --git a/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-Info.plist b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-Info.plist
new file mode 100644 (file)
index 0000000..19cf209
--- /dev/null
@@ -0,0 +1,26 @@
+<?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/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown
new file mode 100644 (file)
index 0000000..8efceba
--- /dev/null
@@ -0,0 +1,75 @@
+# Acknowledgements
+This application makes use of the following third party libraries:
+
+## 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.
+
+
+## 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/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist
new file mode 100644 (file)
index 0000000..0aeb8a1
--- /dev/null
@@ -0,0 +1,119 @@
+<?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>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>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/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m
new file mode 100644 (file)
index 0000000..6ee3f90
--- /dev/null
@@ -0,0 +1,5 @@
+#import <Foundation/Foundation.h>
+@interface PodsDummy_Pods_Example : NSObject
+@end
+@implementation PodsDummy_Pods_Example
+@end
diff --git a/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-input-files.xcfilelist b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-input-files.xcfilelist
new file mode 100644 (file)
index 0000000..b6eb86e
--- /dev/null
@@ -0,0 +1,4 @@
+${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
+${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework
+${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
+${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework
\ No newline at end of file
diff --git a/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-output-files.xcfilelist b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Debug-output-files.xcfilelist
new file mode 100644 (file)
index 0000000..806d76f
--- /dev/null
@@ -0,0 +1,3 @@
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManagerSwift.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/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-input-files.xcfilelist b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-input-files.xcfilelist
new file mode 100644 (file)
index 0000000..b6eb86e
--- /dev/null
@@ -0,0 +1,4 @@
+${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
+${BUILT_PRODUCTS_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework
+${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
+${BUILT_PRODUCTS_DIR}/Toast-Swift/Toast_Swift.framework
\ No newline at end of file
diff --git a/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-output-files.xcfilelist b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks-Release-output-files.xcfilelist
new file mode 100644 (file)
index 0000000..806d76f
--- /dev/null
@@ -0,0 +1,3 @@
+${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManagerSwift.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/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh
new file mode 100755 (executable)
index 0000000..792c8bf
--- /dev/null
@@ -0,0 +1,190 @@
+#!/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}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.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}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.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/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example-umbrella.h
new file mode 100644 (file)
index 0000000..ecf498e
--- /dev/null
@@ -0,0 +1,16 @@
+#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/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig
new file mode 100644 (file)
index 0000000..c0dbc05
--- /dev/null
@@ -0,0 +1,15 @@
+ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.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"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManagerSwift" -framework "QuartzCore" -framework "SnapKit" -framework "Toast_Swift" -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_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/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example.modulemap
new file mode 100644 (file)
index 0000000..4b5189f
--- /dev/null
@@ -0,0 +1,6 @@
+framework module Pods_Example {
+  umbrella header "Pods-Example-umbrella.h"
+
+  export *
+  module * { export * }
+}
diff --git a/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig b/MixSdk/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig
new file mode 100644 (file)
index 0000000..c0dbc05
--- /dev/null
@@ -0,0 +1,15 @@
+ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
+CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
+FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Toast-Swift"
+GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
+HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManagerSwift/IQKeyboardManagerSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.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"swiftCoreGraphics" -framework "CoreGraphics" -framework "Foundation" -framework "IQKeyboardManagerSwift" -framework "QuartzCore" -framework "SnapKit" -framework "Toast_Swift" -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_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/MixSdk/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist b/MixSdk/Pods/Target Support Files/SnapKit/ResourceBundle-SnapKit_Privacy-SnapKit-Info.plist
new file mode 100644 (file)
index 0000000..d6be571
--- /dev/null
@@ -0,0 +1,24 @@
+<?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/MixSdk/Pods/Target Support Files/SnapKit/SnapKit-Info.plist b/MixSdk/Pods/Target Support Files/SnapKit/SnapKit-Info.plist
new file mode 100644 (file)
index 0000000..af3ef2c
--- /dev/null
@@ -0,0 +1,26 @@
+<?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/MixSdk/Pods/Target Support Files/SnapKit/SnapKit-dummy.m b/MixSdk/Pods/Target Support Files/SnapKit/SnapKit-dummy.m
new file mode 100644 (file)
index 0000000..b44e8e5
--- /dev/null
@@ -0,0 +1,5 @@
+#import <Foundation/Foundation.h>
+@interface PodsDummy_SnapKit : NSObject
+@end
+@implementation PodsDummy_SnapKit
+@end
diff --git a/MixSdk/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch b/MixSdk/Pods/Target Support Files/SnapKit/SnapKit-prefix.pch
new file mode 100644 (file)
index 0000000..beb2a24
--- /dev/null
@@ -0,0 +1,12 @@
+#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/MixSdk/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h b/MixSdk/Pods/Target Support Files/SnapKit/SnapKit-umbrella.h
new file mode 100644 (file)
index 0000000..1b1be64
--- /dev/null
@@ -0,0 +1,16 @@
+#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/MixSdk/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig b/MixSdk/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig
new file mode 100644 (file)
index 0000000..3e6e223
--- /dev/null
@@ -0,0 +1,15 @@
+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/MixSdk/Pods/Target Support Files/SnapKit/SnapKit.modulemap b/MixSdk/Pods/Target Support Files/SnapKit/SnapKit.modulemap
new file mode 100644 (file)
index 0000000..4b3e47b
--- /dev/null
@@ -0,0 +1,6 @@
+framework module SnapKit {
+  umbrella header "SnapKit-umbrella.h"
+
+  export *
+  module * { export * }
+}
diff --git a/MixSdk/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig b/MixSdk/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig
new file mode 100644 (file)
index 0000000..3e6e223
--- /dev/null
@@ -0,0 +1,15 @@
+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/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist b/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-Info.plist
new file mode 100644 (file)
index 0000000..c8e5a5e
--- /dev/null
@@ -0,0 +1,26 @@
+<?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.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/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m b/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-dummy.m
new file mode 100644 (file)
index 0000000..2962aa4
--- /dev/null
@@ -0,0 +1,5 @@
+#import <Foundation/Foundation.h>
+@interface PodsDummy_Toast_Swift : NSObject
+@end
+@implementation PodsDummy_Toast_Swift
+@end
diff --git a/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch b/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-prefix.pch
new file mode 100644 (file)
index 0000000..beb2a24
--- /dev/null
@@ -0,0 +1,12 @@
+#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/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h b/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift-umbrella.h
new file mode 100644 (file)
index 0000000..8abdfa0
--- /dev/null
@@ -0,0 +1,16 @@
+#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/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig b/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.debug.xcconfig
new file mode 100644 (file)
index 0000000..8c4b186
--- /dev/null
@@ -0,0 +1,15 @@
+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/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap b/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.modulemap
new file mode 100644 (file)
index 0000000..af3db9f
--- /dev/null
@@ -0,0 +1,6 @@
+framework module Toast_Swift {
+  umbrella header "Toast-Swift-umbrella.h"
+
+  export *
+  module * { export * }
+}
diff --git a/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig b/MixSdk/Pods/Target Support Files/Toast-Swift/Toast-Swift.release.xcconfig
new file mode 100644 (file)
index 0000000..8c4b186
--- /dev/null
@@ -0,0 +1,15 @@
+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/MixSdk/Pods/Toast-Swift/LICENSE b/MixSdk/Pods/Toast-Swift/LICENSE
new file mode 100644 (file)
index 0000000..6b3b982
--- /dev/null
@@ -0,0 +1,20 @@
+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/MixSdk/Pods/Toast-Swift/README.md b/MixSdk/Pods/Toast-Swift/README.md
new file mode 100644 (file)
index 0000000..e7ae831
--- /dev/null
@@ -0,0 +1,143 @@
+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/MixSdk/Pods/Toast-Swift/Toast/Resources/PrivacyInfo.xcprivacy b/MixSdk/Pods/Toast-Swift/Toast/Resources/PrivacyInfo.xcprivacy
new file mode 100644 (file)
index 0000000..3421b16
--- /dev/null
@@ -0,0 +1,14 @@
+<?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/MixSdk/Pods/Toast-Swift/Toast/Toast.swift b/MixSdk/Pods/Toast-Swift/Toast/Toast.swift
new file mode 100644 (file)
index 0000000..5b4dd05
--- /dev/null
@@ -0,0 +1,797 @@
+//
+//  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/MixSdk/podfile b/MixSdk/podfile
new file mode 100644 (file)
index 0000000..6cd91a1
--- /dev/null
@@ -0,0 +1,13 @@
+# source 'https://kkgithub.com/CocoaPods/Specs.git'
+source "https://gitee.com/mirrors/CocoaPods-Specs.git"
+platform :ios, '13.0'
+use_frameworks!
+
+
+workspace 'MixSdk'
+project 'Example/Example.xcodeproj'
+target 'Example' do
+    pod 'SnapKit', '~> 5.7.0'
+    pod 'Toast-Swift'
+    pod 'IQKeyboardManagerSwift'
+end
diff --git a/document/MixSdk.doccarchive/css/chunk-c0335d80.10a2f091.css b/document/MixSdk.doccarchive/css/chunk-c0335d80.10a2f091.css
new file mode 100644 (file)
index 0000000..86451fd
--- /dev/null
@@ -0,0 +1,9 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */[data-v-20945666] .code-listing{background:var(--background,var(--color-code-background));color:var(--text,var(--color-code-plain));border-color:var(--colors-grid,var(--color-grid));border-width:var(--code-border-width,1px);border-style:var(--code-border-style,solid)}[data-v-20945666] .code-listing pre{padding:var(--code-block-style-elements-padding)}[data-v-20945666] .code-listing pre>code{font-size:.88235rem;line-height:1.66667;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}[data-v-20945666] *+.code-listing,[data-v-20945666] *+.endpoint-example,[data-v-20945666] *+.inline-image-container,[data-v-20945666] *+aside,[data-v-20945666] *+figure,[data-v-20945666] .code-listing+*,[data-v-20945666] .endpoint-example+*,[data-v-20945666] .inline-image-container+*,[data-v-20945666] aside+*,[data-v-20945666] figure+*{margin-top:var(--spacing-stacked-margin-xlarge)}[data-v-20945666] *+dl,[data-v-20945666] dl+*{margin-top:var(--spacing-stacked-margin-large)}[data-v-20945666] img{display:block;margin:auto;max-width:100%}[data-v-20945666] ol,[data-v-20945666] ol li:not(:first-child),[data-v-20945666] ul,[data-v-20945666] ul li:not(:first-child){margin-top:var(--spacing-stacked-margin-large)}@media only screen and (max-width:735px){[data-v-20945666] ol,[data-v-20945666] ul{margin-left:1.25rem}}[data-v-20945666] dt:not(:first-child){margin-top:var(--spacing-stacked-margin-large)}[data-v-20945666] dd{margin-left:2em}.badge[data-v-8d6893ae]{--badge-color:var(--color-badge-default);--badge-dark-color:var(--color-badge-dark-default);font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:inline-block;padding:2px 10px;white-space:nowrap;background:none;border-radius:var(--badge-border-radius,calc(var(--border-radius, 4px) - 1px));border-style:var(--badge-border-style,solid);border-width:var(--badge-border-width,1px);margin-left:10px;color:var(--badge-color)}.theme-dark .badge[data-v-8d6893ae]{--badge-color:var(--badge-dark-color)}.badge-deprecated[data-v-8d6893ae]{--badge-color:var(--color-badge-deprecated);--badge-dark-color:var(--color-badge-dark-deprecated)}.badge-beta[data-v-8d6893ae]{--badge-color:var(--color-badge-beta);--badge-dark-color:var(--color-badge-dark-beta)}.topic-icon-wrapper[data-v-03cf3183]{display:flex;align-items:center;justify-content:center;height:1.47059rem;flex:0 0 1.294rem;width:1.294rem;margin-right:1rem}.topic-icon[data-v-03cf3183]{height:.88235rem;transform:scale(1);-webkit-transform:scale(1);overflow:visible}.topic-icon[data-v-03cf3183] img{margin:0;display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.topic-icon.curly-brackets-icon[data-v-03cf3183]{height:1rem}.token-method[data-v-3fd63d6c]{font-weight:700}.token-keyword[data-v-3fd63d6c]{color:var(--syntax-keyword,var(--color-syntax-keywords))}.token-number[data-v-3fd63d6c]{color:var(--syntax-number,var(--color-syntax-numbers))}.token-string[data-v-3fd63d6c]{color:var(--syntax-string,var(--color-syntax-strings))}.attribute-link[data-v-3fd63d6c],.token-attribute[data-v-3fd63d6c]{color:var(--syntax-attribute,var(--color-syntax-keywords))}.token-internalParam[data-v-3fd63d6c]{color:var(--color-syntax-param-internal-name)}.type-identifier-link[data-v-3fd63d6c]{color:var(--syntax-type,var(--color-syntax-other-type-names))}.token-removed[data-v-3fd63d6c]{background-color:var(--color-highlight-red)}.token-added[data-v-3fd63d6c]{background-color:var(--color-highlight-green)}.decorator[data-v-06ec7395],.label[data-v-06ec7395]{color:var(--colors-secondary-label,var(--color-secondary-label))}.label[data-v-06ec7395]{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.empty-token[data-v-06ec7395]{font-size:0}.empty-token[data-v-06ec7395]:after{content:"\00a0";font-size:1rem}.conditional-constraints[data-v-1548fd90] code{color:var(--colors-secondary-label,var(--color-secondary-label))}.abstract[data-v-52205924],.link-block[data-v-52205924] .badge{margin-left:2.294rem}.link-block .badge+.badge[data-v-52205924]{margin-left:1rem}.link[data-v-52205924]{display:flex}.link-block .badge[data-v-52205924]{margin-top:.5rem}.link-block.has-inline-element[data-v-52205924]{display:flex;align-items:flex-start;flex-flow:row wrap}.link-block.has-inline-element .badge[data-v-52205924]{margin-left:1rem;margin-top:0}.link-block .has-adjacent-elements[data-v-52205924]{padding-top:5px;padding-bottom:5px;display:inline-flex}.link-block[data-v-52205924],.link[data-v-52205924]{box-sizing:inherit}.link-block.changed[data-v-52205924],.link.changed[data-v-52205924]{padding-right:1rem;padding-left:2.17647rem;padding-top:8px;padding-bottom:8px;display:inline-flex;width:100%;box-sizing:border-box}.link-block.changed.changed[data-v-52205924],.link.changed.changed[data-v-52205924]{padding-right:1rem}@media only screen and (max-width:735px){.link-block.changed[data-v-52205924],.link.changed[data-v-52205924]{padding-left:0;padding-right:0}.link-block.changed.changed[data-v-52205924],.link.changed.changed[data-v-52205924]{padding-right:17px;padding-left:2.17647rem}}@media only screen and (max-width:735px){.link-block.changed[data-v-52205924],.link.changed[data-v-52205924]{padding-left:0;padding-right:0}}.abstract .topic-required[data-v-52205924]:not(:first-child){margin-top:4px}.topic-required[data-v-52205924]{font-size:.8em}.deprecated[data-v-52205924]{text-decoration:line-through}.conditional-constraints[data-v-52205924]{font-size:.82353rem;margin-top:4px}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/css/documentation-topic.1d1eec04.css b/document/MixSdk.doccarchive/css/documentation-topic.1d1eec04.css
new file mode 100644 (file)
index 0000000..8622bb4
--- /dev/null
@@ -0,0 +1,9 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.betainfo[data-v-e8fd2a92]{font-size:.94118rem;padding:3rem 0;background-color:var(--color-fill-secondary)}.full-width-container .betainfo-container[data-v-e8fd2a92]{max-width:820px;margin-left:auto;margin-right:auto;padding-left:80px;padding-right:80px;box-sizing:border-box}@media print{.full-width-container .betainfo-container[data-v-e8fd2a92]{padding-left:20px;padding-right:20px;max-width:none}}@media only screen and (min-width:1251px){.full-width-container .betainfo-container[data-v-e8fd2a92]{max-width:980px}}@media only screen and (min-width:1500px){.full-width-container .betainfo-container[data-v-e8fd2a92]{max-width:1080px}}@media only screen and (max-width:735px){.full-width-container .betainfo-container[data-v-e8fd2a92]{width:auto;padding-left:20px;padding-right:20px}}.static-width-container .betainfo-container[data-v-e8fd2a92]{margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.static-width-container .betainfo-container[data-v-e8fd2a92]{width:692px}}@media only screen and (max-width:735px){.static-width-container .betainfo-container[data-v-e8fd2a92]{width:87.5%}}@media only screen and (max-width:320px){.static-width-container .betainfo-container[data-v-e8fd2a92]{width:215px}}.betainfo-label[data-v-e8fd2a92]{font-weight:600;font-size:.94118rem}.betainfo-content[data-v-e8fd2a92] p{margin-bottom:10px}.summary-section[data-v-3aa6f694]:last-of-type{margin-right:0}@media only screen and (max-width:735px){.summary-section[data-v-3aa6f694]{margin-right:0}}.title[data-v-6796f6ea]{color:#fff;font-size:.82353rem;margin-right:.5rem;text-rendering:optimizeLegibility}.documentation-hero--disabled .title[data-v-6796f6ea]{color:var(--colors-text,var(--color-text))}.language[data-v-1a36493d]{padding-bottom:10px;justify-content:flex-end}.language-list[data-v-1a36493d],.language[data-v-1a36493d]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-top:0;display:flex;align-items:center}.language-option.swift[data-v-1a36493d]{padding-right:10px;border-right:1px solid var(--color-fill-gray-tertiary)}.language-option.objc[data-v-1a36493d]{padding-left:10px}.language-option.active[data-v-1a36493d],.language-option.router-link-exact-active[data-v-1a36493d]{color:#ccc}.documentation-hero--disabled .language-option.active[data-v-1a36493d],.documentation-hero--disabled .language-option.router-link-exact-active[data-v-1a36493d]{color:var(--colors-secondary-label,var(--color-secondary-label))}.view-more-link[data-v-0d14b62a]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;flex-flow:row-reverse;margin-bottom:1.3rem}.documentation-hero[data-v-6540c364]{background:#000;color:var(--color-documentation-intro-figure,#fff);overflow:hidden;text-align:left;position:relative;padding-right:var(--doc-hero-right-offset)}.documentation-hero[data-v-6540c364]:before{content:"";background:var(--standard-accent-color,var(--color-documentation-intro-fill,#2a2a2a));position:absolute;width:100%;left:0;top:-50%;height:150%;right:0}.documentation-hero[data-v-6540c364]:after{background:transparent;opacity:.7;width:100%;position:absolute;content:"";height:100%;left:0;top:0}.documentation-hero .icon[data-v-6540c364]{position:absolute;margin-top:10px;margin-right:25px;right:0;width:250px;height:calc(100% - 20px);box-sizing:border-box}@media only screen and (max-width:735px){.documentation-hero .icon[data-v-6540c364]{display:none}}.documentation-hero .background-icon[data-v-6540c364]{color:var(--color-documentation-intro-accent,#161616);display:block;width:250px;height:auto;opacity:1;position:absolute;top:50%;left:0;transform:translateY(-50%);max-height:100%}.documentation-hero .background-icon[data-v-6540c364] img,.documentation-hero .background-icon[data-v-6540c364] svg{width:100%;height:100%}.documentation-hero__content[data-v-6540c364]:not(.minimized-hero){padding-top:2.35294rem;padding-bottom:40px;position:relative;z-index:1}.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){max-width:820px;margin-left:auto;margin-right:auto;padding-left:80px;padding-right:80px;box-sizing:border-box}@media print{.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){padding-left:20px;padding-right:20px;max-width:none}}@media only screen and (min-width:1251px){.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){max-width:980px}}@media only screen and (min-width:1500px){.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){max-width:1080px}}@media only screen and (max-width:735px){.full-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){width:auto;padding-left:20px;padding-right:20px}}.static-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.static-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){width:692px}}@media only screen and (max-width:735px){.static-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){width:87.5%}}@media only screen and (max-width:320px){.static-width-container .documentation-hero__content[data-v-6540c364]:not(.minimized-hero){width:215px}}.documentation-hero .minimized-hero[data-v-6540c364]{padding:1.3em 1.4em;position:relative;z-index:1}.documentation-hero__above-content[data-v-6540c364]{position:relative;z-index:1}.documentation-hero--disabled[data-v-6540c364]{background:none;color:var(--colors-text,var(--color-text))}.documentation-hero--disabled[data-v-6540c364]:after,.documentation-hero--disabled[data-v-6540c364]:before{content:none}.short-hero[data-v-6540c364]{padding-top:3.52941rem;padding-bottom:3.52941rem}.extra-bottom-padding[data-v-6540c364]{padding-bottom:3.82353rem}.theme-dark[data-v-6540c364] a:not(.button-cta){color:#09f}ul[data-v-068842ec]{list-style-type:none;margin:0}ul li:first-child .base-link[data-v-068842ec]{margin-top:0}.parent-item .base-link[data-v-068842ec]{font-weight:700}.base-link[data-v-068842ec]{color:var(--color-figure-gray-secondary);font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:inline-block;margin:5px 0;transition:color .15s ease-in;max-width:100%}.active .base-link[data-v-068842ec]{color:var(--color-text)}.source[data-v-d22a3f50]{background:var(--background,var(--color-code-background));border-color:var(--color-grid);color:var(--text,var(--color-code-plain));border-style:solid;border-width:1px;padding:var(--code-block-style-elements-padding);speak:literal-punctuation;line-height:25px;filter:blur(0)}.source.displays-multiple-lines[data-v-d22a3f50],.source[data-v-d22a3f50]{border-radius:var(--border-radius,4px)}.source>code[data-v-d22a3f50]{font-size:.88235rem;line-height:1.66667;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace);display:block}.platforms[data-v-4f51d8d2]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-bottom:.45rem;margin-top:var(--spacing-stacked-margin-xlarge)}.changed .platforms[data-v-4f51d8d2]{padding-left:.588rem}.platforms[data-v-4f51d8d2]:first-of-type{margin-top:1rem}.source[data-v-4f51d8d2]{margin:var(--declaration-code-listing-margin)}.platforms+.source[data-v-4f51d8d2]{margin:0}.changed.declaration-group[data-v-4f51d8d2]{background:var(--background,var(--color-code-background))}.changed .source[data-v-4f51d8d2]{background:none;border:none;margin-top:0;margin-bottom:0;margin-left:2.17647rem;padding-left:0}.declaration-diff[data-v-b3e21c4a]{background:var(--background,var(--color-code-background))}.declaration-diff-version[data-v-b3e21c4a]{padding-left:.588rem;padding-left:2.17647rem;font-size:1rem;line-height:1.52941;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray-secondary);margin:0}.declaration-diff-current[data-v-b3e21c4a]{padding-top:8px;padding-bottom:5px}.declaration-diff-previous[data-v-b3e21c4a]{padding-top:5px;padding-bottom:8px;background-color:var(--color-changes-modified-previous-background);border-radius:0 0 var(--border-radius,4px) var(--border-radius,4px);position:relative}.declaration-source-link[data-v-5863919c]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;align-items:center;margin-top:var(--declaration-source-link-margin,var(--spacing-stacked-margin-large))}.declaration-icon[data-v-5863919c]{width:1em;margin-right:5px}.conditional-constraints[data-v-2ab6251b]{margin-top:var(--declaration-conditional-constraints-margin,20px)}.abstract[data-v-702ec04e]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){.abstract[data-v-702ec04e]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-702ec04e] p:last-child{margin-bottom:0}.container[data-v-6e075935]{padding-bottom:40px}.full-width-container .container[data-v-6e075935]{max-width:820px;margin-left:auto;margin-right:auto;padding-left:80px;padding-right:80px;box-sizing:border-box}@media print{.full-width-container .container[data-v-6e075935]{padding-left:20px;padding-right:20px;max-width:none}}@media only screen and (min-width:1251px){.full-width-container .container[data-v-6e075935]{max-width:980px}}@media only screen and (min-width:1500px){.full-width-container .container[data-v-6e075935]{max-width:1080px}}@media only screen and (max-width:735px){.full-width-container .container[data-v-6e075935]{width:auto;padding-left:20px;padding-right:20px}}.static-width-container .container[data-v-6e075935]{margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.static-width-container .container[data-v-6e075935]{width:692px}}@media only screen and (max-width:735px){.static-width-container .container[data-v-6e075935]{width:87.5%}}@media only screen and (max-width:320px){.static-width-container .container[data-v-6e075935]{width:215px}}.title[data-v-6e075935]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding-top:40px;border-top-color:var(--color-grid);border-top-style:solid;border-top-width:var(--content-table-title-border-width,1px)}@media only screen and (max-width:1250px){.title[data-v-6e075935]{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-6e075935]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.title+.contenttable-section[data-v-4aae1079]{margin-top:0}.contenttable-section[data-v-4aae1079]{align-items:baseline;padding-top:2.353rem}.contenttable-section[data-v-4aae1079]:last-child{margin-bottom:0}[data-v-4aae1079] .contenttable-title{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-4aae1079] .contenttable-title{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.contenttable-section[data-v-4aae1079]{align-items:unset;border-top:none;display:inherit;margin:0}.section-content[data-v-4aae1079],.section-title[data-v-4aae1079]{padding:0}[data-v-4aae1079] .contenttable-title{margin:0 0 2.353rem 0;padding-bottom:.5rem}}.section-content>.content[data-v-3ccf02e9],.topic[data-v-3ccf02e9]{margin-top:15px}.no-title .section-content>.content[data-v-3ccf02e9]:first-child,.no-title .topic[data-v-3ccf02e9]:first-child{margin-top:0}.datalist dd{padding-left:2rem}.datalist dt{font-weight:600;padding-left:1rem;padding-top:var(--spacing-param)}.datalist dt:first-of-type{padding-top:0}.type[data-v-791bac44]:first-letter{text-transform:capitalize}.detail-type[data-v-d66cd00c]{font-weight:600;padding-left:1rem;padding-top:var(--spacing-param)}.detail-type[data-v-d66cd00c]:first-child{padding-top:0}@media only screen and (max-width:735px){.detail-type[data-v-d66cd00c]{padding-left:0}}.detail-content[data-v-d66cd00c]{padding-left:2rem}@media only screen and (max-width:735px){.detail-content[data-v-d66cd00c]{padding-left:0}}.param-name[data-v-53cac581]{font-weight:600;padding-left:1rem;padding-top:var(--spacing-param)}.param-name[data-v-53cac581]:first-child{padding-top:0}@media only screen and (max-width:735px){.param-name[data-v-53cac581]{padding-left:0}}.param-content[data-v-53cac581]{padding-left:2rem}@media only screen and (max-width:735px){.param-content[data-v-53cac581]{padding-left:0}}.param-content[data-v-53cac581] dt{font-weight:600}.param-content[data-v-53cac581] dd{margin-left:1em}.parameters-table[data-v-3f89f723] .change-added,.parameters-table[data-v-3f89f723] .change-removed{display:inline-block;max-width:100%}.parameters-table[data-v-3f89f723] .change-removed,.parameters-table[data-v-3f89f723] .token-removed{text-decoration:line-through}.param[data-v-3f89f723]{font-size:.88235rem;box-sizing:border-box}.param.changed[data-v-3f89f723]{display:flex;flex-flow:row wrap;padding-right:1rem;padding-left:2.17647rem;padding-top:8px;padding-bottom:8px;display:inline-flex;width:100%;box-sizing:border-box}.param.changed.changed[data-v-3f89f723]{padding-right:1rem}@media only screen and (max-width:735px){.param.changed[data-v-3f89f723]{padding-left:0;padding-right:0}.param.changed.changed[data-v-3f89f723]{padding-right:17px;padding-left:2.17647rem}}@media only screen and (max-width:735px){.param.changed[data-v-3f89f723]{padding-left:0;padding-right:0}}.param.changed.changed[data-v-3f89f723]{padding-left:0;padding-right:0}.param.changed+.param.changed[data-v-3f89f723]{margin-top:calc(var(--spacing-param)/2)}.changed .param-content[data-v-3f89f723],.changed .param-symbol[data-v-3f89f723]{padding-top:2px;padding-bottom:2px}@media only screen and (max-width:735px){.changed .param-content[data-v-3f89f723]{padding-top:0}.changed .param-symbol[data-v-3f89f723]{padding-bottom:0}}.param-symbol[data-v-3f89f723]{text-align:right}.changed .param-symbol[data-v-3f89f723]{padding-left:2.17647rem}@media only screen and (max-width:735px){.param-symbol[data-v-3f89f723]{text-align:left}.changed .param-symbol[data-v-3f89f723]{padding-left:0}}.param-symbol[data-v-3f89f723] .type-identifier-link{color:var(--color-link)}.param+.param[data-v-3f89f723]{margin-top:var(--spacing-param)}.param+.param[data-v-3f89f723]:first-child{margin-top:0}.param-content[data-v-3f89f723]{padding-left:1rem;padding-left:2.17647rem}.changed .param-content[data-v-3f89f723]{padding-right:1rem}@media only screen and (max-width:735px){.param-content[data-v-3f89f723]{padding-left:0;padding-right:0}}.property-metadata[data-v-8590589e]{color:var(--color-figure-gray-secondary)}.property-text{font-weight:700}.property-metadata[data-v-0a648a1e]{color:var(--color-figure-gray-secondary)}.property-name[data-v-310f0b2c]{font-weight:700}.property-name.deprecated[data-v-310f0b2c]{text-decoration:line-through}.property-deprecated[data-v-310f0b2c]{margin-left:0}.content[data-v-310f0b2c],.content[data-v-310f0b2c] p:first-child{display:inline}.response-mimetype[data-v-20293786]{color:var(--color-figure-gray-secondary)}.part-name[data-v-021cd63d]{font-weight:700}.content[data-v-021cd63d],.content[data-v-021cd63d] p:first-child{display:inline}.param-name[data-v-03478142]{font-weight:700}.param-name.deprecated[data-v-03478142]{text-decoration:line-through}.param-deprecated[data-v-03478142]{margin-left:0}.content[data-v-03478142],.content[data-v-03478142] p:first-child{display:inline}.response-name[data-v-881189f4],.response-reason[data-v-881189f4]{font-weight:700}@media only screen and (max-width:735px){.response-reason[data-v-881189f4]{display:none}}.response-name>code>.reason[data-v-881189f4]{display:none}@media only screen and (max-width:735px){.response-name>code>.reason[data-v-881189f4]{display:initial}}.primary-content.with-border[data-v-2baae7e0]:before{border-top-color:var(--colors-grid,var(--color-grid));border-top-style:solid;border-top-width:1px;content:"";display:block}.primary-content[data-v-2baae7e0]>*{margin-bottom:40px;margin-top:40px}.primary-content[data-v-2baae7e0]>:first-child{margin-top:2.353rem}.relationships-list[data-v-4c67b8c7]{list-style:none}.relationships-list.column[data-v-4c67b8c7]{margin-left:0;margin-top:15px}.relationships-list.inline[data-v-4c67b8c7]{display:flex;flex-direction:row;flex-wrap:wrap;margin-top:15px;margin-left:0}.relationships-list.inline li[data-v-4c67b8c7]:not(:last-child):after{content:",\00a0"}.relationships-list.changed[data-v-4c67b8c7]{padding-right:1rem;padding-left:2.17647rem;padding-top:8px;padding-bottom:8px;display:inline-flex;width:100%;box-sizing:border-box}.relationships-list.changed.changed[data-v-4c67b8c7]{padding-right:1rem}@media only screen and (max-width:735px){.relationships-list.changed[data-v-4c67b8c7]{padding-left:0;padding-right:0}.relationships-list.changed.changed[data-v-4c67b8c7]{padding-right:17px;padding-left:2.17647rem}}@media only screen and (max-width:735px){.relationships-list.changed[data-v-4c67b8c7]{padding-left:0;padding-right:0}}.relationships-list.changed[data-v-4c67b8c7]:after{margin-top:.61765rem}.relationships-list.changed.column[data-v-4c67b8c7]{display:block;box-sizing:border-box}.relationships-item[data-v-4c67b8c7],.relationships-list[data-v-4c67b8c7]{box-sizing:inherit}.conditional-constraints[data-v-4c67b8c7]{font-size:.82353rem;margin:.17647rem 0 .58824rem 1.17647rem}.availability[data-v-602d8130]{display:flex;flex-flow:row wrap;gap:10px;margin-top:25px}.badge[data-v-602d8130]{margin:0}.technology[data-v-602d8130]{display:inline-flex;align-items:center}.tech-icon[data-v-602d8130]{height:12px;padding-right:5px;fill:var(--badge-color)}.theme-dark .tech-icon[data-v-602d8130]{fill:var(--badge-color)}.beta[data-v-602d8130]{color:var(--color-badge-beta)}.theme-dark .beta[data-v-602d8130]{color:var(--color-badge-dark-beta)}.deprecated[data-v-602d8130]{color:var(--color-badge-deprecated)}.theme-dark .deprecated[data-v-602d8130]{color:var(--color-badge-dark-deprecated)}.changed[data-v-602d8130]{padding-left:26px}.changed[data-v-602d8130]:after{content:none}.changed[data-v-602d8130]:before{background-image:url(../img/modified-icon.f496e73d.svg);background-repeat:no-repeat;bottom:0;content:" ";margin:auto;margin-right:8px;position:absolute;top:0;width:16px;height:16px;left:5px}@media screen{[data-color-scheme=dark] .changed[data-v-602d8130]:before{background-image:url(../img/modified-icon.f496e73d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed[data-v-602d8130]:before{background-image:url(../img/modified-icon.f496e73d.svg)}}.theme-dark .changed[data-v-602d8130]:before{background-image:url(../img/modified-icon.f496e73d.svg)}.changed-added[data-v-602d8130]{border-color:var(--color-changes-added)}.changed-added[data-v-602d8130]:before{background-image:url(../img/added-icon.d6f7e47d.svg)}@media screen{[data-color-scheme=dark] .changed-added[data-v-602d8130]:before{background-image:url(../img/added-icon.d6f7e47d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed-added[data-v-602d8130]:before{background-image:url(../img/added-icon.d6f7e47d.svg)}}.theme-dark .changed-added[data-v-602d8130]:before{background-image:url(../img/added-icon.d6f7e47d.svg)}.changed-deprecated[data-v-602d8130]{border-color:var(--color-changes-deprecated)}.changed-deprecated[data-v-602d8130]:before{background-image:url(../img/deprecated-icon.015b4f17.svg)}@media screen{[data-color-scheme=dark] .changed-deprecated[data-v-602d8130]:before{background-image:url(../img/deprecated-icon.015b4f17.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed-deprecated[data-v-602d8130]:before{background-image:url(../img/deprecated-icon.015b4f17.svg)}}.theme-dark .changed-deprecated[data-v-602d8130]:before{background-image:url(../img/deprecated-icon.015b4f17.svg)}.changed-modified[data-v-602d8130]{border-color:var(--color-changes-modified)}.eyebrow[data-v-4492c658]{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-documentation-intro-eyebrow,#ccc);display:block;margin-bottom:1.17647rem}@media only screen and (max-width:735px){.eyebrow[data-v-4492c658]{font-size:1.11765rem;line-height:1.21053;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.documentation-hero--disabled .eyebrow[data-v-4492c658]{color:var(--colors-secondary-label,var(--color-secondary-label))}.title[data-v-4492c658]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-documentation-intro-title,#fff);margin-bottom:.70588rem}@media only screen and (max-width:1250px){.title[data-v-4492c658]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-4492c658]{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.documentation-hero--disabled .title[data-v-4492c658]{color:var(--colors-header-text,var(--color-header-text))}small[data-v-4492c658]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding-left:10px}@media only screen and (max-width:1250px){small[data-v-4492c658]{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}small[data-v-4492c658]:before{content:attr(data-tag-name)}small.Beta[data-v-4492c658]{color:var(--color-badge-beta)}.theme-dark small.Beta[data-v-4492c658]{color:var(--color-badge-dark-beta)}small.Deprecated[data-v-4492c658]{color:var(--color-badge-deprecated)}.theme-dark small.Deprecated[data-v-4492c658]{color:var(--color-badge-dark-deprecated)}.OnThisPageStickyContainer[data-v-1b6d0048]{margin-top:2.353rem;position:sticky;top:3.82353rem;align-self:flex-start;flex:0 0 auto;width:192px;padding-right:1.29412rem;box-sizing:border-box;padding-bottom:var(--spacing-stacked-margin-small);max-height:calc(100vh - 3.82353rem);overflow:auto}@media print{.OnThisPageStickyContainer[data-v-1b6d0048]{display:none}}@media only screen and (max-width:735px){.OnThisPageStickyContainer[data-v-1b6d0048]{display:none}}.doc-topic[data-v-43c74ad0]{display:flex;flex-direction:column;height:100%}.doc-topic.with-on-this-page[data-v-43c74ad0]{--doc-hero-right-offset:192px}#main[data-v-43c74ad0]{outline-style:none;height:100%}[data-v-43c74ad0] .minimized-title{margin-bottom:.833rem}[data-v-43c74ad0] .minimized-title .title{font-size:1.416rem;font-weight:700}[data-v-43c74ad0] .minimized-title small{font-size:1rem;padding-left:.416rem}.minimized-abstract[data-v-43c74ad0]{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.container[data-v-43c74ad0]:not(.minimized-container){outline-style:none}.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){max-width:820px;margin-left:auto;margin-right:auto;padding-left:80px;padding-right:80px;box-sizing:border-box}@media print{.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){padding-left:20px;padding-right:20px;max-width:none}}@media only screen and (min-width:1251px){.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){max-width:980px}}@media only screen and (min-width:1500px){.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){max-width:1080px}}@media only screen and (max-width:735px){.full-width-container .container[data-v-43c74ad0]:not(.minimized-container){width:auto;padding-left:20px;padding-right:20px}}.static-width-container .container[data-v-43c74ad0]:not(.minimized-container){margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.static-width-container .container[data-v-43c74ad0]:not(.minimized-container){width:692px}}@media only screen and (max-width:735px){.static-width-container .container[data-v-43c74ad0]:not(.minimized-container){width:87.5%}}@media only screen and (max-width:320px){.static-width-container .container[data-v-43c74ad0]:not(.minimized-container){width:215px}}[data-v-43c74ad0] .minimized-container{outline-style:none;--spacing-stacked-margin-large:0.667em;--spacing-stacked-margin-xlarge:1em;--declaration-code-listing-margin:1em 0 0 0;--declaration-conditional-constraints-margin:1em;--declaration-source-link-margin:0.833em;--code-block-style-elements-padding:7px 12px;--spacing-param:var(--spacing-stacked-margin-large);--aside-border-radius:6px;--code-border-radius:6px}[data-v-43c74ad0] .minimized-container .description{margin-bottom:1.5em}[data-v-43c74ad0] .minimized-container>.primary-content>*{margin-top:1.5em;margin-bottom:1.5em}[data-v-43c74ad0] .minimized-container .description{margin-top:0}[data-v-43c74ad0] .minimized-container h1,[data-v-43c74ad0] .minimized-container h2,[data-v-43c74ad0] .minimized-container h3,[data-v-43c74ad0] .minimized-container h4,[data-v-43c74ad0] .minimized-container h5,[data-v-43c74ad0] .minimized-container h6{font-size:1rem;font-weight:700}[data-v-43c74ad0] .minimized-container h2{font-size:1.083rem}[data-v-43c74ad0] .minimized-container h1{font-size:1.416rem}[data-v-43c74ad0] .minimized-container aside{padding:.667rem 1rem}[data-v-43c74ad0] .minimized-container .single-line,[data-v-43c74ad0] .minimized-container .source{border-radius:var(--code-border-radius)}.description[data-v-43c74ad0]{margin-bottom:2.353rem}.description[data-v-43c74ad0]:empty{display:none}.description.after-enhanced-hero[data-v-43c74ad0]{margin-top:2.353rem}.description[data-v-43c74ad0] .content+*{margin-top:var(--spacing-stacked-margin-large)}.full-width-container .doc-content .minimized-container[data-v-43c74ad0]{padding-left:1.4rem;padding-right:1.4rem}[data-v-43c74ad0] .no-primary-content{--content-table-title-border-width:0px}.sample-download[data-v-43c74ad0]{margin-top:20px}.declarations-container[data-v-43c74ad0]{margin-top:30px}.declarations-container.minimized-container[data-v-43c74ad0]{margin-top:0}[data-v-43c74ad0] h1{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h1{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-43c74ad0] h1{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h2{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h2{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-43c74ad0] h2{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h3{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h3{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-43c74ad0] h3{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h4{font-size:1.41176rem;line-height:1.16667;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h4{font-size:1.23529rem;line-height:1.19048;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h5{font-size:1.29412rem;line-height:1.18182;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-43c74ad0] h5{font-size:1.17647rem;line-height:1.2;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-43c74ad0] h5{font-size:1.05882rem;line-height:1.44444;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-43c74ad0] h6{font-size:1rem;line-height:1.47059;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.doc-content-wrapper[data-v-43c74ad0]{display:flex;justify-content:center}.doc-content-wrapper .doc-content[data-v-43c74ad0]{min-width:0;width:100%}.with-on-this-page .doc-content-wrapper .doc-content[data-v-43c74ad0]{max-width:820px}@media only screen and (min-width:1251px){.with-on-this-page .doc-content-wrapper .doc-content[data-v-43c74ad0]{max-width:980px}}@media only screen and (min-width:1500px){.with-on-this-page .doc-content-wrapper .doc-content[data-v-43c74ad0]{max-width:1080px}}.quick-navigation-open[data-v-53faf852]{display:flex;align-items:center;justify-content:center;width:16px;border:1px solid var(--color-grid);height:100%;border-radius:var(--border-radius,4px);transition:background-color .15s;box-sizing:border-box}.quick-navigation-open[data-v-53faf852]:hover{background-color:var(--color-fill-tertiary)}@media only screen and (max-width:1023px){.quick-navigation-open[data-v-53faf852]{display:none}}.fromkeyboard .quick-navigation-open[data-v-53faf852]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.tag[data-v-7e76f326]{display:inline-block;padding-right:.58824rem}.tag[data-v-7e76f326]:focus{outline:none}.tag button[data-v-7e76f326]{color:var(--color-figure-gray);background-color:var(--color-fill-tertiary);font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);border-radius:.82353rem;padding:.23529rem .58824rem;white-space:nowrap;border:1px solid transparent}@media (hover:hover){.tag button[data-v-7e76f326]:hover{transition:background-color .2s,color .2s;background-color:var(--color-fill-blue);color:#fff}}.tag button[data-v-7e76f326]:focus:active{background-color:var(--color-fill-blue);color:#fff}.fromkeyboard .tag button[data-v-7e76f326]:focus,.tag button.focus[data-v-7e76f326],.tag button[data-v-7e76f326]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.tags[data-v-1f2bd813]{position:relative;margin:0;list-style:none;box-sizing:border-box;transition:padding-right .8s,padding-bottom .8s,max-height 1s,opacity 1s;padding:0}.tags .scroll-wrapper[data-v-1f2bd813]{overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-color:var(--color-figure-gray-tertiary) transparent;scrollbar-width:thin}.tags .scroll-wrapper[data-v-1f2bd813]::-webkit-scrollbar{height:0}@supports not ((-webkit-touch-callout:none) or (scrollbar-width:none) or (-ms-overflow-style:none)){.tags .scroll-wrapper.scrolling[data-v-1f2bd813]{--scrollbar-height:11px;padding-top:var(--scrollbar-height);height:calc(var(--scroll-target-height) - var(--scrollbar-height));display:flex;align-items:center}}.tags .scroll-wrapper.scrolling[data-v-1f2bd813]::-webkit-scrollbar{height:11px}.tags .scroll-wrapper.scrolling[data-v-1f2bd813]::-webkit-scrollbar-thumb{border-radius:10px;background-color:var(--color-figure-gray-tertiary);border:2px solid transparent;background-clip:padding-box}.tags .scroll-wrapper.scrolling[data-v-1f2bd813]::-webkit-scrollbar-track-piece:end{margin-right:8px}.tags .scroll-wrapper.scrolling[data-v-1f2bd813]::-webkit-scrollbar-track-piece:start{margin-left:8px}.tags ul[data-v-1f2bd813]{margin:0;padding:0;display:flex}.filter[data-v-3f01a546]{--input-vertical-padding:.76471rem;--input-horizontal-spacing:.58824rem;--input-height:1.64706rem;--input-border-color:var(--color-fill-gray-secondary);--input-text:var(--color-fill-gray-secondary);position:relative;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);border-radius:calc(var(--border-radius, 4px) + 1px)}.fromkeyboard .filter[data-v-3f01a546]:focus{outline:none}.filter__top-wrapper[data-v-3f01a546]{display:flex}.filter__filter-button[data-v-3f01a546]{position:relative;z-index:1;cursor:text;margin-left:var(--input-horizontal-spacing);margin-right:.17647rem}@media only screen and (max-width:735px){.filter__filter-button[data-v-3f01a546]{margin-right:.41176rem}}.filter__filter-button .svg-icon[data-v-3f01a546]{fill:var(--input-text);display:block;height:21px}.filter__filter-button.blue[data-v-3f01a546]>*{fill:var(--color-figure-blue);color:var(--color-figure-blue)}.filter.focus .filter__wrapper[data-v-3f01a546]{box-shadow:0 0 0 3pt var(--color-focus-color);--input-border-color:var(--color-fill-blue)}.filter__wrapper[data-v-3f01a546]{border:1px solid var(--input-border-color);background:var(--color-fill);border-radius:var(--border-radius,4px)}.filter__wrapper--reversed[data-v-3f01a546]{display:flex;flex-direction:column-reverse}.filter__wrapper--no-border-style[data-v-3f01a546]{border:none}.filter__suggested-tags[data-v-3f01a546]{border-top:1px solid var(--color-fill-gray-tertiary);z-index:1;overflow:hidden}.filter__suggested-tags[data-v-3f01a546] ul{padding:var(--input-vertical-padding) .52941rem;border:1px solid transparent;border-bottom-left-radius:calc(var(--border-radius, 4px) - 1px);border-bottom-right-radius:calc(var(--border-radius, 4px) - 1px)}.fromkeyboard .filter__suggested-tags[data-v-3f01a546] ul:focus{outline:none;box-shadow:0 0 0 5px var(--color-focus-color)}.filter__wrapper--reversed .filter__suggested-tags[data-v-3f01a546]{border-bottom:1px solid var(--color-fill-gray-tertiary);border-top:none}.filter__selected-tags[data-v-3f01a546]{z-index:1;padding-left:4px;margin:-4px 0}@media only screen and (max-width:735px){.filter__selected-tags[data-v-3f01a546]{padding-left:0}}.filter__selected-tags[data-v-3f01a546] ul{padding:4px}@media only screen and (max-width:735px){.filter__selected-tags[data-v-3f01a546] ul{padding-right:.41176rem}}.filter__selected-tags[data-v-3f01a546] ul .tag:last-child{padding-right:0}.filter__delete-button[data-v-3f01a546]{position:relative;margin:0;z-index:1;border-radius:100%}.fromkeyboard .filter__delete-button[data-v-3f01a546]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none}.filter__delete-button .clear-rounded-icon[data-v-3f01a546]{height:.70588rem;width:.70588rem;fill:var(--input-text);display:block}.filter__delete-button-wrapper[data-v-3f01a546]{display:flex;align-items:center;padding-right:var(--input-horizontal-spacing);padding-left:.17647rem;border-top-right-radius:var(--border-radius,4px);border-bottom-right-radius:var(--border-radius,4px)}.filter__input-label[data-v-3f01a546]{position:relative;flex-grow:1;height:var(--input-height);padding:var(--input-vertical-padding) 0}.filter__input-label[data-v-3f01a546]:after{content:attr(data-value);visibility:hidden;width:auto;white-space:nowrap;min-width:130px;display:block;text-indent:.41176rem}@media only screen and (max-width:735px){.filter__input-label[data-v-3f01a546]:after{text-indent:.17647rem}}.filter__input-box-wrapper[data-v-3f01a546]{overflow-y:hidden;-ms-overflow-style:none;scrollbar-color:var(--color-figure-gray-tertiary) transparent;scrollbar-width:thin;display:flex;overflow-x:auto;align-items:center;cursor:text;flex:1}.filter__input-box-wrapper[data-v-3f01a546]::-webkit-scrollbar{height:0}@supports not ((-webkit-touch-callout:none) or (scrollbar-width:none) or (-ms-overflow-style:none)){.filter__input-box-wrapper.scrolling[data-v-3f01a546]{--scrollbar-height:11px;padding-top:var(--scrollbar-height);height:calc(var(--scroll-target-height) - var(--scrollbar-height));display:flex;align-items:center}}.filter__input-box-wrapper.scrolling[data-v-3f01a546]::-webkit-scrollbar{height:11px}.filter__input-box-wrapper.scrolling[data-v-3f01a546]::-webkit-scrollbar-thumb{border-radius:10px;background-color:var(--color-figure-gray-tertiary);border:2px solid transparent;background-clip:padding-box}.filter__input-box-wrapper.scrolling[data-v-3f01a546]::-webkit-scrollbar-track-piece:end{margin-right:8px}.filter__input-box-wrapper.scrolling[data-v-3f01a546]::-webkit-scrollbar-track-piece:start{margin-left:8px}.filter__input[data-v-3f01a546]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-text);height:var(--input-height);border:none;width:100%;position:absolute;background:transparent;z-index:1;text-indent:.41176rem}@media only screen and (max-width:735px){.filter__input[data-v-3f01a546]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);text-indent:.17647rem}}.filter__input[data-v-3f01a546]:focus{outline:none}.filter__input[placeholder][data-v-3f01a546]::-moz-placeholder{color:var(--input-text);opacity:1}.filter__input[placeholder][data-v-3f01a546]::placeholder{color:var(--input-text);opacity:1}.filter__input[placeholder][data-v-3f01a546]:-ms-input-placeholder{color:var(--input-text)}.filter__input[placeholder][data-v-3f01a546]::-ms-input-placeholder{color:var(--input-text)}.highlight[data-v-1c4190f0]{display:inline}.highlight[data-v-1c4190f0] .match{font-weight:600;background:var(--color-fill-light-blue-secondary)}@media only screen and (max-width:735px){.preview[data-v-6fb5ba95]{display:none}}.unavailable[data-v-6fb5ba95]{align-items:center;display:flex;height:100%;justify-content:center}.loading[data-v-6fb5ba95]{padding:20px}.loading-row[data-v-6fb5ba95]{-webkit-animation:pulse 2.5s ease;animation:pulse 2.5s ease;-webkit-animation-delay:calc(1s + 0.3s*var(--index));animation-delay:calc(1s + 0.3s*var(--index));-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;background-color:var(--color-fill-gray-tertiary);border-radius:4px;height:12px;margin:20px 0;opacity:0}.loading-row[data-v-6fb5ba95]:first-of-type{margin-top:0}.loading-row[data-v-6fb5ba95]:last-of-type{margin-bottom:0}.quick-navigation[data-v-71686791]{--input-border-color:var(--color-grid)}.quick-navigation input[type=text][data-v-71686791]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){.quick-navigation input[type=text][data-v-71686791]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.quick-navigation__filter[data-v-71686791]{--input-horizontal-spacing:.88235rem}.quick-navigation[data-v-71686791] .filter__wrapper{background-color:var(--color-fill-secondary)}.quick-navigation__container[data-v-71686791]{background-color:var(--color-fill-secondary);border:solid 1px var(--input-border-color);border-radius:var(--border-radius,4px);margin:0 .94118rem}.quick-navigation__container>[data-v-71686791]{--input-text:var(--color-figure-gray-secondary)}.quick-navigation__container.focus[data-v-71686791]{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.quick-navigation__magnifier-icon-container[data-v-71686791]{width:1rem}.quick-navigation__magnifier-icon-container>[data-v-71686791]{width:100%}.quick-navigation__magnifier-icon-container.blue .magnifier-icon[data-v-71686791]{fill:var(--color-figure-blue);color:var(--color-figure-blue)}.quick-navigation__match-list[data-v-71686791]{display:flex;max-height:26.47059rem;height:0}.quick-navigation__match-list>[data-v-71686791]{min-width:0}.quick-navigation__match-list.active[data-v-71686791]{height:auto;border-top:1px solid var(--input-border-color)}.quick-navigation__match-list .no-results[data-v-71686791]{margin:.88235rem auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.quick-navigation__match-list .selected[data-v-71686791]{background-color:var(--color-navigator-item-hover)}.quick-navigation__refs[data-v-71686791]{flex:1;overflow:auto}.quick-navigation__preview[data-v-71686791]{border-left:1px solid var(--color-grid);flex:0 0 61.8%;overflow:auto;position:sticky;top:0}.quick-navigation__reference[data-v-71686791]:hover{text-decoration:none}.quick-navigation__symbol-match[data-v-71686791]{display:flex;height:2.35294rem;padding:.58824rem .88235rem;color:var(--color-figure-gray)}.quick-navigation__symbol-match[data-v-71686791]:hover{background-color:var(--color-navigator-item-hover)}.quick-navigation__symbol-match .symbol-info[data-v-71686791]{margin:auto;width:100%}.quick-navigation__symbol-match .symbol-info .navigator-icon[data-v-71686791]{margin-right:.58824rem}.quick-navigation__symbol-match .symbol-info .symbol-name[data-v-71686791]{display:flex}.quick-navigation__symbol-match .symbol-info .symbol-name .symbol-title[data-v-71686791]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-navigation__symbol-match .symbol-info .symbol-path[data-v-71686791]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray-secondary);display:flex;margin-left:1.58824rem;overflow:hidden;white-space:nowrap}.quick-navigation__symbol-match .symbol-info .symbol-path .parent-path[data-v-71686791]{padding-right:.29412rem}@media print{.sidebar[data-v-f3c6416c]{display:none}}.adjustable-sidebar-width[data-v-f3c6416c]{display:flex}@media only screen and (max-width:1023px){.adjustable-sidebar-width[data-v-f3c6416c]{display:block;position:relative}}.adjustable-sidebar-width.dragging[data-v-f3c6416c] *{cursor:col-resize!important}.adjustable-sidebar-width.sidebar-hidden.dragging[data-v-f3c6416c] *{cursor:e-resize!important}.sidebar[data-v-f3c6416c]{position:relative}@media only screen and (max-width:1023px){.sidebar[data-v-f3c6416c]{position:static}}.aside[data-v-f3c6416c]{width:250px;position:relative;height:100%;max-width:100vw}.aside.no-transition[data-v-f3c6416c]{transition:none!important}@media only screen and (min-width:1024px){.aside[data-v-f3c6416c]{transition:width .3s ease-in,visibility 0s linear var(--visibility-transition-time,0s)}.aside.dragging[data-v-f3c6416c]:not(.is-opening-on-large):not(.hide-on-large){transition:none}.aside.hide-on-large[data-v-f3c6416c]{width:0!important;visibility:hidden;pointer-events:none;--visibility-transition-time:.3s}}@media only screen and (max-width:1023px){.aside[data-v-f3c6416c]{width:100%!important;overflow:hidden;min-width:0;max-width:100%;height:calc(var(--app-height) - var(--top-offset-mobile));position:fixed;top:var(--top-offset-mobile);bottom:0;z-index:9998;transform:translateX(-100%);transition:transform .15s ease-in;left:0}.aside[data-v-f3c6416c] .aside-animated-child{opacity:0}.aside.show-on-mobile[data-v-f3c6416c]{transform:translateX(0)}.aside.show-on-mobile[data-v-f3c6416c] .aside-animated-child{--index:0;opacity:1;transition:opacity .15s linear;transition-delay:calc(var(--index)*0.15s + .15s)}.aside.has-mobile-top-offset[data-v-f3c6416c]{border-top:1px solid var(--color-fill-gray-tertiary)}}.content[data-v-f3c6416c]{display:flex;flex-flow:column;min-width:0;flex:1 1 auto;height:100%}.resize-handle[data-v-f3c6416c]{position:absolute;cursor:col-resize;top:0;bottom:0;right:0;width:5px;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1;transition:background-color .15s;transform:translateX(50%)}@media only screen and (max-width:1023px){.resize-handle[data-v-f3c6416c]{display:none}}.resize-handle[data-v-f3c6416c]:hover{background:var(--color-fill-gray-tertiary)}.navigator-card-item[data-v-0b9fe514]{--nav-head-wrapper-left-space:10px;--nav-head-wrapper-right-space:20px;--head-wrapper-vertical-space:5px;--nav-depth-spacer:25px;--nesting-index:0;display:flex;align-items:stretch;min-height:32px;box-sizing:border-box}.fromkeyboard .navigator-card-item[data-v-0b9fe514]:focus-within{outline:4px solid var(--color-focus-color);outline-offset:-4px}.navigator-card-item.active[data-v-0b9fe514]{background:var(--color-fill-gray-quaternary)}.hover .navigator-card-item[data-v-0b9fe514]:not(.is-group){background:var(--color-navigator-item-hover)}.depth-spacer[data-v-0b9fe514]{width:calc(var(--nesting-index)*15px + var(--nav-depth-spacer));height:100%;position:relative;flex:0 0 auto}.title-container[data-v-0b9fe514]{width:100%;min-width:0;display:flex;align-items:center}.navigator-icon-wrapper[data-v-0b9fe514]{margin-right:7px}.head-wrapper[data-v-0b9fe514]{padding:var(--head-wrapper-vertical-space) var(--nav-head-wrapper-right-space) var(--head-wrapper-vertical-space) var(--nav-head-wrapper-left-space);position:relative;display:flex;align-items:center;flex:1;min-width:0}@supports (padding:max(0px)){.head-wrapper[data-v-0b9fe514]{padding-left:max(var(--nav-head-wrapper-left-space),env(safe-area-inset-left));padding-right:max(var(--nav-head-wrapper-right-space),env(safe-area-inset-right))}}.highlight[data-v-d75876e2]{display:inline}.highlight[data-v-d75876e2] .match{font-weight:600;background:var(--color-fill-light-blue-secondary)}.is-group .leaf-link[data-v-0c96ff75]{color:var(--color-figure-gray-secondary);font-weight:600}.is-group .leaf-link[data-v-0c96ff75]:after{display:none}.navigator-icon[data-v-0c96ff75]{display:flex;flex:0 0 auto}.navigator-icon.changed[data-v-0c96ff75]{border:none;width:1em;height:1em;z-index:0}.navigator-icon.changed[data-v-0c96ff75]:after{top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);background-image:url(../img/modified-icon.f496e73d.svg);margin:0}@media screen{[data-color-scheme=dark] .navigator-icon.changed[data-v-0c96ff75]:after{background-image:url(../img/modified-icon.f496e73d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .navigator-icon.changed[data-v-0c96ff75]:after{background-image:url(../img/modified-icon.f496e73d.svg)}}.navigator-icon.changed-added[data-v-0c96ff75]:after{background-image:url(../img/added-icon.d6f7e47d.svg)}@media screen{[data-color-scheme=dark] .navigator-icon.changed-added[data-v-0c96ff75]:after{background-image:url(../img/added-icon.d6f7e47d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .navigator-icon.changed-added[data-v-0c96ff75]:after{background-image:url(../img/added-icon.d6f7e47d.svg)}}.navigator-icon.changed-deprecated[data-v-0c96ff75]:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}@media screen{[data-color-scheme=dark] .navigator-icon.changed-deprecated[data-v-0c96ff75]:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .navigator-icon.changed-deprecated[data-v-0c96ff75]:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}}.leaf-link[data-v-0c96ff75]{color:var(--color-figure-gray);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline;vertical-align:middle;font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.fromkeyboard .leaf-link[data-v-0c96ff75]:focus{outline:none}.leaf-link[data-v-0c96ff75]:hover{text-decoration:none}.leaf-link.bolded[data-v-0c96ff75]{font-weight:600}.leaf-link[data-v-0c96ff75]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0}.extended-content[data-v-0c96ff75]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-toggle[data-v-0c96ff75]{overflow:hidden;position:absolute;width:100%;height:100%;padding-right:5px;box-sizing:border-box;z-index:1;display:flex;align-items:center;justify-content:flex-end}.chevron[data-v-0c96ff75]{width:10px}.chevron.animating[data-v-0c96ff75]{transition:transform .15s ease-in}.chevron.rotate[data-v-0c96ff75]{transform:rotate(90deg)}.navigator-card[data-v-24789ed0]{--card-vertical-spacing:8px;--card-horizontal-spacing:20px;--nav-filter-horizontal-padding:20px;--visibility-delay:1s;display:flex;flex-direction:column;min-height:0;height:calc(var(--app-height) - var(--nav-height, 0px));position:sticky;top:var(--nav-height,0)}@media only screen and (max-width:1023px){.navigator-card[data-v-24789ed0]{height:100%;position:static;background:var(--color-fill)}}.navigator-card .navigator-card-full-height[data-v-24789ed0]{min-height:0;flex:1 1 auto}.navigator-card .head-inner[data-v-24789ed0]{overflow:hidden}.navigator-card .head-wrapper[data-v-24789ed0]{position:relative;flex:1 0 auto}.navigator-card .navigator-head[data-v-24789ed0]{--navigator-head-padding-right:calc(var(--card-horizontal-spacing)*2 + 19px);padding:0 var(--navigator-head-padding-right) 0 var(--card-horizontal-spacing);background:var(--color-fill);border-bottom:1px solid var(--color-grid);display:flex;align-items:center;height:3.05882rem;white-space:nowrap}.navigator-card .navigator-head .card-link[data-v-24789ed0]{color:var(--color-text);font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);font-weight:600;overflow:hidden;text-overflow:ellipsis}.navigator-card .navigator-head .badge[data-v-24789ed0]{margin-top:0}.navigator-card .navigator-head.router-link-exact-active[data-v-24789ed0]{background:var(--color-fill)}.navigator-card .navigator-head.router-link-exact-active .card-link[data-v-24789ed0]{font-weight:700}.navigator-card .navigator-head[data-v-24789ed0]:hover{background:var(--color-navigator-item-hover);text-decoration:none}@supports (padding:max(0px)){.navigator-card .navigator-head[data-v-24789ed0]{padding-left:max(var(--card-horizontal-spacing),env(safe-area-inset-left));padding-right:max(var(--navigator-head-padding-right),env(safe-area-inset-right))}}@media only screen and (max-width:1023px){.navigator-card .navigator-head[data-v-24789ed0]{justify-content:center;--navigator-head-padding-right:var(--card-horizontal-spacing)}}@media only screen and (max-width:767px){.navigator-card .navigator-head[data-v-24789ed0]{height:2.82353rem;padding:0 20px}}.close-card[data-v-24789ed0]{display:flex;position:absolute;z-index:1;align-items:center;justify-content:center;right:1rem;padding:5px;margin-left:-5px;top:calc(50% - 14px);transition:transform .3s ease-in 0s,visibility 0s}@media only screen and (max-width:1023px){.close-card[data-v-24789ed0]{right:unset;top:0;left:0;margin:0;padding:0 1.29412rem 0 20px;height:100%}@supports (padding:max(0px)){.close-card[data-v-24789ed0]{padding-left:max(1.29412rem,env(safe-area-inset-left))}}}@media only screen and (max-width:767px){.close-card[data-v-24789ed0]{padding-left:.94118rem;padding-right:.94118rem}@supports (padding:max(0px)){.close-card[data-v-24789ed0]{padding-left:max(.94118rem,env(safe-area-inset-left))}}}.close-card .close-icon[data-v-24789ed0]{width:19px;height:19px}@media only screen and (min-width:1024px){.close-card.hide-on-large[data-v-24789ed0]{display:none}.close-card[data-v-24789ed0]:hover{border-radius:var(--border-radius,4px);background:var(--color-fill-gray-quaternary)}.sidebar-hidden .close-card[data-v-24789ed0]{transition:transform .3s ease-in 0s,visibility 0s linear .3s;visibility:hidden;transform:translateX(3.76471rem)}}[data-v-24789ed0] .card-body{padding-right:0;flex:1 1 auto;min-height:0;height:100%}@media only screen and (max-width:1023px){[data-v-24789ed0] .card-body{--card-vertical-spacing:0px}}.navigator-card-inner[data-v-24789ed0]{display:flex;flex-flow:column;height:100%}.vue-recycle-scroller{position:relative}.vue-recycle-scroller.direction-vertical:not(.page-mode){overflow-y:auto}.vue-recycle-scroller.direction-horizontal:not(.page-mode){overflow-x:auto}.vue-recycle-scroller.direction-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex}.vue-recycle-scroller__slot{-webkit-box-flex:1;-ms-flex:auto 0 0px;flex:auto 0 0}.vue-recycle-scroller__item-wrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative}.vue-recycle-scroller.ready .vue-recycle-scroller__item-view{position:absolute;top:0;left:0;will-change:transform}.vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper{width:100%}.vue-recycle-scroller.direction-horizontal .vue-recycle-scroller__item-wrapper{height:100%}.vue-recycle-scroller.ready.direction-vertical .vue-recycle-scroller__item-view{width:100%}.vue-recycle-scroller.ready.direction-horizontal .vue-recycle-scroller__item-view{height:100%}.resize-observer[data-v-b329ee4c]{border:none;background-color:transparent;opacity:0}.resize-observer[data-v-b329ee4c],.resize-observer[data-v-b329ee4c] object{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;pointer-events:none;display:block;overflow:hidden}.navigator-card.filter-on-top .filter-wrapper[data-v-1543892a]{order:1;position:static}.navigator-card.filter-on-top .card-body[data-v-1543892a]{order:2}.no-items-wrapper[data-v-1543892a]{overflow:hidden;color:var(--color-figure-gray-tertiary)}.no-items-wrapper .no-items[data-v-1543892a]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding:var(--card-vertical-spacing) var(--card-horizontal-spacing);min-width:200px;box-sizing:border-box}.navigator-filter[data-v-1543892a]{box-sizing:border-box;padding:15px var(--nav-filter-horizontal-padding);border-top:1px solid var(--color-grid);height:71px;display:flex;align-items:flex-end}.filter-on-top .navigator-filter[data-v-1543892a]{border-top:none;align-items:flex-start}@supports (padding:max(0px)){.navigator-filter[data-v-1543892a]{padding-left:max(var(--nav-filter-horizontal-padding),env(safe-area-inset-left));padding-right:max(var(--nav-filter-horizontal-padding),env(safe-area-inset-right))}}@media only screen and (max-width:1023px){.navigator-filter[data-v-1543892a]{--nav-filter-horizontal-padding:20px;border:none;padding-top:10px;padding-bottom:10px;height:60px}}.navigator-filter .input-wrapper[data-v-1543892a]{position:relative;flex:1;min-width:0}.navigator-filter .filter-component[data-v-1543892a]{--input-vertical-padding:8px;--input-height:22px;--input-border-color:var(--color-grid);--input-text:var(--color-figure-gray-secondary)}.navigator-filter .filter-component[data-v-1543892a] .filter__input{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.scroller[data-v-1543892a]{height:100%;box-sizing:border-box;padding:var(--card-vertical-spacing) 0;padding-bottom:calc(var(--top-offset, 0px) + var(--card-vertical-spacing));transition:padding-bottom .15s ease-in}@media only screen and (max-width:1023px){.scroller[data-v-1543892a]{padding-bottom:10em}}.scroller[data-v-1543892a] .vue-recycle-scroller__item-wrapper{transform:translateZ(0)}.filter-wrapper[data-v-1543892a]{position:sticky;bottom:0;background:var(--color-fill)}.sidebar-transitioning .filter-wrapper[data-v-1543892a]{flex:1 0 71px;overflow:hidden}@media only screen and (max-width:1023px){.sidebar-transitioning .filter-wrapper[data-v-1543892a]{flex-basis:60px}}.loader[data-v-0de29914]{height:.70588rem;background-color:var(--color-fill-gray-tertiary);border-radius:4px}.navigator-icon[data-v-0de29914]{width:16px;height:16px;border-radius:2px;background-color:var(--color-fill-gray-tertiary)}.loading-navigator-item[data-v-0de29914]{-webkit-animation:pulse 2.5s ease;animation:pulse 2.5s ease;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0;-webkit-animation-delay:calc(var(--visibility-delay) + 0.3s*var(--index));animation-delay:calc(var(--visibility-delay) + 0.3s*var(--index))}.delay-visibility-enter-active[data-v-4b6d345f]{transition:visibility var(--visibility-delay);visibility:hidden}.loading-navigator[data-v-4b6d345f]{padding-top:var(--card-vertical-spacing)}.navigator[data-v-159b9764]{height:100%;display:flex;flex-flow:column}@media only screen and (max-width:1023px){.navigator[data-v-159b9764]{position:static;transition:none}}.hierarchy-collapsed-items[data-v-74906830]{position:relative;display:inline-flex;align-items:center;margin-left:.17647rem}.hierarchy-collapsed-items .hierarchy-item-icon[data-v-74906830]{width:9px;height:15px;margin-right:.17647rem;display:flex;justify-content:center;font-size:1em;align-self:baseline}.nav--in-breakpoint-range .hierarchy-collapsed-items[data-v-74906830]{display:none}.hierarchy-collapsed-items .toggle[data-v-74906830]{background:var(--color-nav-hierarchy-collapse-background);border-color:var(--color-nav-hierarchy-collapse-borders);border-radius:var(--border-radius,4px);border-style:solid;border-width:0;font-weight:600;height:1.11765rem;text-align:center;width:2.11765rem;display:flex;align-items:center;justify-content:center}.theme-dark .hierarchy-collapsed-items .toggle[data-v-74906830]{background:var(--color-nav-dark-hierarchy-collapse-background)}.hierarchy-collapsed-items .toggle.focused[data-v-74906830],.hierarchy-collapsed-items .toggle[data-v-74906830]:active,.hierarchy-collapsed-items .toggle[data-v-74906830]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none}.indicator[data-v-74906830]{width:1em;height:1em;display:flex;align-items:center}.indicator .toggle-icon[data-v-74906830]{width:100%}.dropdown[data-v-74906830]{background:var(--color-nav-hierarchy-collapse-background);border-color:var(--color-nav-hierarchy-collapse-borders);border-radius:var(--border-radius,4px);border-style:solid;box-shadow:0 1px 4px -1px var(--color-figure-gray-secondary);border-width:0;padding:0 .5rem;position:absolute;z-index:42;top:calc(100% + .41176rem)}.theme-dark .dropdown[data-v-74906830]{background:var(--color-nav-dark-hierarchy-collapse-background);border-color:var(--color-nav-dark-hierarchy-collapse-borders)}.dropdown.collapsed[data-v-74906830]{opacity:0;transform:translate3d(0,-.41176rem,0);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;visibility:hidden}.dropdown[data-v-74906830]:not(.collapsed){opacity:1;transform:none;transition:opacity .25s ease,transform .25s ease,visibility 0s linear 0s;visibility:visible}.nav--in-breakpoint-range .dropdown[data-v-74906830]:not(.collapsed){display:none}.dropdown[data-v-74906830]:before{border-bottom-color:var(--color-nav-hierarchy-collapse-background);border-bottom-style:solid;border-bottom-width:.5rem;border-left-color:transparent;border-left-style:solid;border-left-width:.5rem;border-right-color:transparent;border-right-style:solid;border-right-width:.5rem;content:"";left:1.26471rem;position:absolute;top:-.44118rem}.theme-dark .dropdown[data-v-74906830]:before{border-bottom-color:var(--color-nav-dark-hierarchy-collapse-background)}.dropdown-item[data-v-74906830]{border-top-color:var(--color-nav-hierarchy-collapse-borders);border-top-style:solid;border-top-width:1px}.theme-dark .dropdown-item[data-v-74906830]{border-top-color:var(--color-nav-dark-hierarchy-collapse-borders)}.dropdown-item[data-v-74906830]:first-child{border-top:none}.nav-menu-link[data-v-74906830]{max-width:57.64706rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;padding:.75rem 1rem}.hierarchy-item[data-v-382bf39e]{display:flex;align-items:center;margin-left:.17647rem}.hierarchy-item[data-v-382bf39e] .hierarchy-item-icon{width:9px;height:15px;margin-right:.17647rem;display:flex;justify-content:center;font-size:1em;align-self:baseline}.nav--in-breakpoint-range .hierarchy-item[data-v-382bf39e] .hierarchy-item-icon{display:none}.nav--in-breakpoint-range .hierarchy-item[data-v-382bf39e]{border-top:1px solid var(--color-nav-hierarchy-item-borders);display:flex;align-items:center}.theme-dark.nav--in-breakpoint-range .hierarchy-item[data-v-382bf39e]{border-top-color:var(--color-nav-dark-hierarchy-item-borders)}.nav--in-breakpoint-range .hierarchy-item[data-v-382bf39e]:first-of-type{border-top:none}.hierarchy-item.collapsed[data-v-382bf39e]{display:none}.nav--in-breakpoint-range .hierarchy-item.collapsed[data-v-382bf39e]{display:inline-block}.item[data-v-382bf39e]{display:inline-block;vertical-align:middle}.nav--in-breakpoint-range .item[data-v-382bf39e]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:100%;line-height:2.47059rem}@media only screen and (min-width:768px){.hierarchy-item:first-child:last-child .item[data-v-382bf39e],.hierarchy-item:first-child:last-child~.hierarchy-item .item[data-v-382bf39e]{max-width:45rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:last-child .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:last-child~.hierarchy-item .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(2) .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(2)~.hierarchy-item .item[data-v-382bf39e]{max-width:36rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:nth-last-child(2) .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:nth-last-child(2)~.hierarchy-item .item[data-v-382bf39e]{max-width:28.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-item:first-child:nth-last-child(3) .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(3)~.hierarchy-item .item[data-v-382bf39e]{max-width:27rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:nth-last-child(3) .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:nth-last-child(3)~.hierarchy-item .item[data-v-382bf39e]{max-width:21.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-item:first-child:nth-last-child(4) .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(4)~.hierarchy-item .item[data-v-382bf39e]{max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:nth-last-child(4) .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:nth-last-child(4)~.hierarchy-item .item[data-v-382bf39e]{max-width:14.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-item:first-child:nth-last-child(5) .item[data-v-382bf39e],.hierarchy-item:first-child:nth-last-child(5)~.hierarchy-item .item[data-v-382bf39e]{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-badge .hierarchy-item:first-child:nth-last-child(5) .item[data-v-382bf39e],.has-badge .hierarchy-item:first-child:nth-last-child(5)~.hierarchy-item .item[data-v-382bf39e]{max-width:7.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-collapsed-items~.hierarchy-item .item[data-v-382bf39e]{max-width:10.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-collapsed-items~.hierarchy-item:last-child .item[data-v-382bf39e]{max-width:none}.has-badge .hierarchy-collapsed-items~.hierarchy-item .item[data-v-382bf39e]{max-width:8.64rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.hierarchy[data-v-c2bd6086]{justify-content:flex-start;min-width:0;margin-right:80px}.nav--in-breakpoint-range .hierarchy[data-v-c2bd6086]{margin-right:0}.hierarchy .root-hierarchy .item[data-v-c2bd6086]{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-menu-setting-label[data-v-d12167e0]{margin-right:.35294rem;white-space:nowrap}.language-container[data-v-d12167e0]{flex:1 0 auto}.language-dropdown[data-v-d12167e0]{-webkit-text-size-adjust:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background-color:transparent;box-sizing:inherit;padding:0 11px 0 4px;margin-left:-4px;font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);cursor:pointer;position:relative;z-index:1}@media only screen and (max-width:1023px){.language-dropdown[data-v-d12167e0]{font-size:.82353rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.language-dropdown[data-v-d12167e0]:focus{outline:none}.fromkeyboard .language-dropdown[data-v-d12167e0]:focus{outline:4px solid var(--color-focus-color);outline-offset:1px}.language-sizer[data-v-d12167e0]{position:absolute;opacity:0;pointer-events:none;padding:0}.language-toggle-container[data-v-d12167e0]{display:flex;align-items:center;padding-right:.17647rem;position:relative}.nav--in-breakpoint-range .language-toggle-container[data-v-d12167e0]{display:none}.language-toggle-container .toggle-icon[data-v-d12167e0]{width:.6em;height:.6em;position:absolute;right:7px}.language-toggle-label[data-v-d12167e0]{margin-right:2px}.language-toggle.nav-menu-toggle-label[data-v-d12167e0]{margin-right:6px}.language-list[data-v-d12167e0]{display:inline-block;margin-top:0}.language-list-container[data-v-d12167e0]{display:none}.language-list-item[data-v-d12167e0],.nav--in-breakpoint-range .language-list-container[data-v-d12167e0]{display:inline-block}.language-list-item[data-v-d12167e0]:not(:first-child){border-left:1px solid #424242;margin-left:6px;padding-left:6px}[data-v-138d523a] .nav-menu{line-height:1.5}[data-v-138d523a] .nav-menu,[data-v-138d523a] .nav-menu-settings{font-size:.82353rem;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}[data-v-138d523a] .nav-menu-settings{min-width:0;line-height:1.28571}@media only screen and (max-width:1023px){[data-v-138d523a] .nav-menu-settings{font-size:.82353rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (min-width:1024px){[data-v-138d523a] .nav-menu-settings{margin-left:.58824rem}}.nav--in-breakpoint-range[data-v-138d523a] .nav-menu-settings:not([data-previous-menu-children-count="0"]) .nav-menu-setting:first-child{border-top:1px solid #b0b0b0;display:flex;align-items:center}[data-v-138d523a] .nav-menu-settings .nav-menu-setting{display:flex;align-items:center;color:var(--color-nav-current-link);margin-left:0;min-width:0}[data-v-138d523a] .nav-menu-settings .nav-menu-setting:first-child:not(:only-child){margin-right:.58824rem}.nav--in-breakpoint-range[data-v-138d523a] .nav-menu-settings .nav-menu-setting:first-child:not(:only-child){margin-right:0}.theme-dark[data-v-138d523a] .nav-menu-settings .nav-menu-setting{color:var(--color-nav-dark-current-link)}.nav--in-breakpoint-range[data-v-138d523a] .nav-menu-settings .nav-menu-setting:not(:first-child){border-top:1px solid #424242}.documentation-nav[data-v-138d523a] .nav-title{font-size:.82353rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.documentation-nav[data-v-138d523a] .nav-title .nav-title-link.inactive{height:auto;color:var(--color-figure-gray-secondary-alt)}.theme-dark.documentation-nav .nav-title .nav-title-link.inactive[data-v-138d523a]{color:#b0b0b0}.sidenav-toggle-wrapper[data-v-138d523a]{display:flex;margin-top:1px}.nav--in-breakpoint-range .sidenav-toggle-wrapper[data-v-138d523a]{display:flex!important}@media only screen and (min-width:1024px){.sidenav-toggle-enter-active[data-v-138d523a],.sidenav-toggle-leave-active[data-v-138d523a]{transition:margin .3s ease-in 0s}.sidenav-toggle-enter[data-v-138d523a],.sidenav-toggle-leave-to[data-v-138d523a]{margin-left:-3.76471rem}}.sidenav-toggle[data-v-138d523a]{align-self:center;color:var(--color-nav-link-color);position:relative;margin:-5px}.theme-dark .sidenav-toggle[data-v-138d523a]{color:var(--color-nav-dark-link-color)}.sidenav-toggle:hover .sidenav-icon-wrapper[data-v-138d523a]{background:var(--color-fill-gray-quaternary)}.theme-dark .sidenav-toggle:hover .sidenav-icon-wrapper[data-v-138d523a]{background:#424242}.sidenav-toggle__separator[data-v-138d523a]{height:.8em;width:1px;background:var(--color-nav-color);align-self:center;margin:0 1.29412rem}.nav--in-breakpoint-range .sidenav-toggle[data-v-138d523a]{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;align-self:stretch}.nav--in-breakpoint-range .sidenav-toggle__separator[data-v-138d523a]{display:none}.sidenav-icon-wrapper[data-v-138d523a]{padding:5px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius,4px)}.sidenav-icon[data-v-138d523a]{display:flex;width:19px;height:19px}[data-v-4a89caca] .generic-modal{overflow-y:overlay}[data-v-4a89caca] .modal-fullscreen>.container{background-color:transparent;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;flex:auto;margin:9.41176rem 0;max-width:47.05882rem;overflow:visible}[data-v-4a89caca] .navigator-filter .quick-navigation-open{margin-left:var(--nav-filter-horizontal-padding);width:calc(var(--nav-filter-horizontal-padding)*2)}.doc-topic-view[data-v-4a89caca]{--delay:1s;display:flex;flex-flow:column;background:var(--colors-text-background,var(--color-text-background))}.doc-topic-view .delay-hiding-leave-active[data-v-4a89caca]{transition:display var(--delay)}.doc-topic-aside[data-v-4a89caca]{height:100%;box-sizing:border-box;border-right:1px solid var(--color-grid)}@media only screen and (max-width:1023px){.doc-topic-aside[data-v-4a89caca]{background:var(--color-fill);border-right:none}.sidebar-transitioning .doc-topic-aside[data-v-4a89caca]{border-right:1px solid var(--color-grid)}}.topic-wrapper[data-v-4a89caca]{flex:1 1 auto;width:100%}.full-width-container[data-v-4a89caca]{max-width:1920px;margin-left:auto;margin-right:auto}@media only screen and (min-width:1920px){.full-width-container[data-v-4a89caca]{border-left:1px solid var(--color-grid);border-right:1px solid var(--color-grid);box-sizing:border-box}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/css/documentation-topic~topic.b6287bcf.css b/document/MixSdk.doccarchive/css/documentation-topic~topic.b6287bcf.css
new file mode 100644 (file)
index 0000000..d2a4800
--- /dev/null
@@ -0,0 +1,9 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.generic-modal[data-v-795f7b59]{position:fixed;top:0;left:0;right:0;bottom:0;margin:0;z-index:11000;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;background:none;overflow:auto}.modal-fullscreen[data-v-795f7b59]{align-items:stretch}.modal-fullscreen .container[data-v-795f7b59]{margin:0;flex:1;width:100%;height:100%;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.modal-standard[data-v-795f7b59]{padding:20px}.modal-standard .container[data-v-795f7b59]{padding:60px;border-radius:var(--border-radius,4px)}@media screen{[data-color-scheme=dark] .modal-standard .container[data-v-795f7b59]{background:#1d1d1f}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .modal-standard .container[data-v-795f7b59]{background:#1d1d1f}}@media only screen and (max-width:735px){.modal-standard[data-v-795f7b59]{padding:0;align-items:stretch}.modal-standard .container[data-v-795f7b59]{margin:20px 0 0;padding:50px 30px;flex:1;width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0}}.backdrop[data-v-795f7b59]{overflow:auto;background:var(--backdrop-background,rgba(0,0,0,.4));-webkit-overflow-scrolling:touch;width:100%;height:100%;position:fixed}.container[data-v-795f7b59]{margin-left:auto;margin-right:auto;width:980px;background:var(--colors-generic-modal-background,var(--color-generic-modal-background));z-index:1;position:relative;overflow:auto;max-width:100%}@media only screen and (max-width:1250px){.container[data-v-795f7b59]{width:692px}}@media only screen and (max-width:735px){.container[data-v-795f7b59]{width:87.5%}}@media only screen and (max-width:320px){.container[data-v-795f7b59]{width:215px}}.close[data-v-795f7b59]{position:absolute;z-index:9999;top:22px;left:22px;width:17px;height:17px;color:#666;cursor:pointer;background:none;border:0;display:flex;align-items:center}.close .close-icon[data-v-795f7b59]{fill:currentColor;width:100%;height:100%}.theme-dark .container[data-v-795f7b59]{background:#000}.theme-dark .container .close[data-v-795f7b59]{color:#b0b0b0}.theme-code .container[data-v-795f7b59]{background-color:var(--code-background,var(--color-code-background))}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/css/documentation-topic~topic~tutorials-overview.d6f5411c.css b/document/MixSdk.doccarchive/css/documentation-topic~topic~tutorials-overview.d6f5411c.css
new file mode 100644 (file)
index 0000000..f81c8dc
--- /dev/null
@@ -0,0 +1,9 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */aside[data-v-3ccce809]{-moz-column-break-inside:avoid;break-inside:avoid;border-radius:var(--aside-border-radius,var(--border-radius,4px));border-style:var(--aside-border-style,solid);border-width:var(--aside-border-width,0 0 0 6px);padding:.94118rem;text-align:start}aside .label[data-v-3ccce809]{font-size:1rem;line-height:1.52941;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}aside .label+[data-v-3ccce809]{margin-top:var(--spacing-stacked-margin-small)}aside.deprecated[data-v-3ccce809]{background-color:var(--color-aside-deprecated-background);border-color:var(--color-aside-deprecated-border);box-shadow:0 0 0 0 var(--color-aside-deprecated-border) inset,0 0 0 0 var(--color-aside-deprecated-border)}aside.deprecated .label[data-v-3ccce809]{color:var(--color-aside-deprecated)}aside.experiment[data-v-3ccce809]{background-color:var(--color-aside-experiment-background);border-color:var(--color-aside-experiment-border);box-shadow:0 0 0 0 var(--color-aside-experiment-border) inset,0 0 0 0 var(--color-aside-experiment-border)}aside.experiment .label[data-v-3ccce809]{color:var(--color-aside-experiment)}aside.important[data-v-3ccce809]{background-color:var(--color-aside-important-background);border-color:var(--color-aside-important-border);box-shadow:0 0 0 0 var(--color-aside-important-border) inset,0 0 0 0 var(--color-aside-important-border)}aside.important .label[data-v-3ccce809]{color:var(--color-aside-important)}aside.note[data-v-3ccce809]{background-color:var(--color-aside-note-background);border-color:var(--color-aside-note-border);box-shadow:0 0 0 0 var(--color-aside-note-border) inset,0 0 0 0 var(--color-aside-note-border)}aside.note .label[data-v-3ccce809]{color:var(--color-aside-note)}aside.tip[data-v-3ccce809]{background-color:var(--color-aside-tip-background);border-color:var(--color-aside-tip-border);box-shadow:0 0 0 0 var(--color-aside-tip-border) inset,0 0 0 0 var(--color-aside-tip-border)}aside.tip .label[data-v-3ccce809]{color:var(--color-aside-tip)}aside.warning[data-v-3ccce809]{background-color:var(--color-aside-warning-background);border-color:var(--color-aside-warning-border);box-shadow:0 0 0 0 var(--color-aside-warning-border) inset,0 0 0 0 var(--color-aside-warning-border)}aside.warning .label[data-v-3ccce809]{color:var(--color-aside-warning)}code[data-v-08295b2f]:before{content:attr(data-before-code)}code[data-v-08295b2f]:after{content:attr(data-after-code)}code[data-v-08295b2f]:after,code[data-v-08295b2f]:before{display:block;position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}.swift-file-icon.file-icon[data-v-c01a6890]{height:1rem}.file-icon[data-v-7c381064]{position:relative;align-items:flex-end;height:24px;margin:0 .5rem 0 1rem}.filename[data-v-c8c40662]{color:var(--text,var(--colors-secondary-label,var(--color-secondary-label)));font-size:.94118rem;line-height:1.1875;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-top:1rem}@media only screen and (max-width:735px){.filename[data-v-c8c40662]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-top:0}}.filename>a[data-v-c8c40662],.filename>span[data-v-c8c40662]{display:flex;align-items:center;line-height:normal}a[data-v-c8c40662]{color:var(--url,var(--color-link))}.code-line-container[data-v-59f42f5b]{display:inline-block;width:100%;box-sizing:border-box}.code-number[data-v-59f42f5b]{display:inline-block;padding:0 1rem 0 8px;text-align:right;min-width:2em;color:#666;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-number[data-v-59f42f5b]:before{content:attr(data-line-number)}.highlighted[data-v-59f42f5b]{background:var(--line-highlight,var(--color-code-line-highlight));border-left:4px solid var(--color-code-line-highlight-border)}.highlighted .code-number[data-v-59f42f5b]{padding-left:4px}pre[data-v-59f42f5b]{padding:14px 0;display:flex;overflow:unset;-webkit-overflow-scrolling:touch;white-space:pre;word-wrap:normal;height:100%}@media only screen and (max-width:735px){pre[data-v-59f42f5b]{padding-top:.82353rem}}code[data-v-59f42f5b]{white-space:pre;word-wrap:normal;flex-grow:9999}.code-listing[data-v-59f42f5b],.container-general[data-v-59f42f5b]{display:flex}.code-listing[data-v-59f42f5b]{flex-direction:column;min-height:100%;border-radius:var(--code-border-radius,var(--border-radius,4px));overflow:hidden;filter:blur(0)}.code-listing.single-line[data-v-59f42f5b]{border-radius:var(--border-radius,4px)}.container-general[data-v-59f42f5b]{overflow:auto}.container-general[data-v-59f42f5b],pre[data-v-59f42f5b]{flex-grow:1}.header-anchor[data-v-6007a8a4]{color:inherit;text-decoration:none;position:relative;padding-right:23px;display:inline-block}.header-anchor .icon[data-v-6007a8a4]{position:absolute;right:0;bottom:.2em;display:none;height:16px;margin-left:7px}.header-anchor:focus .icon[data-v-6007a8a4],.header-anchor:hover .icon[data-v-6007a8a4]{display:inline}code[data-v-05f4a5b7]{speak-punctuation:code}.container-general[data-v-25a17a0e]{display:flex;flex-flow:row wrap}.container-general .code-line[data-v-25a17a0e]{flex:1 0 auto}.code-line-container[data-v-25a17a0e]{width:100%;align-items:center;display:flex;border-left:4px solid transparent;counter-increment:linenumbers;padding-right:14px}.code-number[data-v-25a17a0e]{font-size:.70588rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace);padding:0 1rem 0 8px;text-align:right;min-width:2.01em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-number[data-v-25a17a0e]:before{content:counter(linenumbers)}.code-line[data-v-25a17a0e]{display:flex}pre[data-v-25a17a0e]{padding:14px 0;display:flex;flex-flow:row wrap;overflow:auto;-webkit-overflow-scrolling:touch;white-space:pre;word-wrap:normal}@media only screen and (max-width:735px){pre[data-v-25a17a0e]{padding-top:.82353rem}}.collapsible-code-listing[data-v-25a17a0e]{background:var(--background,var(--color-code-background));border-color:var(--colors-grid,var(--color-grid));color:var(--text,var(--color-code-plain));border-radius:var(--border-radius,4px);border-style:solid;border-width:1px;counter-reset:linenumbers;font-size:15px}.collapsible-code-listing.single-line[data-v-25a17a0e]{border-radius:var(--border-radius,4px)}.collapsible[data-v-25a17a0e]{background:var(--color-code-collapsible-background);color:var(--color-code-collapsible-text)}.collapsed[data-v-25a17a0e]:before{content:"⋯";display:inline-block;font-family:monospace;font-weight:700;height:100%;line-height:1;text-align:right;width:2.3rem}.collapsed .code-line-container[data-v-25a17a0e]{height:0;visibility:hidden}.row[data-v-be73599c]{box-sizing:border-box;display:flex;flex-flow:row wrap}.col[data-v-2ee3ad8b]{box-sizing:border-box;flex:none}.xlarge-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.xlarge-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.xlarge-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.xlarge-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.xlarge-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.xlarge-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.xlarge-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.xlarge-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.xlarge-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.xlarge-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.xlarge-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.xlarge-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.xlarge-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.xlarge-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}.large-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.large-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.large-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.large-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.large-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.large-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.large-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.large-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.large-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.large-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.large-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.large-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.large-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.large-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}@media only screen and (max-width:1250px){.medium-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.medium-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.medium-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.medium-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.medium-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.medium-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.medium-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.medium-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.medium-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.medium-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.medium-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.medium-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.medium-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.medium-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}}@media only screen and (max-width:735px){.small-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.small-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.small-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.small-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.small-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.small-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.small-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.small-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.small-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.small-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.small-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.small-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.small-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.small-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}}@media only screen and (max-width:320px){.xsmall-1[data-v-2ee3ad8b]{flex-basis:8.33333%;max-width:8.33333%}.xsmall-2[data-v-2ee3ad8b]{flex-basis:16.66667%;max-width:16.66667%}.xsmall-3[data-v-2ee3ad8b]{flex-basis:25%;max-width:25%}.xsmall-4[data-v-2ee3ad8b]{flex-basis:33.33333%;max-width:33.33333%}.xsmall-5[data-v-2ee3ad8b]{flex-basis:41.66667%;max-width:41.66667%}.xsmall-6[data-v-2ee3ad8b]{flex-basis:50%;max-width:50%}.xsmall-7[data-v-2ee3ad8b]{flex-basis:58.33333%;max-width:58.33333%}.xsmall-8[data-v-2ee3ad8b]{flex-basis:66.66667%;max-width:66.66667%}.xsmall-9[data-v-2ee3ad8b]{flex-basis:75%;max-width:75%}.xsmall-10[data-v-2ee3ad8b]{flex-basis:83.33333%;max-width:83.33333%}.xsmall-11[data-v-2ee3ad8b]{flex-basis:91.66667%;max-width:91.66667%}.xsmall-12[data-v-2ee3ad8b]{flex-basis:100%;max-width:100%}.xsmall-centered[data-v-2ee3ad8b]{margin-left:auto;margin-right:auto}.xsmall-uncentered[data-v-2ee3ad8b]{margin-left:0;margin-right:0}}.tabnav[data-v-5283512a]{margin:0 0 1.47059rem 0;display:flex}.tabnav--center[data-v-5283512a]{justify-content:center}.tabnav--end[data-v-5283512a]{justify-content:flex-end}.tabnav--vertical[data-v-5283512a]{flex-flow:column wrap}.tabnav--vertical .tabnav-items[data-v-5283512a]{flex-flow:column;overflow:hidden}.tabnav--vertical[data-v-5283512a] .tabnav-item{padding-left:0}.tabnav--vertical[data-v-5283512a] .tabnav-item .tabnav-link{padding-top:8px}.tabnav-items[data-v-5283512a]{display:flex;margin:0;text-align:center}.tabnav-item[data-v-6aa9882a]{border-bottom:1px solid;border-color:var(--colors-tabnav-item-border-color,var(--color-tabnav-item-border-color));display:flex;list-style:none;padding-left:1.76471rem;margin:0;outline:none}.tabnav-item[data-v-6aa9882a]:first-child{padding-left:0}.tabnav-item[data-v-6aa9882a]:nth-child(n+1){margin:0}.tabnav-link[data-v-6aa9882a]{color:var(--colors-secondary-label,var(--color-secondary-label));font-size:.82353rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding:6px 0;margin-top:4px;margin-bottom:4px;text-align:left;text-decoration:none;display:block;position:relative;z-index:0;width:100%}.tabnav-link[data-v-6aa9882a]:hover{text-decoration:none}.tabnav-link[data-v-6aa9882a]:focus{outline-offset:-1px}.tabnav-link[data-v-6aa9882a]:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;border:1px solid transparent}.tabnav-link.active[data-v-6aa9882a]{color:var(--colors-text,var(--color-text));cursor:default;z-index:10}.tabnav-link.active[data-v-6aa9882a]:after{border-bottom-color:var(--colors-text,var(--color-text))}.controls[data-v-c84e62a6]{margin-top:5px;font-size:14px;display:flex;justify-content:flex-end}.controls a[data-v-c84e62a6]{color:var(--colors-text,var(--color-text));display:flex;align-items:center}.controls .control-icon[data-v-c84e62a6]{width:1.05em;margin-right:.3em}.caption[data-v-1b76f4e0]{font-size:.82353rem;line-height:1.5;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin:0 0 var(--spacing-stacked-margin-large) 0}.caption.trailing[data-v-1b76f4e0]{margin:var(--spacing-stacked-margin-large) 0 0 0;text-align:center}caption.trailing[data-v-1b76f4e0]{caption-side:bottom}[data-v-1b76f4e0] p{display:inline-block}[data-v-3a939631] img{max-width:100%}.table-wrapper[data-v-5ed73c89]{overflow:auto;-webkit-overflow-scrolling:touch}*+.table-wrapper[data-v-5ed73c89],.table-wrapper[data-v-5ed73c89]+*{margin-top:var(--spacing-stacked-margin-xlarge)}table[data-v-5ed73c89]{border-style:hidden}[data-v-5ed73c89] th{font-weight:600;word-break:keep-all;-webkit-hyphens:auto;hyphens:auto}[data-v-5ed73c89] td,[data-v-5ed73c89] th{border-color:var(--color-fill-gray-tertiary);border-style:solid;border-width:var(--table-border-width,1px 1px);padding:.58824rem}[data-v-5ed73c89] td.left-cell,[data-v-5ed73c89] th.left-cell{text-align:left}[data-v-5ed73c89] td.right-cell,[data-v-5ed73c89] th.right-cell{text-align:right}[data-v-5ed73c89] td.center-cell,[data-v-5ed73c89] th.center-cell{text-align:center}s[data-v-7fc51673]:before{content:attr(data-before-text)}s[data-v-7fc51673]:after{content:attr(data-after-text)}s[data-v-7fc51673]:after,s[data-v-7fc51673]:before{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}small[data-v-77035f61]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray)}.device-frame[data-v-28ae8fd3]{position:relative;width:var(--frame-width);aspect-ratio:var(--frame-aspect);max-width:100%;margin-left:auto;margin-right:auto;overflow:hidden}*+.device-frame[data-v-28ae8fd3],.device-frame[data-v-28ae8fd3]+*{margin-top:40px}.device[data-v-28ae8fd3]{background-image:var(--device-light-url);background-repeat:no-repeat;background-size:100%;width:100%;height:100%;position:relative;pointer-events:none}@media screen{[data-color-scheme=dark] .device[data-v-28ae8fd3]{background-image:var(--device-dark-url,var(--device-light-url))}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .device[data-v-28ae8fd3]{background-image:var(--device-dark-url,var(--device-light-url))}}.no-device .device[data-v-28ae8fd3]{display:none}.device-screen.with-device[data-v-28ae8fd3]{position:absolute;left:var(--screen-left);top:var(--screen-top);height:var(--screen-height);width:var(--screen-width);display:flex}.device-screen.with-device>[data-v-28ae8fd3]{flex:1}.device-screen.with-device[data-v-28ae8fd3] img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top;margin:0}.device-screen.with-device[data-v-28ae8fd3] video{-o-object-fit:contain;object-fit:contain;-o-object-position:top;object-position:top;width:100%;height:auto}.video-replay-container .control-button[data-v-7653dfd0]{display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:.5rem;-webkit-tap-highlight-color:transparent}.video-replay-container .control-button svg.control-icon[data-v-7653dfd0]{height:12px;width:12px;margin-left:.3em}[data-v-dcbc7b38] img,[data-v-dcbc7b38] video{display:block;margin-left:auto;margin-right:auto;-o-object-fit:contain;object-fit:contain;max-width:100%}.asset[data-v-035a093f]{margin-left:auto;margin-right:auto}*+.asset[data-v-035a093f],.asset[data-v-035a093f]+*{margin-top:var(--spacing-stacked-margin-xlarge)}[data-v-035a093f] video{display:block;margin-left:auto;margin-right:auto;-o-object-fit:contain;object-fit:contain;max-width:100%}.column[data-v-0f654188]{grid-column:span var(--col-span);min-width:0}@media only screen and (max-width:735px){.column[data-v-0f654188]{grid-column:span 1}}.row[data-v-1bcb2d0f]{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:var(--col-gap,20px)}@media only screen and (max-width:735px){.row[data-v-1bcb2d0f]{grid-template-columns:1fr;grid-auto-flow:row}}.row.with-columns[data-v-1bcb2d0f]{--col-count:var(--col-count-large);grid-template-columns:repeat(var(--col-count),1fr);grid-auto-flow:row}@media only screen and (max-width:1250px){.row.with-columns[data-v-1bcb2d0f]{--col-count:var(--col-count-medium,var(--col-count-large))}}@media only screen and (max-width:735px){.row.with-columns[data-v-1bcb2d0f]{--col-count:var(--col-count-small)}}*+.row[data-v-1bcb2d0f],*+.TabNavigator[data-v-e671a734],.row[data-v-1bcb2d0f]+*,.TabNavigator[data-v-e671a734]+*{margin-top:var(--spacing-stacked-margin-xlarge)}.TabNavigator .tabnav[data-v-e671a734]{overflow:auto;white-space:nowrap}.TabNavigator .tabs-content-container[data-v-e671a734]{position:relative;overflow:hidden}.tabs--vertical[data-v-e671a734]{display:flex;flex-flow:row-reverse}@media only screen and (max-width:735px){.tabs--vertical[data-v-e671a734]{flex-flow:column-reverse}}.tabs--vertical .tabnav[data-v-e671a734]{width:30%;flex:0 0 auto;white-space:normal;margin:0}@media only screen and (max-width:735px){.tabs--vertical .tabnav[data-v-e671a734]{width:100%}}.tabs--vertical .tabs-content[data-v-e671a734]{flex:1 1 auto;min-width:0;padding-right:var(--spacing-stacked-margin-xlarge)}@media only screen and (max-width:735px){.tabs--vertical .tabs-content[data-v-e671a734]{padding-right:0;padding-bottom:var(--spacing-stacked-margin-large)}}.fade-enter-active[data-v-e671a734],.fade-leave-active[data-v-e671a734]{transition:opacity .2s ease-in-out}.fade-enter[data-v-e671a734],.fade-leave-to[data-v-e671a734]{opacity:0}.fade-leave-active[data-v-e671a734]{position:absolute;top:0;left:0;right:0}.tasklist[data-v-6a56a858]{--checkbox-width:1rem;--indent-width:calc(var(--checkbox-width)/2);--content-margin:var(--indent-width);list-style-type:none;margin-left:var(--indent-width)}p[data-v-6a56a858]{margin-left:var(--content-margin)}p[data-v-6a56a858]:only-child{--content-margin:calc(var(--checkbox-width) + var(--indent-width))}input[type=checkbox]+p[data-v-6a56a858]{display:inline-block}.button-cta[data-v-c9c81868]{background:var(--colors-button-light-background,var(--color-button-background));border-color:var(--color-button-border,currentcolor);border-radius:var(--button-border-radius,var(--border-radius,4px));border-style:var(--button-border-style,none);border-width:var(--button-border-width,medium);color:var(--colors-button-text,var(--color-button-text));cursor:pointer;min-width:1.76471rem;padding:.23529rem .88235rem;text-align:center;white-space:nowrap;display:inline-block;font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.button-cta[data-v-c9c81868]:active{background:var(--colors-button-light-backgroundActive,var(--color-button-background-active));outline:none}.button-cta[data-v-c9c81868]:hover:not([disabled]){background:var(--colors-button-light-backgroundHover,var(--color-button-background-hover));text-decoration:none}.button-cta[data-v-c9c81868]:disabled{opacity:.32;cursor:default}.fromkeyboard .button-cta[data-v-c9c81868]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none}.button-cta.is-dark[data-v-c9c81868]{background:var(--colors-button-dark-background,#06f)}.button-cta.is-dark[data-v-c9c81868]:active{background:var(--colors-button-dark-backgroundActive,var(--color-button-background-active))}.button-cta.is-dark[data-v-c9c81868]:hover:not([disabled]){background:var(--colors-button-dark-backgroundHover,var(--color-button-background-hover))}.card-cover-wrap.rounded[data-v-0c1c40a1]{border-radius:var(--border-radius,4px);overflow:hidden}.card-cover[data-v-0c1c40a1]{background-color:var(--color-card-background);display:block;height:var(--card-cover-height,180px)}.card-cover.fallback[data-v-0c1c40a1],.card-cover[data-v-0c1c40a1] img{width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:block;margin:0}.card-cover[data-v-0c1c40a1] img{height:100%}.card[data-v-328d568a]{overflow:hidden;display:block;transition:box-shadow,transform .16s ease-out;will-change:box-shadow,transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;height:var(--card-height);border-radius:var(--border-radius,4px)}.card[data-v-328d568a]:hover{text-decoration:none}.card:hover .link[data-v-328d568a]{text-decoration:underline}.card[data-v-328d568a]:hover{box-shadow:0 5px 10px var(--color-card-shadow);transform:scale(1.007)}@media (prefers-reduced-motion:reduce){.card[data-v-328d568a]:hover{box-shadow:none;transform:none}}.card.small[data-v-328d568a]{--card-height:408px;--card-details-height:139px;--card-cover-height:235px}@media only screen and (max-width:1250px){.card.small[data-v-328d568a]{--card-height:341px;--card-details-height:144px;--card-cover-height:163px}}.card.large[data-v-328d568a]{--card-height:556px;--card-details-height:163px;--card-cover-height:359px}@media only screen and (max-width:1250px){.card.large[data-v-328d568a]{--card-height:420px;--card-details-height:137px;--card-cover-height:249px}}.card.floating-style[data-v-328d568a]{--color-card-shadow:transparent;--card-height:auto;--card-details-height:auto}.details[data-v-328d568a]{background-color:var(--color-card-background);padding:17px;position:relative;height:var(--card-details-height);font-size:.82353rem;line-height:1.28571}.details[data-v-328d568a],.large .details[data-v-328d568a]{font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.large .details[data-v-328d568a]{font-size:1rem;line-height:1.47059}@media only screen and (max-width:1250px){.large .details[data-v-328d568a]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.floating-style .details[data-v-328d568a]{--color-card-background:transparent;padding:17px 0}.eyebrow[data-v-328d568a]{color:var(--color-card-eyebrow);display:block;margin-bottom:4px;font-size:.82353rem;line-height:1.28571}.eyebrow[data-v-328d568a],.large .eyebrow[data-v-328d568a]{font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.large .eyebrow[data-v-328d568a]{font-size:1rem;line-height:1.23529}@media only screen and (max-width:1250px){.large .eyebrow[data-v-328d568a]{font-size:.82353rem;line-height:1.28571;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.title[data-v-328d568a]{color:var(--color-card-content-text);font-size:1rem;line-height:1.23529;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){.title[data-v-328d568a]{font-size:.82353rem;line-height:1.28571;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-328d568a]{font-size:1rem;line-height:1.23529;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.large .title[data-v-328d568a]{font-size:1.23529rem;line-height:1.19048;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){.large .title[data-v-328d568a]{font-size:1rem;line-height:1.23529;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.card-content[data-v-328d568a]{color:var(--color-card-content-text);margin-top:4px}.link[data-v-328d568a]{bottom:17px;display:flex;align-items:center;position:absolute}.link .link-icon[data-v-328d568a]{height:.6em;width:.6em;margin-left:.3em}.floating-style .link[data-v-328d568a]{bottom:unset;margin-top:var(--spacing-stacked-margin-large);position:relative}@media only screen and (max-width:735px){.card[data-v-328d568a]{margin-left:auto;margin-right:auto}.card+.card[data-v-328d568a]{margin-bottom:20px;margin-top:20px}.card.large[data-v-328d568a],.card.small[data-v-328d568a]{--card-height:auto;--card-details-height:auto;min-width:280px;max-width:300px;--card-cover-height:227px}.card.large .link[data-v-328d568a],.card.small .link[data-v-328d568a]{bottom:unset;margin-top:7px;position:relative}}.nav-menu-items[data-v-67c1c0a5]{display:flex;justify-content:flex-end}.nav--in-breakpoint-range .nav-menu-items[data-v-67c1c0a5]{display:block;opacity:0;padding:1rem 1.88235rem 1.64706rem 1.88235rem;transform:translate3d(0,-50px,0);transition:transform 1s cubic-bezier(.07,1.06,.27,.95) .5s,opacity .7s cubic-bezier(.07,1.06,.27,.95) .2s}.nav--is-open.nav--in-breakpoint-range .nav-menu-items[data-v-67c1c0a5]{opacity:1;transform:translateZ(0);transition-delay:.2s,.4s}.nav--in-breakpoint-range .nav-menu-items[data-v-67c1c0a5]:not(:only-child):not(:last-child){padding-bottom:0}.nav--in-breakpoint-range .nav-menu-items[data-v-67c1c0a5]:not(:only-child):last-child{padding-top:0}.TopicTypeIcon[data-v-18b61706]{width:1em;height:1em;flex:0 0 auto;color:var(--icon-color,var(--color-figure-gray-secondary))}.TopicTypeIcon[data-v-18b61706] picture{flex:1}.TopicTypeIcon[data-v-18b61706] img,.TopicTypeIcon svg[data-v-18b61706]{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.nav[data-v-5c0521d3]{position:sticky;top:0;width:100%;height:3.05882rem;z-index:9997;--nav-padding:1.29412rem;color:var(--color-nav-color)}@media print{.nav[data-v-5c0521d3]{position:relative}}@media only screen and (max-width:767px){.nav[data-v-5c0521d3]{min-width:320px;height:2.82353rem}}.theme-dark.nav[data-v-5c0521d3]{background:none;color:var(--color-nav-dark-color)}.nav__wrapper[data-v-5c0521d3]{position:absolute;top:0;left:0;width:100%;height:auto;min-height:100%;z-index:1}.nav__background[data-v-5c0521d3]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1;transition:background-color 0s ease-in}.nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-keyline)}.nav--no-bg-transition .nav__background[data-v-5c0521d3]{transition:none!important}.nav--solid-background .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-solid-background);-webkit-backdrop-filter:none;backdrop-filter:none}.nav--is-open.nav--solid-background .nav__background[data-v-5c0521d3],.nav--is-sticking.nav--solid-background .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-solid-background)}.nav--is-open.theme-dark.nav--solid-background .nav__background[data-v-5c0521d3],.nav--is-sticking.theme-dark.nav--solid-background .nav__background[data-v-5c0521d3],.theme-dark.nav--solid-background .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-solid-background)}.nav--in-breakpoint-range .nav__background[data-v-5c0521d3]{min-height:2.82353rem;transition:background-color 0s ease .7s}.nav--is-sticking .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-expanded);max-height:none;transition:background-color 0s ease;transition-property:background-color,-webkit-backdrop-filter;transition-property:background-color,backdrop-filter;transition-property:background-color,backdrop-filter,-webkit-backdrop-filter}.nav--is-sticking .nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-sticking-expanded-keyline)}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.nav--is-sticking .nav__background[data-v-5c0521d3]{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:var(--color-nav-uiblur-stuck)}}.theme-dark.nav--is-sticking .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-stuck)}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.theme-dark.nav--is-sticking .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-uiblur-stuck)}}.nav--is-open .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-expanded);max-height:none;transition:background-color 0s ease;transition-property:background-color,-webkit-backdrop-filter;transition-property:background-color,backdrop-filter;transition-property:background-color,backdrop-filter,-webkit-backdrop-filter}.nav--is-open .nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-sticking-expanded-keyline)}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.nav--is-open .nav__background[data-v-5c0521d3]{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:var(--color-nav-uiblur-expanded)}}.theme-dark.nav--is-open .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-expanded)}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.theme-dark.nav--is-open .nav__background[data-v-5c0521d3]{background-color:var(--color-nav-dark-uiblur-expanded)}}.theme-dark .nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-dark-keyline)}.nav--is-open.theme-dark .nav__background[data-v-5c0521d3]:after,.nav--is-sticking.theme-dark .nav__background[data-v-5c0521d3]:after{background-color:var(--color-nav-dark-sticking-expanded-keyline)}.nav__background[data-v-5c0521d3]:after{content:"";display:block;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:980px;height:1px;z-index:1}@media only screen and (max-width:1023px){.nav__background[data-v-5c0521d3]:after{width:100%}}.nav--noborder .nav__background[data-v-5c0521d3]:after{display:none}.nav--is-sticking.nav--noborder .nav__background[data-v-5c0521d3]:after{display:block}.nav--fullwidth-border .nav__background[data-v-5c0521d3]:after,.nav--is-open .nav__background[data-v-5c0521d3]:after,.nav--is-sticking .nav__background[data-v-5c0521d3]:after,.nav--solid-background .nav__background[data-v-5c0521d3]:after{width:100%}.nav-overlay[data-v-5c0521d3]{position:fixed;left:0;right:0;top:0;display:block;opacity:0}.nav--is-open .nav-overlay[data-v-5c0521d3]{background-color:rgba(51,51,51,.4);transition:opacity .7s cubic-bezier(.07,1.06,.27,.95) .2s;bottom:0;opacity:1}.nav-wrapper[data-v-5c0521d3]{position:absolute;top:0;left:0;width:100%;height:auto;min-height:100%;z-index:1}.pre-title[data-v-5c0521d3]{display:flex;overflow:hidden;padding-left:1.29412rem;margin-left:-1.29412rem}.pre-title[data-v-5c0521d3]:empty{display:none}.nav--in-breakpoint-range .pre-title[data-v-5c0521d3]{overflow:visible;padding:0;margin-left:0}.nav-content[data-v-5c0521d3]{display:flex;padding:0 var(--nav-padding);max-width:980px;margin:0 auto;position:relative;z-index:2;justify-content:space-between}.nav--is-wide-format .nav-content[data-v-5c0521d3]{box-sizing:border-box;max-width:1920px;margin-left:auto;margin-right:auto}@supports (padding:calc(max(0px))){.nav-content[data-v-5c0521d3]{padding-left:calc(max(var(--nav-padding), env(safe-area-inset-left)));padding-right:calc(max(var(--nav-padding), env(safe-area-inset-right)))}}@media only screen and (max-width:767px){.nav-content[data-v-5c0521d3]{padding:0 0 0 .94118rem}}.nav--in-breakpoint-range .nav-content[data-v-5c0521d3]{display:grid;grid-template-columns:auto 1fr auto;grid-auto-rows:minmax(-webkit-min-content,-webkit-max-content);grid-auto-rows:minmax(min-content,max-content);grid-template-areas:"pre-title title actions" "menu menu menu"}.nav-menu[data-v-5c0521d3]{font-size:.70588rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);flex:1 1 auto;display:flex;min-width:0}@media only screen and (max-width:767px){.nav-menu[data-v-5c0521d3]{font-size:.82353rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.nav--in-breakpoint-range .nav-menu[data-v-5c0521d3]{font-size:.82353rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);grid-area:menu}.nav-menu-tray[data-v-5c0521d3]{width:100%;max-width:100%;align-items:center;display:flex;justify-content:space-between}.nav--in-breakpoint-range .nav-menu-tray[data-v-5c0521d3]{display:block;overflow:hidden;pointer-events:none;visibility:hidden;max-height:0;transition:max-height .4s ease-in 0s,visibility 0s linear 1s}.nav--is-open.nav--in-breakpoint-range .nav-menu-tray[data-v-5c0521d3]{max-height:calc(100vh - 5.64706rem);overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:auto;visibility:visible;transition-delay:.2s,0s}.nav--is-transitioning.nav--is-open.nav--in-breakpoint-range .nav-menu-tray[data-v-5c0521d3]{overflow-y:hidden}.nav--is-sticking.nav--is-open.nav--in-breakpoint-range .nav-menu-tray[data-v-5c0521d3]{max-height:calc(100vh - 2.82353rem)}.nav-actions[data-v-5c0521d3]{display:flex;align-items:center}.nav--in-breakpoint-range .nav-actions[data-v-5c0521d3]{grid-area:actions;justify-content:flex-end}@media only screen and (max-width:767px){.nav-actions[data-v-5c0521d3]{padding-right:.94118rem}}.nav--in-breakpoint-range .pre-title+.nav-title[data-v-5c0521d3]{grid-area:title}.nav--is-wide-format.nav--in-breakpoint-range .pre-title+.nav-title[data-v-5c0521d3]{width:100%;justify-content:center}.nav-title[data-v-5c0521d3]{height:3.05882rem;font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);cursor:default;display:flex;align-items:center;white-space:nowrap;box-sizing:border-box}@media only screen and (max-width:767px){.nav-title[data-v-5c0521d3]{padding-top:0;height:2.82353rem;width:90%}}.nav-title[data-v-5c0521d3] span{height:100%;line-height:normal}.nav-title a[data-v-5c0521d3]{display:inline-block;letter-spacing:inherit;line-height:normal;margin:0;text-decoration:none;white-space:nowrap}.nav-title a[data-v-5c0521d3]:hover{text-decoration:none}@media only screen and (max-width:767px){.nav-title a[data-v-5c0521d3]{display:flex}}.nav-title[data-v-5c0521d3],.nav-title a[data-v-5c0521d3]{color:var(--color-figure-gray);transition:color 0s ease-in}.nav--is-open.theme-dark .nav-title[data-v-5c0521d3],.nav--is-open.theme-dark .nav-title a[data-v-5c0521d3],.nav--is-sticking.theme-dark .nav-title[data-v-5c0521d3],.nav--is-sticking.theme-dark .nav-title a[data-v-5c0521d3],.theme-dark .nav-title[data-v-5c0521d3],.theme-dark .nav-title a[data-v-5c0521d3]{color:var(--color-nav-dark-link-color)}.nav-ax-toggle[data-v-5c0521d3]{display:none;position:absolute;top:0;left:0;width:1px;height:1px;z-index:10}.nav-ax-toggle[data-v-5c0521d3]:focus{outline-offset:-6px;width:100%;height:100%}.nav--in-breakpoint-range .nav-ax-toggle[data-v-5c0521d3]{display:block}.nav-menucta[data-v-5c0521d3]{cursor:pointer;display:none;align-items:center;overflow:hidden;width:1.17647rem;-webkit-tap-highlight-color:transparent;height:2.82353rem}.nav--in-breakpoint-range .nav-menucta[data-v-5c0521d3]{display:flex}.nav-menucta-chevron[data-v-5c0521d3]{display:block;position:relative;width:100%;height:.70588rem;transition:transform .3s linear}.nav-menucta-chevron[data-v-5c0521d3]:after,.nav-menucta-chevron[data-v-5c0521d3]:before{content:"";display:block;position:absolute;top:.58824rem;width:.70588rem;height:.05882rem;transition:transform .3s linear;background:var(--color-figure-gray)}.nav-menucta-chevron[data-v-5c0521d3]:before{right:50%;border-radius:.5px 0 0 .5px}.nav-menucta-chevron[data-v-5c0521d3]:after{left:50%;border-radius:0 .5px .5px 0}.nav-menucta-chevron[data-v-5c0521d3]:before{transform-origin:100% 100%;transform:rotate(40deg) scaleY(1.5)}.nav-menucta-chevron[data-v-5c0521d3]:after{transform-origin:0 100%;transform:rotate(-40deg) scaleY(1.5)}.nav--is-open .nav-menucta-chevron[data-v-5c0521d3]{transform:scaleY(-1)}.theme-dark .nav-menucta-chevron[data-v-5c0521d3]:after,.theme-dark .nav-menucta-chevron[data-v-5c0521d3]:before{background:var(--color-nav-dark-link-color)}[data-v-5c0521d3] .nav-menu-link{color:var(--color-nav-link-color)}[data-v-5c0521d3] .nav-menu-link:hover{color:var(--color-nav-link-color-hover);text-decoration:none}.theme-dark[data-v-5c0521d3] .nav-menu-link{color:var(--color-nav-dark-link-color)}.theme-dark[data-v-5c0521d3] .nav-menu-link:hover{color:var(--color-nav-dark-link-color-hover)}[data-v-5c0521d3] .nav-menu-link.current{color:var(--color-nav-current-link);cursor:default}[data-v-5c0521d3] .nav-menu-link.current:hover{color:var(--color-nav-current-link)}.theme-dark[data-v-5c0521d3] .nav-menu-link.current,.theme-dark[data-v-5c0521d3] .nav-menu-link.current:hover{color:var(--color-nav-dark-current-link)}.reference-card-grid-item[data-v-08a5e3f8]{--card-cover-height:auto}.reference-card-grid-item.card.large[data-v-08a5e3f8]{--card-cover-height:auto;min-width:0;max-width:none}.reference-card-grid-item[data-v-08a5e3f8] .card-cover{aspect-ratio:16/9}.reference-card-grid-item[data-v-08a5e3f8] .card-cover-wrap{border:1px solid var(--color-link-block-card-border)}.reference-card-grid-item__image[data-v-08a5e3f8]{display:flex;align-items:center;justify-content:center;font-size:80px;background-color:var(--color-fill-gray-quaternary)}.reference-card-grid-item__icon[data-v-08a5e3f8]{margin:0;display:flex;justify-content:center}.reference-card-grid-item__icon[data-v-08a5e3f8] .icon-inline{flex:1 1 auto}.nav-menu-item[data-v-66cbfe4c]{margin-left:1.41176rem;list-style:none;min-width:0}.nav--in-breakpoint-range .nav-menu-item[data-v-66cbfe4c]{margin-left:0;width:100%;min-height:2.47059rem}.nav--in-breakpoint-range .nav-menu-item[data-v-66cbfe4c]:first-child .nav-menu-link{border-top:0}.nav--in-breakpoint-range .nav-menu-item--animated[data-v-66cbfe4c]{opacity:0;transform:none;transition:.5s ease;transition-property:transform,opacity}.nav--is-open.nav--in-breakpoint-range .nav-menu-item--animated[data-v-66cbfe4c]{opacity:1;transform:translateZ(0);transition-delay:0s}.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="0"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="1"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="2"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="3"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="4"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="5"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="6"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:first-child,.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(2),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(3),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(4),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(5),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(6),.nav--is-open.nav--in-breakpoint-range [data-previous-menu-children-count="7"] .nav-menu-item--animated[data-v-66cbfe4c]:nth-child(7){transition-delay:0s}.links-block[data-v-ce6f87f6]+*{margin-top:var(--spacing-stacked-margin-xlarge)}.topic-link-block[data-v-ce6f87f6]{margin-top:15px}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/css/index.038e887c.css b/document/MixSdk.doccarchive/css/index.038e887c.css
new file mode 100644 (file)
index 0000000..ee928eb
--- /dev/null
@@ -0,0 +1,9 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.color-scheme-toggle[data-v-02a6f6ec]{--toggle-color-fill:var(--color-button-background);--toggle-color-text:var(--color-fill-blue);font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);border:1px solid var(--toggle-color-fill);border-radius:var(--toggle-border-radius-outer,var(--border-radius,4px));display:inline-flex;padding:1px}@media screen{[data-color-scheme=dark] .color-scheme-toggle[data-v-02a6f6ec]{--toggle-color-text:var(--color-figure-blue)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .color-scheme-toggle[data-v-02a6f6ec]{--toggle-color-text:var(--color-figure-blue)}}@media print{.color-scheme-toggle[data-v-02a6f6ec]{display:none}}input[data-v-02a6f6ec]{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.fromkeyboard label[data-v-02a6f6ec]:focus-within{outline:4px solid var(--color-focus-color);outline-offset:1px}.text[data-v-02a6f6ec]{border:1px solid transparent;border-radius:var(--toggle-border-radius-inner,2px);color:var(--toggle-color-text);display:inline-block;text-align:center;padding:1px 6px;min-width:42px;box-sizing:border-box}.text[data-v-02a6f6ec]:hover{cursor:pointer}input:checked+.text[data-v-02a6f6ec]{--toggle-color-text:var(--color-button-text);background:var(--toggle-color-fill);border-color:var(--toggle-color-fill)}.footer[data-v-4e049dbd]{border-top:1px solid var(--color-grid)}.row[data-v-4e049dbd]{margin-left:auto;margin-right:auto;width:980px;display:flex;flex-direction:row-reverse;margin:20px auto}@media only screen and (max-width:1250px){.row[data-v-4e049dbd]{width:692px}}@media only screen and (max-width:735px){.row[data-v-4e049dbd]{width:87.5%}}@media only screen and (max-width:320px){.row[data-v-4e049dbd]{width:215px}}@media only screen and (max-width:735px){.row[data-v-4e049dbd]{width:100%;padding:0 .94118rem;box-sizing:border-box}}.InitialLoadingPlaceholder[data-v-35c356b6]{background:var(--colors-loading-placeholder-background,var(--color-loading-placeholder-background));height:100vh;width:100%}.svg-icon[data-v-33d3200a]{fill:var(--colors-svg-icon-fill-light,var(--color-svg-icon));transform:scale(1);-webkit-transform:scale(1);overflow:visible}.theme-dark .svg-icon[data-v-33d3200a]{fill:var(--colors-svg-icon-fill-dark,var(--color-svg-icon))}.svg-icon.icon-inline[data-v-33d3200a]{display:inline-block;vertical-align:middle;fill:currentColor}.svg-icon.icon-inline[data-v-33d3200a] .svg-icon-stroke{stroke:currentColor}[data-v-33d3200a] .svg-icon-stroke{stroke:var(--colors-svg-icon-fill-light,var(--color-svg-icon))}.theme-dark[data-v-33d3200a] .svg-icon-stroke{stroke:var(--colors-svg-icon-fill-dark,var(--color-svg-icon))}.suggest-lang[data-v-ad72c62e]{background:#000;color:#fff;display:flex;justify-content:center;border-bottom:1px solid var(--color-grid)}.suggest-lang__wrapper[data-v-ad72c62e]{display:flex;align-items:center;width:100%;max-width:var(--wrapper-max-width,1920px);margin:0 .94118rem;position:relative;height:52px}.suggest-lang__link[data-v-ad72c62e]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin:0 auto;color:#09f}.suggest-lang__close-icon-wrapper[data-v-ad72c62e]{position:absolute;right:-.23529rem;top:0;height:100%;box-sizing:border-box;display:flex;align-items:center;z-index:1}.suggest-lang__close-icon-button[data-v-ad72c62e]{padding:.23529rem}.suggest-lang__close-icon-button .close-icon[data-v-ad72c62e]{width:8px;display:block}.suggest-lang .inline-chevron-right-icon[data-v-ad72c62e]{padding-left:.23529rem;width:8px}select[data-v-7e4d9b69]{font-size:.70588rem;line-height:1.33333;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-fill-blue);padding-right:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer}select[data-v-7e4d9b69]:hover{text-decoration:underline}.locale-selector[data-v-7e4d9b69]{position:relative}.svg-icon.icon-inline[data-v-7e4d9b69]{position:absolute;fill:var(--color-fill-blue);right:2px;bottom:7px;height:5px}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;background-color:var(--colors-text-background,var(--color-text-background));height:100%}abbr,blockquote,body,button,dd,dl,dt,fieldset,figure,form,h1,h2,h3,h4,h5,h6,hgroup,input,legend,li,ol,p,pre,ul{margin:0;padding:0}address,caption,code,figcaption,pre,th{font-size:1em;font-weight:400;font-style:normal}fieldset,iframe,img{border:0}caption,th{text-align:left}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}button{background:none;border:0;box-sizing:content-box;color:inherit;cursor:pointer;font:inherit;line-height:inherit;overflow:visible;vertical-align:inherit}button:disabled{cursor:default}:focus{outline:4px solid var(--color-focus-color);outline-offset:1px}::-moz-focus-inner{border:0;padding:0}@media print{#content,#main,body{color:#000}a,a:link,a:visited{color:#000;text-decoration:none}.hide,.noprint{display:none}}body{height:100%;min-width:320px}html{font:var(--typography-html-font,17px "Helvetica Neue","Helvetica","Arial",sans-serif);quotes:"“" "”"}html:lang(ja-JP){quotes:"「" "」"}body{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);background-color:var(--color-text-background);color:var(--colors-text,var(--color-text));font-style:normal;word-wrap:break-word;--spacing-stacked-margin-small:0.4em;--spacing-stacked-margin-large:0.8em;--spacing-stacked-margin-xlarge:calc(var(--spacing-stacked-margin-large)*2);--spacing-param:1.64706rem;--declaration-code-listing-margin:30px 0 0 0;--code-block-style-elements-padding:8px 14px}body,button,input,select,textarea{font-synthesis:none;-moz-font-feature-settings:"kern";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;direction:ltr;text-align:left}h1,h2,h3,h4,h5,h6{color:var(--colors-header-text,var(--color-header-text))}h1+*,h2+*,h3+*,h4+*,h5+*,h6+*{margin-top:var(--spacing-stacked-margin-large)}ol+h1,ol+h2,ol+h3,ol+h4,ol+h5,ol+h6,p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6{margin-top:1.6em}ol+*,p+*,ul+*{margin-top:var(--spacing-stacked-margin-large)}ol,ul{margin-left:1.17647em}ol ol,ol ul,ul ol,ul ul{margin-top:0;margin-bottom:0}nav ol,nav ul{margin:0;list-style:none}li li{font-size:1em}a{color:var(--colors-link,var(--color-link))}a:link,a:visited{text-decoration:none}a:hover{text-decoration:underline}a:active{text-decoration:none}p+a{display:inline-block}b,strong{font-weight:600}cite,dfn,em,i{font-style:italic}sup{font-size:.6em;vertical-align:top;position:relative;bottom:-.2em}h1 sup,h2 sup,h3 sup{font-size:.4em}sup a{vertical-align:inherit;color:inherit}sup a:hover{color:var(--figure-blue);text-decoration:none}sub{line-height:1}abbr{border:0}pre{overflow:auto;-webkit-overflow-scrolling:auto;white-space:pre;word-wrap:normal}code{font-family:var(--typography-html-font-mono,Menlo,monospace);font-weight:inherit;letter-spacing:0}.syntax-addition{color:var(--syntax-addition,var(--color-syntax-addition))}.syntax-comment{color:var(--syntax-comment,var(--color-syntax-comments))}.syntax-quote{color:var(--syntax-quote,var(--color-syntax-comments))}.syntax-deletion{color:var(--syntax-deletion,var(--color-syntax-deletion))}.syntax-keyword{color:var(--syntax-keyword,var(--color-syntax-keywords))}.syntax-literal{color:var(--syntax-literal,var(--color-syntax-keywords))}.syntax-selector-tag{color:var(--syntax-selector-tag,var(--color-syntax-keywords))}.syntax-string{color:var(--syntax-string,var(--color-syntax-strings))}.syntax-bullet{color:var(--syntax-bullet,var(--color-syntax-characters))}.syntax-meta{color:var(--syntax-meta,var(--color-syntax-characters))}.syntax-number{color:var(--syntax-number,var(--color-syntax-characters))}.syntax-symbol{color:var(--syntax-symbol,var(--color-syntax-characters))}.syntax-tag{color:var(--syntax-tag,var(--color-syntax-characters))}.syntax-attr{color:var(--syntax-attr,var(--color-syntax-other-type-names))}.syntax-built_in{color:var(--syntax-built_in,var(--color-syntax-other-type-names))}.syntax-builtin-name{color:var(--syntax-builtin-name,var(--color-syntax-other-type-names))}.syntax-class{color:var(--syntax-class,var(--color-syntax-other-type-names))}.syntax-params{color:var(--syntax-params,var(--color-syntax-other-type-names))}.syntax-section{color:var(--syntax-section,var(--color-syntax-other-type-names))}.syntax-title{color:var(--syntax-title,var(--color-syntax-other-type-names))}.syntax-type{color:var(--syntax-type,var(--color-syntax-other-type-names))}.syntax-attribute{color:var(--syntax-attribute,var(--color-syntax-plain-text))}.syntax-identifier{color:var(--syntax-identifier,var(--color-syntax-plain-text))}.syntax-subst{color:var(--syntax-subst,var(--color-syntax-plain-text))}.syntax-doctag,.syntax-strong{font-weight:700}.syntax-emphasis,.syntax-link{font-style:italic}[data-syntax=swift] .syntax-meta{color:var(--syntax-meta,var(--color-syntax-keywords))}[data-syntax=swift] .syntax-class,[data-syntax=swift] .syntax-keyword+.syntax-params,[data-syntax=swift] .syntax-params+.syntax-params{color:unset}[data-syntax=json] .syntax-attr{color:var(--syntax-attr,var(--color-syntax-strings))}#skip-nav{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}#skip-nav:active,#skip-nav:focus{position:relative;float:left;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;color:var(--color-figure-blue);font-size:1em;padding:0 10px;z-index:100000;top:0;left:0;height:44px;line-height:44px;-webkit-clip-path:unset;clip-path:unset}.nav--in-breakpoint-range #skip-nav{display:none}.visuallyhidden{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(0 0 99.9% 99.9%);clip-path:inset(0 0 99.9% 99.9%);overflow:hidden;height:1px;width:1px;padding:0;border:0}@-webkit-keyframes pulse{0%{opacity:0}33%{opacity:1}66%{opacity:1}to{opacity:0}}@keyframes pulse{0%{opacity:0}33%{opacity:1}66%{opacity:1}to{opacity:0}}.changed{border:1px solid var(--color-changes-modified);border-radius:var(--border-radius,4px);position:relative}.changed.displays-multiple-lines,.displays-multiple-lines .changed{border-radius:var(--border-radius,4px)}.changed:after{left:8px;background-image:url(../img/modified-icon.f496e73d.svg);background-repeat:no-repeat;bottom:0;content:" ";margin:auto;margin-right:8px;position:absolute;top:0;width:1.17647rem;height:1.17647rem;margin-top:.61765rem;z-index:2}@media screen{[data-color-scheme=dark] .changed:after{background-image:url(../img/modified-icon.f496e73d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed:after{background-image:url(../img/modified-icon.f496e73d.svg)}}.changed-added{border-color:var(--color-changes-added)}.changed-added:after{background-image:url(../img/added-icon.d6f7e47d.svg)}@media screen{[data-color-scheme=dark] .changed-added:after{background-image:url(../img/added-icon.d6f7e47d.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed-added:after{background-image:url(../img/added-icon.d6f7e47d.svg)}}.changed-deprecated{border-color:var(--color-changes-deprecated)}.changed-deprecated:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}@media screen{[data-color-scheme=dark] .changed-deprecated:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .changed-deprecated:after{background-image:url(../img/deprecated-icon.015b4f17.svg)}}.changed.link-block:after,.changed.relationships-item:after,.link-block .changed:after{margin-top:10px}.change-added,.change-removed{padding:2px 0}.change-removed{background-color:var(--color-highlight-red)}.change-added{background-color:var(--color-highlight-green)}body{color-scheme:light dark}body[data-color-scheme=light]{color-scheme:light}body[data-color-scheme=dark]{color-scheme:dark}body{--color-fill:#fff;--color-fill-secondary:#f7f7f7;--color-fill-tertiary:#f0f0f0;--color-fill-quaternary:#282828;--color-fill-blue:#00f;--color-fill-light-blue-secondary:#d1d1ff;--color-fill-gray:#ccc;--color-fill-gray-secondary:#f5f5f5;--color-fill-gray-tertiary:#f0f0f0;--color-fill-gray-quaternary:#f0f0f0;--color-fill-green-secondary:#f0fff0;--color-fill-orange-secondary:#fffaf6;--color-fill-red-secondary:#fff0f5;--color-figure-blue:#36f;--color-figure-gray:#000;--color-figure-gray-secondary:#666;--color-figure-gray-secondary-alt:#666;--color-figure-gray-tertiary:#666;--color-figure-green:green;--color-figure-light-gray:#666;--color-figure-orange:#c30;--color-figure-red:red;--color-tutorials-teal:#000;--color-article-background:var(--color-fill-tertiary);--color-article-body-background:var(--color-fill);--color-aside-deprecated:var(--color-figure-gray);--color-aside-deprecated-background:var(--color-fill-orange-secondary);--color-aside-deprecated-border:var(--color-figure-orange);--color-aside-experiment:var(--color-figure-gray);--color-aside-experiment-background:var(--color-fill-gray-secondary);--color-aside-experiment-border:var(--color-figure-light-gray);--color-aside-important:var(--color-figure-gray);--color-aside-important-background:var(--color-fill-gray-secondary);--color-aside-important-border:var(--color-figure-light-gray);--color-aside-note:var(--color-figure-gray);--color-aside-note-background:var(--color-fill-gray-secondary);--color-aside-note-border:var(--color-figure-light-gray);--color-aside-tip:var(--color-figure-gray);--color-aside-tip-background:var(--color-fill-gray-secondary);--color-aside-tip-border:var(--color-figure-light-gray);--color-aside-warning:var(--color-figure-gray);--color-aside-warning-background:var(--color-fill-red-secondary);--color-aside-warning-border:var(--color-figure-red);--color-badge-default:var(--color-figure-light-gray);--color-badge-beta:var(--color-figure-gray-tertiary);--color-badge-deprecated:var(--color-figure-orange);--color-badge-dark-default:#fff;--color-badge-dark-beta:#b0b0b0;--color-badge-dark-deprecated:#f60;--color-button-background:var(--color-fill-blue);--color-button-background-active:#36f;--color-button-background-hover:var(--color-figure-blue);--color-button-text:#fff;--color-call-to-action-background:var(--color-fill-secondary);--color-changes-added:var(--color-figure-light-gray);--color-changes-added-hover:var(--color-figure-light-gray);--color-changes-deprecated:var(--color-figure-light-gray);--color-changes-deprecated-hover:var(--color-figure-light-gray);--color-changes-modified:var(--color-figure-light-gray);--color-changes-modified-hover:var(--color-figure-light-gray);--color-changes-modified-previous-background:var(--color-fill);--color-code-background:var(--color-fill-secondary);--color-code-collapsible-background:var(--color-fill-tertiary);--color-code-collapsible-text:var(--color-figure-gray-secondary-alt);--color-code-line-highlight:rgba(51,102,255,0.08);--color-code-line-highlight-border:var(--color-figure-blue);--color-code-plain:var(--color-figure-gray);--color-dropdown-background:hsla(0,0%,100%,0.8);--color-dropdown-border:#ccc;--color-dropdown-option-text:#666;--color-dropdown-text:#000;--color-dropdown-dark-background:hsla(0,0%,100%,0.1);--color-dropdown-dark-border:hsla(0,0%,94.1%,0.2);--color-dropdown-dark-option-text:#ccc;--color-dropdown-dark-text:#fff;--color-eyebrow:var(--color-figure-gray-secondary);--color-focus-border-color:var(--color-fill-blue);--color-focus-color:rgba(0,125,250,0.6);--color-form-error:var(--color-figure-red);--color-form-error-background:var(--color-fill-red-secondary);--color-form-valid:var(--color-figure-green);--color-form-valid-background:var(--color-fill-green-secondary);--color-generic-modal-background:var(--color-fill);--color-grid:var(--color-fill-gray);--color-header-text:var(--color-figure-gray);--color-hero-eyebrow:#ccc;--color-link:var(--color-figure-blue);--color-loading-placeholder-background:var(--color-fill);--color-nav-color:#666;--color-nav-current-link:rgba(0,0,0,0.6);--color-nav-expanded:#fff;--color-nav-hierarchy-collapse-background:#f0f0f0;--color-nav-hierarchy-collapse-borders:#ccc;--color-nav-hierarchy-item-borders:#ccc;--color-nav-keyline:rgba(0,0,0,0.2);--color-nav-link-color:#000;--color-nav-link-color-hover:#36f;--color-nav-outlines:#ccc;--color-nav-rule:hsla(0,0%,94.1%,0.5);--color-nav-solid-background:#fff;--color-nav-sticking-expanded-keyline:rgba(0,0,0,0.1);--color-nav-stuck:hsla(0,0%,100%,0.9);--color-nav-uiblur-expanded:hsla(0,0%,100%,0.9);--color-nav-uiblur-stuck:hsla(0,0%,100%,0.7);--color-nav-root-subhead:var(--color-tutorials-teal);--color-nav-dark-border-top-color:hsla(0,0%,100%,0.4);--color-nav-dark-color:#b0b0b0;--color-nav-dark-current-link:hsla(0,0%,100%,0.6);--color-nav-dark-expanded:#2a2a2a;--color-nav-dark-hierarchy-collapse-background:#424242;--color-nav-dark-hierarchy-collapse-borders:#666;--color-nav-dark-hierarchy-item-borders:#424242;--color-nav-dark-keyline:rgba(66,66,66,0.95);--color-nav-dark-link-color:#fff;--color-nav-dark-link-color-hover:#09f;--color-nav-dark-outlines:#575757;--color-nav-dark-rule:#575757;--color-nav-dark-solid-background:#000;--color-nav-dark-sticking-expanded-keyline:rgba(66,66,66,0.7);--color-nav-dark-stuck:rgba(42,42,42,0.9);--color-nav-dark-uiblur-expanded:rgba(42,42,42,0.9);--color-nav-dark-uiblur-stuck:rgba(42,42,42,0.7);--color-nav-dark-root-subhead:#fff;--color-runtime-preview-background:var(--color-fill-tertiary);--color-runtime-preview-disabled-text:hsla(0,0%,40%,0.6);--color-runtime-preview-text:var(--color-figure-gray-secondary);--color-secondary-label:var(--color-figure-gray-secondary);--color-step-background:var(--color-fill-secondary);--color-step-caption:var(--color-figure-gray-secondary);--color-step-focused:var(--color-figure-light-gray);--color-step-text:var(--color-figure-gray-secondary);--color-svg-icon:#666;--color-syntax-addition:var(--color-figure-green);--color-syntax-attributes:#947100;--color-syntax-characters:#272ad8;--color-syntax-comments:#707f8c;--color-syntax-deletion:var(--color-figure-red);--color-syntax-documentation-markup:#506375;--color-syntax-documentation-markup-keywords:#506375;--color-syntax-heading:#ba2da2;--color-syntax-keywords:#ad3da4;--color-syntax-marks:#000;--color-syntax-numbers:#272ad8;--color-syntax-other-class-names:#703daa;--color-syntax-other-constants:#4b21b0;--color-syntax-other-declarations:#047cb0;--color-syntax-other-function-and-method-names:#4b21b0;--color-syntax-other-instance-variables-and-globals:#703daa;--color-syntax-other-preprocessor-macros:#78492a;--color-syntax-other-type-names:#703daa;--color-syntax-param-internal-name:#404040;--color-syntax-plain-text:#000;--color-syntax-preprocessor-statements:#78492a;--color-syntax-project-class-names:#3e8087;--color-syntax-project-constants:#2d6469;--color-syntax-project-function-and-method-names:#2d6469;--color-syntax-project-instance-variables-and-globals:#3e8087;--color-syntax-project-preprocessor-macros:#78492a;--color-syntax-project-type-names:#3e8087;--color-syntax-strings:#d12f1b;--color-syntax-type-declarations:#03638c;--color-syntax-urls:#1337ff;--color-tabnav-item-border-color:var(--color-fill-gray);--color-text:var(--color-figure-gray);--color-text-background:var(--color-fill);--color-tutorial-assessments-background:var(--color-fill-secondary);--color-tutorial-background:var(--color-fill);--color-tutorial-navbar-dropdown-background:var(--color-fill);--color-tutorial-navbar-dropdown-border:var(--color-fill-gray);--color-tutorial-quiz-border-active:var(--color-figure-blue);--color-tutorials-overview-background:#161616;--color-tutorials-overview-content:#fff;--color-tutorials-overview-content-alt:#fff;--color-tutorials-overview-eyebrow:#ccc;--color-tutorials-overview-icon:#b0b0b0;--color-tutorials-overview-link:#09f;--color-tutorials-overview-navigation-link:#ccc;--color-tutorials-overview-navigation-link-active:#fff;--color-tutorials-overview-navigation-link-hover:#fff;--color-tutorial-hero-text:#fff;--color-tutorial-hero-background:#000;--color-navigator-item-hover:rgba(0,0,255,0.05);--color-card-background:var(--color-fill);--color-card-content-text:var(--color-figure-gray);--color-card-eyebrow:var(--color-figure-gray-secondary-alt);--color-card-shadow:rgba(0,0,0,0.04);--color-link-block-card-border:rgba(0,0,0,0.04);--color-standard-red:#8b0000;--color-standard-orange:#8b4000;--color-standard-yellow:#8f7200;--color-standard-blue:#002d75;--color-standard-green:#023b2d;--color-standard-purple:#512b55;--color-standard-gray:#2a2a2a}@media screen{body[data-color-scheme=dark]{--color-fill:#000;--color-fill-secondary:#161616;--color-fill-tertiary:#2a2a2a;--color-fill-blue:#06f;--color-fill-light-blue-secondary:#004ec4;--color-fill-gray:#575757;--color-fill-gray-secondary:#222;--color-fill-gray-tertiary:#424242;--color-fill-gray-quaternary:#424242;--color-fill-green-secondary:#030;--color-fill-orange-secondary:#472400;--color-fill-red-secondary:#300;--color-figure-blue:#09f;--color-figure-gray:#fff;--color-figure-gray-secondary:#ccc;--color-figure-gray-secondary-alt:#b0b0b0;--color-figure-gray-tertiary:#b0b0b0;--color-figure-green:#090;--color-figure-light-gray:#b0b0b0;--color-figure-orange:#f60;--color-figure-red:#f33;--color-tutorials-teal:#fff;--color-article-body-background:#111;--color-badge-default:var(--color-badge-dark-default);--color-button-background-active:#06f;--color-code-line-highlight:rgba(0,153,255,0.08);--color-dropdown-background:var(--color-dropdown-dark-background);--color-dropdown-border:var(--color-dropdown-dark-border);--color-dropdown-option-text:var(--color-dropdown-dark-option-text);--color-dropdown-text:var(--color-dropdown-dark-text);--color-nav-color:var(--color-nav-dark-color);--color-nav-current-link:var(--color-nav-dark-current-link);--color-nav-expanded:var(--color-nav-dark-expanded);--color-nav-hierarchy-collapse-background:var(--color-nav-dark-hierarchy-collapse-background);--color-nav-hierarchy-collapse-borders:var(--color-nav-dark-hierarchy-collapse-borders);--color-nav-hierarchy-item-borders:var(--color-nav-dark-hierarchy-item-borders);--color-nav-keyline:var(--color-nav-dark-keyline);--color-nav-link-color:var(--color-nav-dark-link-color);--color-nav-link-color-hover:var(--color-nav-dark-link-color-hover);--color-nav-outlines:var(--color-nav-dark-outlines);--color-nav-rule:var(--color-nav-dark-rule);--color-nav-solid-background:var(--color-nav-dark-solid-background);--color-nav-sticking-expanded-keyline:var(--color-nav-dark-sticking-expanded-keyline);--color-nav-stuck:var(--color-nav-dark-stuck);--color-nav-uiblur-expanded:var(--color-nav-dark-uiblur-expanded);--color-nav-uiblur-stuck:var(--color-nav-dark-uiblur-stuck);--color-runtime-preview-disabled-text:hsla(0,0%,80%,0.6);--color-syntax-attributes:#cc9768;--color-syntax-characters:#d9c97c;--color-syntax-comments:#7f8c98;--color-syntax-documentation-markup:#7f8c98;--color-syntax-documentation-markup-keywords:#a3b1bf;--color-syntax-keywords:#ff7ab2;--color-syntax-marks:#fff;--color-syntax-numbers:#d9c97c;--color-syntax-other-class-names:#dabaff;--color-syntax-other-constants:#a7ebdd;--color-syntax-other-declarations:#4eb0cc;--color-syntax-other-function-and-method-names:#b281eb;--color-syntax-other-instance-variables-and-globals:#b281eb;--color-syntax-other-preprocessor-macros:#ffa14f;--color-syntax-other-type-names:#dabaff;--color-syntax-param-internal-name:#bfbfbf;--color-syntax-plain-text:#fff;--color-syntax-preprocessor-statements:#ffa14f;--color-syntax-project-class-names:#acf2e4;--color-syntax-project-constants:#78c2b3;--color-syntax-project-function-and-method-names:#78c2b3;--color-syntax-project-instance-variables-and-globals:#78c2b3;--color-syntax-project-preprocessor-macros:#ffa14f;--color-syntax-project-type-names:#acf2e4;--color-syntax-strings:#ff8170;--color-syntax-type-declarations:#6bdfff;--color-syntax-urls:#69f;--color-tutorial-background:var(--color-fill-tertiary);--color-navigator-item-hover:rgba(0,102,255,0.5);--color-card-shadow:hsla(0,0%,100%,0.04);--color-link-block-card-border:hsla(0,0%,100%,0.25)}}@media screen and (prefers-color-scheme:dark){body[data-color-scheme=auto]{--color-fill:#000;--color-fill-secondary:#161616;--color-fill-tertiary:#2a2a2a;--color-fill-blue:#06f;--color-fill-light-blue-secondary:#004ec4;--color-fill-gray:#575757;--color-fill-gray-secondary:#222;--color-fill-gray-tertiary:#424242;--color-fill-gray-quaternary:#424242;--color-fill-green-secondary:#030;--color-fill-orange-secondary:#472400;--color-fill-red-secondary:#300;--color-figure-blue:#09f;--color-figure-gray:#fff;--color-figure-gray-secondary:#ccc;--color-figure-gray-secondary-alt:#b0b0b0;--color-figure-gray-tertiary:#b0b0b0;--color-figure-green:#090;--color-figure-light-gray:#b0b0b0;--color-figure-orange:#f60;--color-figure-red:#f33;--color-tutorials-teal:#fff;--color-article-body-background:#111;--color-badge-default:var(--color-badge-dark-default);--color-button-background-active:#06f;--color-code-line-highlight:rgba(0,153,255,0.08);--color-dropdown-background:var(--color-dropdown-dark-background);--color-dropdown-border:var(--color-dropdown-dark-border);--color-dropdown-option-text:var(--color-dropdown-dark-option-text);--color-dropdown-text:var(--color-dropdown-dark-text);--color-nav-color:var(--color-nav-dark-color);--color-nav-current-link:var(--color-nav-dark-current-link);--color-nav-expanded:var(--color-nav-dark-expanded);--color-nav-hierarchy-collapse-background:var(--color-nav-dark-hierarchy-collapse-background);--color-nav-hierarchy-collapse-borders:var(--color-nav-dark-hierarchy-collapse-borders);--color-nav-hierarchy-item-borders:var(--color-nav-dark-hierarchy-item-borders);--color-nav-keyline:var(--color-nav-dark-keyline);--color-nav-link-color:var(--color-nav-dark-link-color);--color-nav-link-color-hover:var(--color-nav-dark-link-color-hover);--color-nav-outlines:var(--color-nav-dark-outlines);--color-nav-rule:var(--color-nav-dark-rule);--color-nav-solid-background:var(--color-nav-dark-solid-background);--color-nav-sticking-expanded-keyline:var(--color-nav-dark-sticking-expanded-keyline);--color-nav-stuck:var(--color-nav-dark-stuck);--color-nav-uiblur-expanded:var(--color-nav-dark-uiblur-expanded);--color-nav-uiblur-stuck:var(--color-nav-dark-uiblur-stuck);--color-runtime-preview-disabled-text:hsla(0,0%,80%,0.6);--color-syntax-attributes:#cc9768;--color-syntax-characters:#d9c97c;--color-syntax-comments:#7f8c98;--color-syntax-documentation-markup:#7f8c98;--color-syntax-documentation-markup-keywords:#a3b1bf;--color-syntax-keywords:#ff7ab2;--color-syntax-marks:#fff;--color-syntax-numbers:#d9c97c;--color-syntax-other-class-names:#dabaff;--color-syntax-other-constants:#a7ebdd;--color-syntax-other-declarations:#4eb0cc;--color-syntax-other-function-and-method-names:#b281eb;--color-syntax-other-instance-variables-and-globals:#b281eb;--color-syntax-other-preprocessor-macros:#ffa14f;--color-syntax-other-type-names:#dabaff;--color-syntax-param-internal-name:#bfbfbf;--color-syntax-plain-text:#fff;--color-syntax-preprocessor-statements:#ffa14f;--color-syntax-project-class-names:#acf2e4;--color-syntax-project-constants:#78c2b3;--color-syntax-project-function-and-method-names:#78c2b3;--color-syntax-project-instance-variables-and-globals:#78c2b3;--color-syntax-project-preprocessor-macros:#ffa14f;--color-syntax-project-type-names:#acf2e4;--color-syntax-strings:#ff8170;--color-syntax-type-declarations:#6bdfff;--color-syntax-urls:#69f;--color-tutorial-background:var(--color-fill-tertiary);--color-navigator-item-hover:rgba(0,102,255,0.5);--color-card-shadow:hsla(0,0%,100%,0.04);--color-link-block-card-border:hsla(0,0%,100%,0.25)}}#main{outline-style:none}:root{--app-height:100vh}[data-v-7d594ed9] :focus:not(input):not(textarea):not(select){outline:none}.fromkeyboard[data-v-7d594ed9] :focus:not(input):not(textarea):not(select){outline:4px solid var(--color-focus-color);outline-offset:1px}#app[data-v-7d594ed9]{display:flex;flex-flow:column;min-height:100%}#app[data-v-7d594ed9]>*{min-width:0}#app .router-content[data-v-7d594ed9]{flex:1}.container[data-v-1f05d9ec]{margin-left:auto;margin-right:auto;width:980px;outline-style:none;margin-top:92px;margin-bottom:140px}@media only screen and (max-width:1250px){.container[data-v-1f05d9ec]{width:692px}}@media only screen and (max-width:735px){.container[data-v-1f05d9ec]{width:87.5%}}@media only screen and (max-width:320px){.container[data-v-1f05d9ec]{width:215px}}.error-content[data-v-1f05d9ec]{box-sizing:border-box;width:502px;margin-left:auto;margin-right:auto;margin-bottom:54px}@media only screen and (max-width:1250px){.error-content[data-v-1f05d9ec]{width:420px;margin-bottom:45px}}@media only screen and (max-width:735px){.error-content[data-v-1f05d9ec]{max-width:330px;width:auto;margin-bottom:35px}}.title[data-v-1f05d9ec]{text-align:center;font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){.title[data-v-1f05d9ec]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-1f05d9ec]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/css/topic.d8c126f3.css b/document/MixSdk.doccarchive/css/topic.d8c126f3.css
new file mode 100644 (file)
index 0000000..5d8319b
--- /dev/null
@@ -0,0 +1,9 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.nav-title-content[data-v-854b4dd6]{max-width:100%}.title[data-v-854b4dd6]{color:var(--color-nav-root-title,currentColor);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:inline-block;vertical-align:top;max-width:296px}@media only screen and (max-width:1023px){.title[data-v-854b4dd6]{max-width:205px}}@media only screen and (max-width:767px){.title[data-v-854b4dd6]{flex-basis:fill;display:initial;vertical-align:initial;max-width:none}}.subhead[data-v-854b4dd6]{color:var(--color-nav-root-subhead)}.theme-dark .subhead[data-v-854b4dd6]{color:var(--color-nav-dark-root-subhead)}.mobile-dropdown[data-v-154acfbd]{box-sizing:border-box}.nav--in-breakpoint-range .mobile-dropdown[data-v-154acfbd]{padding-left:.23529rem;padding-right:.23529rem}.mobile-dropdown ul[data-v-154acfbd]{list-style:none}.mobile-dropdown .option[data-v-154acfbd]{cursor:pointer;font-size:.70588rem;padding:.5rem 0;display:block;text-decoration:none;color:inherit}.mobile-dropdown .option[data-v-154acfbd]:focus{outline-offset:0}.mobile-dropdown .option.depth1[data-v-154acfbd]{padding-left:.47059rem}.active[data-v-154acfbd],.tutorial.router-link-active[data-v-154acfbd]{font-weight:600}.active[data-v-154acfbd]:focus,.tutorial.router-link-active[data-v-154acfbd]:focus{outline:none}.chapter-list[data-v-154acfbd]:not(:first-child){margin-top:1rem}.chapter-name[data-v-154acfbd],.tutorial[data-v-154acfbd]{padding:.5rem 0;font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.section-list[data-v-154acfbd],.tutorial-list[data-v-154acfbd]{padding:0 .58824rem}.chapter-list:last-child .tutorial-list[data-v-154acfbd]:last-child{padding-bottom:10em}.chapter-list[data-v-154acfbd]{display:inline-block}.form-element[data-v-998803d8]{position:relative}.form-dropdown[data-v-998803d8]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:block;box-sizing:border-box;width:100%;height:3.3em;color:var(--color-dropdown-text);padding:1.11765rem 2.35294rem 0 .94118rem;text-align:left;border:1px solid var(--color-dropdown-border);border-radius:var(--border-radius,4px);background-clip:padding-box;margin-bottom:.82353rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;min-height:32px}.form-dropdown[data-v-998803d8]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.form-dropdown.no-eyebrow[data-v-998803d8]{padding-top:0}.form-dropdown[data-v-998803d8]:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--color-dropdown-text)}.form-dropdown[data-v-998803d8]::-ms-expand{opacity:0}.form-dropdown~.form-icon[data-v-998803d8]{position:absolute;display:block;pointer-events:none;fill:var(--color-figure-gray-tertiary);right:14px;width:13px;height:auto;top:50%;transform:translateY(-50%)}.is-open .form-dropdown~.form-icon[data-v-998803d8]{transform:translateY(-50%) scale(-1)}@media only screen and (max-width:735px){.form-dropdown~.form-icon[data-v-998803d8]{right:14px}}.form-dropdown~.form-label[data-v-998803d8]{font-size:.70588rem;line-height:1.75;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);position:absolute;top:.47059rem;left:17px;color:var(--color-figure-gray-secondary);pointer-events:none;padding:0;z-index:1}.form-dropdown[data-v-998803d8] option{color:var(--color-dropdown-text)}.form-dropdown-selectnone[data-v-998803d8]{color:transparent}.form-dropdown-selectnone~.form-label[data-v-998803d8]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);top:19px;left:17px;color:var(--color-figure-gray-tertiary)}.form-dropdown-selectnone[data-v-998803d8]:-moz-focusring{text-shadow:none}.form-dropdown-selectnone[data-v-998803d8]::-ms-value{display:none}.theme-dark .form-dropdown[data-v-998803d8]{color:var(--color-dropdown-dark-text);background-color:var(--color-dropdown-dark-background);border-color:var(--color-dropdown-dark-border)}.theme-dark .form-dropdown~.form-label[data-v-998803d8]{color:#ccc}.theme-dark .form-dropdown[data-v-998803d8]:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--color-dropdown-dark-text)}.theme-dark .form-dropdown.form-dropdown-selectnone[data-v-998803d8]{color:transparent}.theme-dark .form-dropdown.form-dropdown-selectnone[data-v-998803d8]:-moz-focusring{text-shadow:none}.theme-dark .form-dropdown-selectnone~.form-label[data-v-998803d8]{color:#b0b0b0}.dropdown-small[data-v-12dd746a]{height:30px;display:flex;align-items:center;position:relative;background:var(--color-fill)}.dropdown-small .form-dropdown-toggle[data-v-12dd746a]{line-height:1.5;font-size:12px;padding-top:0;padding-bottom:0;padding-left:20px;min-height:unset;height:30px;display:flex;align-items:center}.dropdown-small .form-dropdown-toggle[data-v-12dd746a]:focus{box-shadow:none;border-color:var(--color-dropdown-border)}.fromkeyboard .dropdown-small .form-dropdown-toggle[data-v-12dd746a]:focus{box-shadow:0 0 0 2px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.form-dropdown-toggle[data-v-12dd746a]{margin:0}.is-open .form-dropdown-toggle[data-v-12dd746a]{border-radius:var(--border-radius,4px) var(--border-radius,4px) 0 0;border-bottom:none;padding-bottom:1px}.fromkeyboard .is-open .form-dropdown-toggle[data-v-12dd746a]{box-shadow:1px -1px 0 1px var(--color-focus-color),-1px -1px 0 1px var(--color-focus-color);border-color:var(--color-focus-border-color)}.form-dropdown-title[data-v-12dd746a]{margin:0;padding:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dropdown-custom[data-v-12dd746a]{border-radius:var(--border-radius,4px)}.dropdown-custom.is-open[data-v-12dd746a]{border-radius:var(--border-radius,4px) var(--border-radius,4px) 0 0}.dropdown-custom[data-v-12dd746a] .form-dropdown-content{background:var(--color-fill);position:absolute;right:0;left:0;top:100%;border-bottom-left-radius:var(--border-radius,4px);border-bottom-right-radius:var(--border-radius,4px);border:1px solid var(--color-dropdown-border);border-top:none;display:none;overflow-y:auto}.dropdown-custom[data-v-12dd746a] .form-dropdown-content.is-open{display:block}.fromkeyboard .dropdown-custom[data-v-12dd746a] .form-dropdown-content.is-open{box-shadow:1px 1px 0 1px var(--color-focus-color),-1px 1px 0 1px var(--color-focus-color);border-color:var(--color-focus-border-color);border-top-color:transparent}.nav .dropdown-custom[data-v-12dd746a] .form-dropdown-content{max-height:calc(100vh - 116px - 3.05882rem)}.nav--is-sticking.nav .dropdown-custom[data-v-12dd746a] .form-dropdown-content{max-height:calc(100vh - 3.05882rem - 72px)}.dropdown-custom[data-v-12dd746a] .options{list-style:none;margin:0;padding:0 0 20px}.dropdown-custom[data-v-12dd746a] .option{cursor:pointer;padding:5px 20px;font-size:12px;line-height:20px;outline:none}.dropdown-custom[data-v-12dd746a] .option:hover{background-color:var(--color-fill-tertiary)}.dropdown-custom[data-v-12dd746a] .option.option-active{font-weight:600}.fromkeyboard .dropdown-custom[data-v-12dd746a] .option:hover{background-color:transparent}.fromkeyboard .dropdown-custom[data-v-12dd746a] .option:focus{background-color:var(--color-fill-tertiary);outline:none}.tutorial-dropdown[data-v-554d62b6]{grid-column:3}.section-tracker[data-v-554d62b6]{font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-figure-gray-secondary);margin-left:15px}.tutorial-dropdown[data-v-4bddb6e6]{grid-column:1/2}.tutorial-dropdown .options[data-v-4bddb6e6]{padding-top:1rem;padding-bottom:0}.tutorial-dropdown .option[data-v-4bddb6e6]{padding:5px 20px 5px 30px}.chapter-list[data-v-4bddb6e6]{padding-bottom:20px}.chapter-name[data-v-4bddb6e6]{margin:0 20px 5px 20px;line-height:normal;color:var(--color-figure-gray-secondary)}.chevron-icon[data-v-717bc942]{padding:0;color:var(--color-nav-outlines);grid-column:2;height:20px;width:20px;margin:0 4px}@media only screen and (min-width:768px){.nav[data-v-717bc942] .nav-content{display:grid;grid-template-columns:auto auto 3fr;align-items:center}.nav[data-v-717bc942] .nav-menu{padding:0;grid-column:3/5}.nav[data-v-717bc942] .nav-menu-item{margin:0}}.dropdown-container[data-v-717bc942]{height:3.05882rem;display:grid;grid-template-columns:minmax(230px,285px) auto minmax(230px,1fr);align-items:center}@media only screen and (max-width:1023px){.dropdown-container[data-v-717bc942]{grid-template-columns:minmax(173px,216px) auto minmax(173px,1fr)}}.separator[data-v-717bc942]{height:20px;border-right:1px solid;border-color:var(--color-nav-outlines);margin:0 20px;grid-column:2}.mobile-dropdown-container[data-v-717bc942],.nav--in-breakpoint-range.nav .dropdown-container[data-v-717bc942],.nav--in-breakpoint-range.nav .separator[data-v-717bc942]{display:none}.nav--in-breakpoint-range.nav .mobile-dropdown-container[data-v-717bc942]{display:block}.nav--in-breakpoint-range.nav[data-v-717bc942] .nav-title{grid-area:title}.nav--in-breakpoint-range.nav[data-v-717bc942] .pre-title{display:none}.nav[data-v-717bc942] .nav-title{grid-column:1;width:90%;padding-top:0}.primary-dropdown[data-v-717bc942],.secondary-dropdown[data-v-717bc942]{background:var(--color-tutorial-navbar-dropdown-background);border-color:var(--color-tutorial-navbar-dropdown-border)}.primary-dropdown[data-v-717bc942] .form-dropdown,.primary-dropdown[data-v-717bc942] .form-dropdown:focus,.secondary-dropdown[data-v-717bc942] .form-dropdown,.secondary-dropdown[data-v-717bc942] .form-dropdown:focus{border-color:var(--color-tutorial-navbar-dropdown-border)}.primary-dropdown[data-v-717bc942] .options,.secondary-dropdown[data-v-717bc942] .options{background:var(--color-tutorial-navbar-dropdown-background);border-color:var(--color-tutorial-navbar-dropdown-border)}[data-v-3cfe1c35] .code-listing+*,[data-v-3cfe1c35] aside+*,[data-v-3cfe1c35] h2+*,[data-v-3cfe1c35] h3+*,[data-v-3cfe1c35] ol+*,[data-v-3cfe1c35] p+*,[data-v-3cfe1c35] ul+*{margin-top:20px}[data-v-3cfe1c35] ol ol,[data-v-3cfe1c35] ol ul,[data-v-3cfe1c35] ul ol,[data-v-3cfe1c35] ul ul{margin-top:0}[data-v-3cfe1c35] h2{font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-3cfe1c35] h2{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-3cfe1c35] h2{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-3cfe1c35] h3{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-3cfe1c35] h3{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-3cfe1c35] .code-listing{background:var(--color-code-background);border-color:var(--colors-grid,var(--color-grid));border-style:solid;border-width:1px}[data-v-3cfe1c35] .code-listing pre{font-size:.70588rem;line-height:1.83333;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace);padding:20px 0}.columns[data-v-30edf911]{display:grid;grid-template-rows:repeat(2,auto)}.columns.cols-2[data-v-30edf911]{gap:20px 8.33333%;grid-template-columns:repeat(2,1fr)}.columns.cols-3[data-v-30edf911]{gap:20px 4.16667%;grid-template-columns:repeat(3,1fr)}.asset[data-v-30edf911]{align-self:end;grid-row:1}.content[data-v-30edf911]{grid-row:2}@media only screen and (max-width:735px){.columns.cols-2[data-v-30edf911],.columns.cols-3[data-v-30edf911]{grid-template-columns:unset}.asset[data-v-30edf911],.content[data-v-30edf911]{grid-row:auto}}.content-and-media[data-v-3fa44f9e]{display:flex}.content-and-media.media-leading[data-v-3fa44f9e]{flex-direction:row-reverse}.content-and-media.media-trailing[data-v-3fa44f9e]{flex-direction:row}@media only screen and (min-width:736px){.content-and-media[data-v-3fa44f9e]{align-items:center;justify-content:center}}.content[data-v-3fa44f9e]{width:62.5%}.asset[data-v-3fa44f9e]{width:29.16667%}.media-leading .asset[data-v-3fa44f9e]{margin-right:8.33333%}.media-trailing .asset[data-v-3fa44f9e]{margin-left:8.33333%}@media only screen and (max-width:735px){.content-and-media.media-leading[data-v-3fa44f9e],.content-and-media.media-trailing[data-v-3fa44f9e]{flex-direction:column}.asset[data-v-3fa44f9e],.content[data-v-3fa44f9e]{width:100%}.media-leading .asset[data-v-3fa44f9e],.media-trailing .asset[data-v-3fa44f9e]{margin:20px 0 0 0}}.group[id][data-v-1f2be54b]{margin-top:20px;padding-top:20px}[data-v-1f2be54b] img,[data-v-1f2be54b] video{display:block;margin:0 auto;max-width:100%}.layout+[data-v-4d5a806e]{margin-top:40px}@media only screen and (max-width:735px){.layout[data-v-4d5a806e]:first-child>:not(.group[id]){margin-top:40px}}.body[data-v-6499e2f2]{background:var(--colors-text-background,var(--color-article-body-background));margin-left:auto;margin-right:auto;width:980px;border-radius:10px;transform:translateY(-120px)}@media only screen and (max-width:1250px){.body[data-v-6499e2f2]{width:692px}}@media only screen and (max-width:735px){.body[data-v-6499e2f2]{width:87.5%}}@media only screen and (max-width:320px){.body[data-v-6499e2f2]{width:215px}}@media only screen and (max-width:735px){.body[data-v-6499e2f2]{border-radius:0;transform:none}}.body[data-v-6499e2f2]~*{margin-top:-40px}.body-content[data-v-6499e2f2]{padding:40px 8.33333% 80px 8.33333%}@media only screen and (max-width:735px){.body-content[data-v-6499e2f2]{padding:0 0 40px 0}}.call-to-action[data-v-042a0474]{padding:65px 0;background:var(--color-call-to-action-background)}.theme-dark .call-to-action[data-v-042a0474]{--color-call-to-action-background:#424242}.row[data-v-042a0474]{margin-left:auto;margin-right:auto;width:980px;display:flex;align-items:center}@media only screen and (max-width:1250px){.row[data-v-042a0474]{width:692px}}@media only screen and (max-width:735px){.row[data-v-042a0474]{width:87.5%}}@media only screen and (max-width:320px){.row[data-v-042a0474]{width:215px}}[data-v-042a0474] img,[data-v-042a0474] video{max-height:560px}h2[data-v-042a0474]{font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){h2[data-v-042a0474]{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){h2[data-v-042a0474]{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.label[data-v-042a0474]{display:block;font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-bottom:var(--spacing-stacked-margin-small);color:var(--color-eyebrow)}@media only screen and (max-width:735px){.label[data-v-042a0474]{font-size:1.11765rem;line-height:1.21053;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content[data-v-042a0474]{margin-bottom:1.5rem}.right-column[data-v-042a0474]{margin-left:auto}@media only screen and (max-width:735px){.row[data-v-042a0474]{display:block}.col+.col[data-v-042a0474]{margin-top:40px}}@media only screen and (max-width:735px){.call-to-action[data-v-426a965c]{margin-top:0}}.headline[data-v-d46a1474]{margin-bottom:var(--spacing-stacked-margin-large)}.heading[data-v-d46a1474]{font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-header-text)}@media only screen and (max-width:1250px){.heading[data-v-d46a1474]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.heading[data-v-d46a1474]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.dark .heading[data-v-d46a1474]{color:#fff}.eyebrow[data-v-d46a1474]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:block;margin-bottom:var(--spacing-stacked-margin-small);color:var(--color-eyebrow)}@media only screen and (max-width:1250px){.eyebrow[data-v-d46a1474]{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.metadata[data-v-94ff76c0]{display:flex}.item[data-v-94ff76c0]{font-size:.70588rem;line-height:1.33333;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;border-right:1px solid #fff;padding:0 27.5px}@media only screen and (max-width:735px){.item[data-v-94ff76c0]{font-size:.64706rem;line-height:1.63636;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);padding:0 8px}}.item[data-v-94ff76c0]:first-of-type{padding-left:0}.item[data-v-94ff76c0]:last-of-type{border:none}@media only screen and (max-width:735px){.item[data-v-94ff76c0]:last-of-type{padding-right:0}}.content[data-v-94ff76c0]{color:#fff}.icon[data-v-94ff76c0]{font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){.icon[data-v-94ff76c0]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.icon[data-v-94ff76c0]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.small-icon[data-v-94ff76c0]{width:1em;height:1em;margin-left:.2rem}.small-icon.xcode-icon[data-v-94ff76c0]{width:.8em;height:.8em}.content-link[data-v-94ff76c0]{display:flex;align-items:center}a[data-v-94ff76c0]{color:var(--colors-link,var(--color-tutorials-overview-link))}.duration[data-v-94ff76c0]{display:flex;align-items:baseline;font-size:2.35294rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);line-height:1.8rem}@media only screen and (max-width:735px){.duration[data-v-94ff76c0]{font-size:1.64706rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);line-height:1.3rem}}.minutes[data-v-94ff76c0]{display:inline-block;font-size:1.64706rem;line-height:1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);line-height:1.3rem}@media only screen and (max-width:735px){.minutes[data-v-94ff76c0]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);line-height:.8rem}}.item-large-icon[data-v-94ff76c0]{height:2.3rem;max-width:100%}@media only screen and (max-width:735px){.item-large-icon[data-v-94ff76c0]{height:1.5rem;max-width:100%}}.bottom[data-v-94ff76c0]{margin-top:13px}@media only screen and (max-width:735px){.bottom[data-v-94ff76c0]{margin-top:8px}}.hero[data-v-55543c5a]{color:var(--color-tutorial-hero-text);position:relative}.bg[data-v-55543c5a],.hero[data-v-55543c5a]{background-color:var(--color-tutorial-hero-background)}.bg[data-v-55543c5a]{background-position:top;background-repeat:no-repeat;background-size:cover;content:"";height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%}.row[data-v-55543c5a]{margin-left:auto;margin-right:auto;width:980px;padding:80px 0}@media only screen and (max-width:1250px){.row[data-v-55543c5a]{width:692px}}@media only screen and (max-width:735px){.row[data-v-55543c5a]{width:87.5%}}@media only screen and (max-width:320px){.row[data-v-55543c5a]{width:215px}}.col[data-v-55543c5a]{z-index:1}[data-v-55543c5a] .eyebrow{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-hero-eyebrow)}@media only screen and (max-width:1250px){[data-v-55543c5a] .eyebrow{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.headline[data-v-55543c5a]{font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);margin-bottom:2rem}@media only screen and (max-width:1250px){.headline[data-v-55543c5a]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.headline[data-v-55543c5a]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.intro[data-v-55543c5a]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){.intro[data-v-55543c5a]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content+p[data-v-55543c5a]{margin-top:var(--spacing-stacked-margin-large)}@media only screen and (max-width:735px){.content+p[data-v-55543c5a]{margin-top:8px}}.call-to-action[data-v-55543c5a]{display:flex;align-items:center}.call-to-action .cta-icon[data-v-55543c5a]{margin-left:.4rem;width:1em;height:1em}.metadata[data-v-55543c5a]{margin-top:2rem}.video-asset[data-v-55543c5a]{display:grid;height:100vh;margin:0;place-items:center center}.video-asset[data-v-55543c5a] video{max-width:1280px;min-width:320px;width:100%}@media only screen and (max-width:735px){.headline[data-v-55543c5a]{margin-bottom:19px}}.tutorial-hero[data-v-35a9482f]{margin-bottom:80px}@media only screen and (max-width:735px){.tutorial-hero[data-v-35a9482f]{margin-bottom:0}}.title[data-v-28135d78]{font-size:.70588rem;line-height:1.33333;color:var(--colors-secondary-label,var(--color-secondary-label))}.title[data-v-19ed40e2],.title[data-v-28135d78]{font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.title[data-v-19ed40e2]{font-size:1.11765rem;line-height:1.21053;color:var(--colors-header-text,var(--color-header-text));margin:25px 0}.question-content[data-v-19ed40e2] code{font-size:.76471rem;line-height:1.84615;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}.choices[data-v-19ed40e2]{display:flex;flex-direction:column;padding:0;list-style:none;margin:25px 0}.choice[data-v-19ed40e2]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);flex:1;border-radius:var(--border-radius,4px);margin:8px 0;padding:1.5rem 40px;cursor:pointer;background:var(--colors-text-background,var(--color-text-background));display:flex;flex-direction:column;justify-content:center;border-width:1px;border-style:solid;border-color:var(--colors-grid,var(--color-grid));position:relative}.choice[data-v-19ed40e2] img{max-height:23.52941rem}.choice[data-v-19ed40e2]:first-of-type{margin-top:0}.choice[data-v-19ed40e2] code{font-size:.76471rem;line-height:1.84615;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}.controls[data-v-19ed40e2]{text-align:center;margin-bottom:40px}.controls .button-cta[data-v-19ed40e2]{margin:.5rem;margin-top:0;padding:.3rem 3rem;min-width:8rem}input[type=radio][data-v-19ed40e2]{position:absolute;width:100%;left:0;height:100%;opacity:0;z-index:-1}.active[data-v-19ed40e2]{border-color:var(--color-tutorial-quiz-border-active);box-shadow:0 0 0 4px var(--color-focus-color);outline:none}.active [data-v-19ed40e2]{color:var(--colors-text,var(--color-text))}.correct[data-v-19ed40e2]{background:var(--color-form-valid-background);border-color:var(--color-form-valid)}.correct .choice-icon[data-v-19ed40e2]{fill:var(--color-form-valid)}.incorrect[data-v-19ed40e2]{background:var(--color-form-error-background);border-color:var(--color-form-error)}.incorrect .choice-icon[data-v-19ed40e2]{fill:var(--color-form-error)}.correct[data-v-19ed40e2],.incorrect[data-v-19ed40e2]{position:relative}.correct .choice-icon[data-v-19ed40e2],.incorrect .choice-icon[data-v-19ed40e2]{position:absolute;top:11px;left:10px;font-size:20px;width:1.05em}.disabled[data-v-19ed40e2]{pointer-events:none}.answer[data-v-19ed40e2]{margin:.5rem 1.5rem .5rem 0;font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.answer[data-v-19ed40e2]:last-of-type{margin-bottom:0}[data-v-19ed40e2] .question>.code-listing{padding:unset;border-radius:0}[data-v-19ed40e2] pre{padding:0}[data-v-19ed40e2] img{display:block;margin-left:auto;margin-right:auto;max-width:100%}.title[data-v-65e3c02c]{font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--colors-header-text,var(--color-header-text))}@media only screen and (max-width:1250px){.title[data-v-65e3c02c]{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-65e3c02c]{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.title p[data-v-65e3c02c]{color:var(--colors-text,var(--color-text))}.assessments[data-v-65e3c02c]{box-sizing:content-box;padding:0 1rem;background:var(--color-tutorial-assessments-background);margin-left:auto;margin-right:auto;width:980px;margin-bottom:80px}@media only screen and (max-width:1250px){.assessments[data-v-65e3c02c]{width:692px}}@media only screen and (max-width:735px){.assessments[data-v-65e3c02c]{width:87.5%}}@media only screen and (max-width:320px){.assessments[data-v-65e3c02c]{width:215px}}.banner[data-v-65e3c02c]{padding:40px 0;border-bottom:1px solid;margin-bottom:40px;border-color:var(--colors-grid,var(--color-grid));text-align:center}.success[data-v-65e3c02c]{text-align:center;padding-bottom:40px;font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--colors-text,var(--color-text))}@media only screen and (max-width:1250px){.success[data-v-65e3c02c]{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.success[data-v-65e3c02c]{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.assessments-wrapper[data-v-65e3c02c]{padding-top:80px}.assessments-wrapper[data-v-3c94366b]{padding-bottom:40px;padding-top:0}@media only screen and (max-width:735px){.assessments-wrapper[data-v-3c94366b]{padding-top:80px}}.article[data-v-7d4562ea]{background:var(--colors-article-background,var(--color-article-background))}@media only screen and (max-width:735px){.article[data-v-7d4562ea]{background:var(--colors-text-background,var(--color-article-body-background))}}.intro-container[data-v-7f9a8f65]{margin-bottom:80px}.intro[data-v-7f9a8f65]{display:flex;align-items:center}@media only screen and (max-width:735px){.intro[data-v-7f9a8f65]{padding-bottom:0;flex-direction:column}}.intro.ide .media[data-v-7f9a8f65] img{background-color:var(--colors-text-background,var(--color-text-background))}.col.left[data-v-7f9a8f65]{padding-right:40px}@media only screen and (max-width:1250px){.col.left[data-v-7f9a8f65]{padding-right:28px}}@media only screen and (max-width:735px){.col.left[data-v-7f9a8f65]{margin-left:auto;margin-right:auto;width:980px;padding-right:0}}@media only screen and (max-width:735px) and (max-width:1250px){.col.left[data-v-7f9a8f65]{width:692px}}@media only screen and (max-width:735px) and (max-width:735px){.col.left[data-v-7f9a8f65]{width:87.5%}}@media only screen and (max-width:735px) and (max-width:320px){.col.left[data-v-7f9a8f65]{width:215px}}.col.right[data-v-7f9a8f65]{padding-left:40px}@media only screen and (max-width:1250px){.col.right[data-v-7f9a8f65]{padding-left:28px}}@media only screen and (max-width:735px){.col.right[data-v-7f9a8f65]{padding-left:0}}.content[data-v-7f9a8f65]{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.media[data-v-7f9a8f65] img{width:auto;max-height:560px;min-height:18.82353rem;-o-object-fit:scale-down;object-fit:scale-down}@media only screen and (max-width:735px){.media[data-v-7f9a8f65]{margin:0;margin-top:40px}.media[data-v-7f9a8f65] img,.media[data-v-7f9a8f65] video{max-height:80vh}}.media[data-v-7f9a8f65] .asset{padding:0 20px}.headline[data-v-7f9a8f65]{color:var(--colors-header-text,var(--color-header-text))}[data-v-7f9a8f65] .eyebrow{font-size:1.23529rem;line-height:1.19048;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){[data-v-7f9a8f65] .eyebrow{font-size:1.11765rem;line-height:1.21053;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}[data-v-7f9a8f65] .eyebrow a{color:inherit}[data-v-7f9a8f65] .heading{font-size:1.88235rem;line-height:1.25;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:1250px){[data-v-7f9a8f65] .heading{font-size:1.64706rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){[data-v-7f9a8f65] .heading{font-size:1.41176rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.expanded-intro[data-v-7f9a8f65]{margin-left:auto;margin-right:auto;width:980px;margin-top:40px}@media only screen and (max-width:1250px){.expanded-intro[data-v-7f9a8f65]{width:692px}}@media only screen and (max-width:735px){.expanded-intro[data-v-7f9a8f65]{width:87.5%}}@media only screen and (max-width:320px){.expanded-intro[data-v-7f9a8f65]{width:215px}}[data-v-7f9a8f65] .cols-2{gap:20px 16.66667%}[data-v-7f9a8f65] .cols-3 .column{gap:20px 12.5%}.code-preview[data-v-4f53426a]{position:sticky;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:var(--background,var(--color-step-background));height:calc(100vh - 3.05882rem)}.code-preview.ide[data-v-4f53426a]{height:100vh}.code-preview[data-v-4f53426a] .code-listing{color:var(--text,var(--color-code-plain))}.code-preview[data-v-4f53426a] .code-listing .code-line-container{padding-right:14px}.code-preview[data-v-4f53426a] pre{font-size:.70588rem;line-height:1.83333;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}.header[data-v-4f53426a]{font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);position:relative;display:flex;justify-content:space-between;align-items:center;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer;font-weight:600;padding:8px 12px;border-radius:var(--border-radius,4px) var(--border-radius,4px) 0 0;z-index:1;background:var(--color-runtime-preview-background);color:var(--colors-runtime-preview-text,var(--color-runtime-preview-text))}.header[data-v-4f53426a]:focus{outline-style:none}#app.fromkeyboard .header[data-v-4f53426a]:focus{box-shadow:0 0 0 4px var(--color-focus-color);outline:none;border-color:var(--color-focus-border-color)}.runtime-preview[data-v-4f53426a]{--color-runtime-preview-shadow:rgba(0,0,0,0.4);position:absolute;top:0;right:0;background:var(--color-runtime-preview-background);border-radius:var(--border-radius,4px);margin:1rem;margin-left:0;transition:width .2s ease-in;box-shadow:0 0 3px 0 var(--color-runtime-preview-shadow)}@media screen{[data-color-scheme=dark] .runtime-preview[data-v-4f53426a]{--color-runtime-preview-shadow:hsla(0,0%,100%,0.4)}}@media screen and (prefers-color-scheme:dark){[data-color-scheme=auto] .runtime-preview[data-v-4f53426a]{--color-runtime-preview-shadow:hsla(0,0%,100%,0.4)}}@supports not ((width:-webkit-fill-available) or (width:-moz-available) or (width:stretch)){.runtime-preview[data-v-4f53426a]{display:flex;flex-direction:column}}.runtime-preview .runtimve-preview__container[data-v-4f53426a]{border-radius:var(--border-radius,4px);overflow:hidden}.runtime-preview-ide[data-v-4f53426a]{top:0}.runtime-preview-ide .runtime-preview-asset[data-v-4f53426a] img{background-color:var(--color-runtime-preview-background)}.runtime-preview.collapsed[data-v-4f53426a]{box-shadow:0 0 3px 0 var(--color-runtime-preview-shadow);width:102px}.runtime-preview.collapsed .header[data-v-4f53426a]{border-radius:var(--border-radius,4px)}.runtime-preview.disabled[data-v-4f53426a]{box-shadow:0 0 3px 0 transparent}.runtime-preview.disabled .header[data-v-4f53426a]{color:var(--color-runtime-preview-disabled-text);cursor:auto}.runtime-preview-asset[data-v-4f53426a]{border-radius:0 0 var(--border-radius,4px) var(--border-radius,4px)}.runtime-preview-asset[data-v-4f53426a] img{border-bottom-left-radius:var(--border-radius,4px);border-bottom-right-radius:var(--border-radius,4px)}.preview-icon[data-v-4f53426a]{height:.8em;width:.8em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.preview-show[data-v-4f53426a]{transform:scale(-1)}[data-v-5ad4e037] pre{padding:10px 0}.toggle-preview[data-v-78763c14]{color:var(--color-runtime-preview-disabled-text);display:flex;align-items:center}a[data-v-78763c14]{color:var(--url,var(--color-link))}.toggle-text[data-v-78763c14]{display:flex;align-items:center}svg.toggle-icon[data-v-78763c14]{width:1em;height:1em;margin-left:.5em}.mobile-code-preview[data-v-1aed4baa]{background-color:var(--background,var(--color-step-background));padding:14px 0}@media only screen and (max-width:735px){.mobile-code-preview[data-v-1aed4baa]{display:flex;flex-direction:column}}.runtime-preview-modal-content[data-v-1aed4baa]{padding:45px 60px 0 60px;min-width:200px}.runtime-preview-modal-content[data-v-1aed4baa] img:not(.file-icon){border-radius:var(--border-radius,4px);box-shadow:0 0 3px rgba(0,0,0,.4);max-height:80vh;width:auto;display:block;margin-bottom:1rem}.runtime-preview-modal-content .runtime-preview-label[data-v-1aed4baa]{font-size:.70588rem;line-height:1.33333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-runtime-preview-text);display:block;text-align:center;padding:.5em}[data-v-1aed4baa] .code-listing{color:var(--text,var(--color-code-plain))}[data-v-1aed4baa] .full-code-listing{padding-top:60px;min-height:calc(100vh - 60px)}[data-v-1aed4baa] pre{font-size:.70588rem;line-height:1.83333;font-weight:400;font-family:var(--typography-html-font-mono,Menlo,monospace)}.preview-toggle-container[data-v-1aed4baa]{align-self:flex-end;margin-right:20px}.step-container[data-v-eb45ec92]{margin:0}.step-container[data-v-eb45ec92]:not(:last-child){margin-bottom:100px}@media only screen and (max-width:735px){.step-container[data-v-eb45ec92]:not(:last-child){margin-bottom:80px}}.step[data-v-eb45ec92]{position:relative;border-radius:var(--tutorial-step-border-radius,var(--border-radius,4px));padding:1rem 2rem;background-color:var(--color-step-background);overflow:hidden;filter:blur(0)}.step[data-v-eb45ec92]:before{content:"";position:absolute;top:0;left:0;border:1px solid var(--color-step-focused);background-color:var(--color-step-focused);height:calc(100% - 2px);width:4px;opacity:0;transition:opacity .15s ease-in}.step.focused[data-v-eb45ec92],.step[data-v-eb45ec92]:focus{outline:none}.step.focused[data-v-eb45ec92]:before,.step[data-v-eb45ec92]:focus:before{opacity:1}@media only screen and (max-width:735px){.step[data-v-eb45ec92]{padding-left:2rem}.step[data-v-eb45ec92]:before{opacity:1}}.step-label[data-v-eb45ec92]{font-size:.70588rem;line-height:1.33333;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--colors-text,var(--color-step-text));margin-bottom:var(--spacing-stacked-margin-small)}.caption[data-v-eb45ec92]{border-top:1px solid;border-color:var(--color-step-caption);padding:1rem 0 0 0;margin-top:1rem}.media-container[data-v-eb45ec92]{display:none}@media only screen and (max-width:735px){.step[data-v-eb45ec92]{margin:0 .58824rem 1.17647rem .58824rem}.step.focused[data-v-eb45ec92],.step[data-v-eb45ec92]:focus{outline:none}.media-container[data-v-eb45ec92]{display:block;position:relative}.media-container[data-v-eb45ec92] img,.media-container[data-v-eb45ec92] video{max-height:80vh}[data-v-eb45ec92] .asset{padding:0 20px}}.steps[data-v-2786be2a]{position:relative;font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;color:var(--colors-text,var(--color-text))}@media only screen and (max-width:735px){.steps[data-v-2786be2a]{padding-top:80px}.steps[data-v-2786be2a]:before{position:absolute;top:0;border-top:1px solid var(--color-fill-gray-tertiary);content:"";width:calc(100% - 2.35294rem);margin:0 1.17647rem}}.steps[data-v-2786be2a] aside{background:unset;border:unset;box-shadow:unset;-moz-column-break-inside:unset;break-inside:unset;padding:unset}.steps[data-v-2786be2a] aside .label{font-size:.70588rem;line-height:1.33333;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.content-container[data-v-2786be2a]{flex:none;margin-right:4.16667%;width:37.5%;margin-top:140px;margin-bottom:94vh}@media only screen and (max-width:735px){.content-container[data-v-2786be2a]{margin-top:0;margin-bottom:0;height:100%;margin-left:0;margin-right:0;position:relative;width:100%}}.asset-container[data-v-2786be2a]{flex:none;height:calc(100vh - 3.05882rem);background-color:var(--background,var(--color-step-background));max-width:921px;width:calc(50vw + 8.33333%);position:sticky;top:3.05882rem;transition:margin .1s ease-in-out}@media only screen and (max-width:767px){.asset-container[data-v-2786be2a]{top:2.82353rem;height:calc(100vh - 2.82353rem)}}.asset-container[data-v-2786be2a]:not(.for-step-code){overflow-y:auto;-webkit-overflow-scrolling:touch}.asset-container.ide[data-v-2786be2a]{height:100vh;top:0}@media only screen and (min-width:736px){.asset-container[data-v-2786be2a]{display:grid}.asset-container>[data-v-2786be2a]{grid-row:1;grid-column:1;height:calc(100vh - 3.05882rem)}.asset-container.ide>[data-v-2786be2a]{height:100vh}}.asset-container .step-asset[data-v-2786be2a]{box-sizing:border-box;padding:0;padding-left:40px;min-height:320px;height:100%}.asset-container .step-asset[data-v-2786be2a],.asset-container .step-asset[data-v-2786be2a] picture{height:100%;display:flex;align-items:center}.asset-container .step-asset[data-v-2786be2a] .video-replay-container{height:100%;display:flex;flex-direction:column;justify-content:center}.asset-container .step-asset[data-v-2786be2a] img,.asset-container .step-asset[data-v-2786be2a] video{width:auto;max-height:calc(100vh - 3.05882rem - 80px);max-width:531.6634px;margin:0}@media only screen and (max-width:1250px){.asset-container .step-asset[data-v-2786be2a] img,.asset-container .step-asset[data-v-2786be2a] video{max-width:363.66436px}}.asset-container .step-asset[data-v-2786be2a] .video-replay-container,.asset-container .step-asset[data-v-2786be2a] img{min-height:320px}.asset-container .step-asset[data-v-2786be2a] .video-replay-container video{min-height:280px}@media only screen and (max-width:735px){.asset-container[data-v-2786be2a]{display:none}}.asset-wrapper[data-v-2786be2a]{width:63.2%;align-self:center;transition:transform .25s ease-out;will-change:transform}.asset-wrapper.ide .step-asset[data-v-2786be2a] img{background-color:var(--background,var(--color-step-background))}[data-v-2786be2a] .runtime-preview-asset{display:grid}[data-v-2786be2a] .runtime-preview-asset>*{grid-row:1;grid-column:1}.interstitial[data-v-2786be2a]{padding:0 2rem}.interstitial[data-v-2786be2a]:not(:first-child){margin-top:5.88235rem}.interstitial[data-v-2786be2a]:not(:last-child){margin-bottom:30px}@media only screen and (max-width:735px){.interstitial[data-v-2786be2a]{margin-left:auto;margin-right:auto;width:980px;padding:0}}@media only screen and (max-width:735px) and (max-width:1250px){.interstitial[data-v-2786be2a]{width:692px}}@media only screen and (max-width:735px) and (max-width:735px){.interstitial[data-v-2786be2a]{width:87.5%}}@media only screen and (max-width:735px) and (max-width:320px){.interstitial[data-v-2786be2a]{width:215px}}@media only screen and (max-width:735px){.interstitial[data-v-2786be2a]:not(:first-child){margin-top:0}}.fade-enter-active[data-v-2786be2a],.fade-leave-active[data-v-2786be2a]{transition:opacity .3s ease-in-out}.fade-enter[data-v-2786be2a],.fade-leave-to[data-v-2786be2a]{opacity:0}.section[data-v-6b3a0b3a]{padding-top:80px}.sections[data-v-79a75e9e]{margin-left:auto;margin-right:auto;width:980px}@media only screen and (max-width:1250px){.sections[data-v-79a75e9e]{width:692px}}@media only screen and (max-width:735px){.sections[data-v-79a75e9e]{width:87.5%}}@media only screen and (max-width:320px){.sections[data-v-79a75e9e]{width:215px}}@media only screen and (max-width:735px){.sections[data-v-79a75e9e]{margin:0;width:100%}}.tutorial[data-v-611d0574]{background-color:var(--colors-text-background,var(--color-tutorial-background))}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/css/tutorials-overview.c249c765.css b/document/MixSdk.doccarchive/css/tutorials-overview.c249c765.css
new file mode 100644 (file)
index 0000000..01d1d25
--- /dev/null
@@ -0,0 +1,9 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */.tutorials-navigation-link[data-v-e9f9b59c]{color:var(--color-tutorials-overview-navigation-link);transition:color .3s linear}.tutorials-navigation-link[data-v-e9f9b59c]:hover{text-decoration:none;transition:none;color:var(--color-tutorials-overview-navigation-link-hover)}.tutorials-navigation-link.active[data-v-e9f9b59c]{color:var(--color-tutorials-overview-navigation-link-active)}.tutorials-navigation-list[data-v-6f2800d1]{list-style-type:none;margin:0}.tutorials-navigation-list li+li[data-v-6f2800d1]:not(.volume--named){margin-top:24px}.tutorials-navigation-list .volume--named+.volume--named[data-v-6f2800d1]{margin-top:12px}.expand-enter-active,.expand-leave-active{transition:height .3s ease-in-out;overflow:hidden}.expand-enter,.expand-leave-to{height:0}.toggle[data-v-489416f8]{color:#f0f0f0;line-height:21px;display:flex;align-items:center;width:100%;font-weight:600;padding:6px 6px 6px 0;border-bottom:1px solid #2a2a2a;text-decoration:none;box-sizing:border-box}@media only screen and (max-width:767px){.toggle[data-v-489416f8]{padding-right:6px;border-bottom-color:hsla(0,0%,100%,.1)}}.toggle .text[data-v-489416f8]{word-break:break-word}.toggle[data-v-489416f8]:hover{text-decoration:none}.toggle .toggle-icon[data-v-489416f8]{display:inline-block;transition:transform .2s ease-in;height:.4em;width:.4em;margin-left:auto;margin-right:.2em}.collapsed .toggle .toggle-icon[data-v-489416f8]{transform:rotate(45deg)}.collapsed .toggle[data-v-489416f8],.collapsed .toggle[data-v-489416f8]:hover{color:#b0b0b0}.tutorials-navigation-menu-content[data-v-489416f8]{opacity:1;transition:height .2s ease-in,opacity .2s ease-in}.collapsed .tutorials-navigation-menu-content[data-v-489416f8]{height:0;opacity:0}.tutorials-navigation-menu-content .tutorials-navigation-list[data-v-489416f8]{padding:24px 0 12px 0}.tutorials-navigation[data-v-79093ed6]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.nav-title-content[data-v-854b4dd6]{max-width:100%}.title[data-v-854b4dd6]{color:var(--color-nav-root-title,currentColor);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:inline-block;vertical-align:top;max-width:296px}@media only screen and (max-width:1023px){.title[data-v-854b4dd6]{max-width:205px}}@media only screen and (max-width:767px){.title[data-v-854b4dd6]{flex-basis:fill;display:initial;vertical-align:initial;max-width:none}}.subhead[data-v-854b4dd6]{color:var(--color-nav-root-subhead)}.theme-dark .subhead[data-v-854b4dd6]{color:var(--color-nav-dark-root-subhead)}.nav[data-v-b806ee20] .nav-menu{padding-top:0}.nav[data-v-b806ee20] .nav-menu .nav-menu-items{margin-left:auto}@media only screen and (min-width:768px){.nav[data-v-b806ee20] .nav-menu .nav-menu-items .in-page-navigation{display:none}}@media only screen and (min-width:320px) and (max-width:735px){.nav[data-v-b806ee20] .nav-menu .nav-menu-items{padding:18px 0 40px}}.hero[data-v-383dab71]{margin-left:auto;margin-right:auto;width:980px;padding-bottom:4.70588rem;padding-top:4.70588rem}@media only screen and (max-width:1250px){.hero[data-v-383dab71]{width:692px}}@media only screen and (max-width:735px){.hero[data-v-383dab71]{width:87.5%}}@media only screen and (max-width:320px){.hero[data-v-383dab71]{width:215px}}.copy-container[data-v-383dab71]{margin:0 auto;text-align:center;width:720px}.title[data-v-383dab71]{font-size:2.82353rem;line-height:1.08333;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-content)}@media only screen and (max-width:1250px){.title[data-v-383dab71]{font-size:2.35294rem;line-height:1.1;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-383dab71]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content[data-v-383dab71]{font-size:1.23529rem;line-height:1.38095;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-content)}@media only screen and (max-width:735px){.content[data-v-383dab71]{font-size:1.11765rem;line-height:1.42105;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.meta[data-v-383dab71]{color:var(--color-tutorials-overview-content-alt);align-items:center;display:flex;justify-content:center}.meta-content[data-v-383dab71]{font-size:.82353rem;line-height:1.42857;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.meta .timer-icon[data-v-383dab71]{margin-right:.35294rem;height:16px;width:16px;fill:var(--color-tutorials-overview-icon)}@media only screen and (max-width:735px){.meta .timer-icon[data-v-383dab71]{margin-right:.29412rem;height:.82353rem;width:.82353rem}}.meta .time[data-v-383dab71]{font-size:1.11765rem;line-height:1.21053;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}@media only screen and (max-width:735px){.meta .time[data-v-383dab71]{font-size:1rem;line-height:1.11765;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.title+.content[data-v-383dab71]{margin-top:1.47059rem}.content+.meta[data-v-383dab71]{margin-top:1.17647rem}.button-cta[data-v-383dab71]{margin-top:1.76471rem}*+.asset[data-v-383dab71]{margin-top:4.11765rem}@media only screen and (max-width:1250px){.copy-container[data-v-383dab71]{width:636px}}@media only screen and (max-width:735px){.hero[data-v-383dab71]{padding-bottom:1.76471rem;padding-top:2.35294rem}.copy-container[data-v-383dab71]{width:100%}.title+.content[data-v-383dab71]{margin-top:.88235rem}.button-cta[data-v-383dab71]{margin-top:1.41176rem}*+.asset[data-v-383dab71]{margin-top:2.23529rem}}.image[data-v-569db166]{margin-bottom:10px}.name[data-v-569db166]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-header-text,#f0f0f0);word-break:break-word}@media only screen and (max-width:1250px){.name[data-v-569db166]{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.name[data-v-569db166]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content[data-v-569db166]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-content-alt);margin-top:10px}.volume-name[data-v-569db166]{padding:50px 60px;text-align:center;background:var(--color-tutorials-overview-fill-secondary,#161616);margin:2px 0}@media only screen and (max-width:735px){.volume-name[data-v-569db166]{padding:40px 20px}}.document-icon[data-v-3a80772b]{margin-left:-3px}.tile[data-v-96abac22]{background:var(--color-tutorials-overview-fill-secondary,#161616);padding:40px 30px;color:var(--color-tutorials-overview-content-alt)}.content[data-v-96abac22] a,a[data-v-96abac22]{color:var(--colors-link,var(--color-tutorials-overview-link))}.icon[data-v-96abac22]{display:block;height:1.47059rem;line-height:1.47059rem;margin-bottom:.58824rem;width:1.47059rem}.icon[data-v-96abac22] svg.svg-icon{width:100%;max-height:100%;fill:var(--color-tutorials-overview-icon)}.icon[data-v-96abac22] svg.svg-icon .svg-icon-stroke{stroke:var(--color-tutorials-overview-content-alt)}.title[data-v-96abac22]{font-size:1.23529rem;line-height:1.19048;font-weight:600;margin-bottom:.8em}.content[data-v-96abac22],.link[data-v-96abac22],.title[data-v-96abac22]{font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.content[data-v-96abac22],.link[data-v-96abac22]{font-size:.82353rem;line-height:1.42857;font-weight:400}.content[data-v-96abac22]{color:var(--color-tutorials-overview-content-alt)}.link[data-v-96abac22]{display:block;margin-top:1.17647rem}.link .link-icon[data-v-96abac22]{margin-left:.2em;width:.6em;height:.6em}[data-v-96abac22] .content ul{list-style-type:none;margin-left:0;font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}[data-v-96abac22] .content ul li:before{content:"\200B";position:absolute}[data-v-96abac22] .content li+li{margin-top:8px}@media only screen and (max-width:735px){.tile[data-v-96abac22]{padding:1.76471rem 1.17647rem}}.tile-group[data-v-015f9f13]{display:grid;grid-column-gap:2px;grid-row-gap:2px}.tile-group.count-1[data-v-015f9f13]{grid-template-columns:1fr;text-align:center}.tile-group.count-1[data-v-015f9f13] .icon{margin-left:auto;margin-right:auto}.tile-group.count-2[data-v-015f9f13]{grid-template-columns:repeat(2,1fr)}.tile-group.count-3[data-v-015f9f13]{grid-template-columns:repeat(3,1fr)}.tile-group.count-4[data-v-015f9f13]{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,auto)}.tile-group.count-5[data-v-015f9f13]{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,auto)}.tile-group.count-5 .tile[data-v-015f9f13]{grid-column-end:span 2}.tile-group.count-5 .tile[data-v-015f9f13]:nth-of-type(-n+2){grid-column-end:span 3}.tile-group.count-6[data-v-015f9f13]{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,auto)}@media only screen and (min-width:768px) and (max-width:1250px){.tile-group.tile-group[data-v-015f9f13]{grid-template-columns:1fr;grid-template-rows:auto}}@media only screen and (max-width:735px){.tile-group.count-1[data-v-015f9f13],.tile-group.count-2[data-v-015f9f13],.tile-group.count-3[data-v-015f9f13],.tile-group.count-4[data-v-015f9f13],.tile-group.count-5[data-v-015f9f13],.tile-group.count-6[data-v-015f9f13]{grid-template-columns:1fr;grid-template-rows:auto}}.title[data-v-7f8022c1]{font-size:1.88235rem;line-height:1.125;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:#f0f0f0}@media only screen and (max-width:1250px){.title[data-v-7f8022c1]{font-size:1.64706rem;line-height:1.14286;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}@media only screen and (max-width:735px){.title[data-v-7f8022c1]{font-size:1.41176rem;line-height:1.16667;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.content[data-v-7f8022c1]{font-size:1rem;line-height:1.23529;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:#b0b0b0;margin-top:10px}.topic-list[data-v-45ec37c5]{list-style-type:none;margin:50px 0 0 0;position:relative}.topic-list li[data-v-45ec37c5]:before{content:"\200B";position:absolute}.topic-list[data-v-45ec37c5]:before{content:"";border-left:1px solid var(--color-fill-quaternary);display:block;height:calc(100% - .88235rem);left:.88235rem;position:absolute;top:50%;transform:translateY(-50%);width:0}.topic[data-v-45ec37c5]{font-size:1rem;line-height:1.47059;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);display:flex;align-items:flex-start}@media only screen and (max-width:735px){.topic[data-v-45ec37c5]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}}.topic+.topic[data-v-45ec37c5]{margin-top:.58824rem}.topic .topic-icon[data-v-45ec37c5]{background-color:var(--color-fill-quaternary);border-radius:50%;flex-shrink:0;height:1.76471rem;width:1.76471rem;margin-right:1.17647rem;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.47059rem;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.topic .topic-icon svg[data-v-45ec37c5]{fill:var(--color-tutorials-overview-icon);max-width:100%;max-height:100%;width:100%}.container[data-v-45ec37c5]{align-items:baseline;display:flex;justify-content:space-between;width:100%;padding-top:.11765rem}.container[data-v-45ec37c5]:hover{text-decoration:none}.container:hover .link[data-v-45ec37c5]{text-decoration:underline}.timer-icon[data-v-45ec37c5]{margin-right:.29412rem;height:.70588rem;width:.70588rem;fill:var(--color-tutorials-overview-icon)}.time[data-v-45ec37c5]{font-size:.82353rem;line-height:1.28571;font-weight:400;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-content-alt);align-items:center;display:inline-flex}.link[data-v-45ec37c5]{padding-right:.58824rem;color:var(--colors-link,var(--color-tutorials-overview-link))}@media only screen and (min-width:768px) and (max-width:1250px){.topic-list[data-v-45ec37c5]{margin-top:2.35294rem}}@media only screen and (max-width:735px){.topic-list[data-v-45ec37c5]{margin-top:1.76471rem}.topic[data-v-45ec37c5]{height:auto;align-items:flex-start}.topic.no-time-estimate[data-v-45ec37c5]{align-items:center}.topic.no-time-estimate .topic-icon[data-v-45ec37c5]{align-self:flex-start;top:0}.topic+.topic[data-v-45ec37c5]{margin-top:1.17647rem}.topic .topic-icon[data-v-45ec37c5]{top:.29412rem;margin-right:.76471rem}.container[data-v-45ec37c5]{flex-wrap:wrap;padding-top:0}.link[data-v-45ec37c5],.time[data-v-45ec37c5]{flex-basis:100%}.time[data-v-45ec37c5]{margin-top:.29412rem}}.chapter[data-v-7468bc5e]:focus{outline:none!important}.info[data-v-7468bc5e]{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.name[data-v-7468bc5e]{font-size:1.23529rem;line-height:1.19048;font-weight:600;font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif);color:var(--color-tutorials-overview-header-text,#f0f0f0)}.name-text[data-v-7468bc5e]{word-break:break-word}.eyebrow[data-v-7468bc5e]{font-size:1rem;line-height:1.23529;font-weight:400;color:var(--color-tutorials-overview-eyebrow);display:block;font-weight:600;margin-bottom:5px}.content[data-v-7468bc5e],.eyebrow[data-v-7468bc5e]{font-family:var(--typography-html-font,"Helvetica Neue","Helvetica","Arial",sans-serif)}.content[data-v-7468bc5e]{font-size:.82353rem;line-height:1.42857;font-weight:400;color:var(--color-tutorials-overview-content-alt)}.asset[data-v-7468bc5e]{flex:0 0 190px}.intro[data-v-7468bc5e]{flex:0 1 360px}@media only screen and (min-width:768px) and (max-width:1250px){.asset[data-v-7468bc5e]{flex:0 0 130px}.intro[data-v-7468bc5e]{flex:0 1 260px}}@media only screen and (max-width:767px){.intro[data-v-7468bc5e]{flex:0 1 340px}}@media only screen and (max-width:735px){.info[data-v-7468bc5e]{display:block;text-align:center}.asset[data-v-7468bc5e]{margin:0 45px}.eyebrow[data-v-7468bc5e]{margin-bottom:7px}.intro[data-v-7468bc5e]{margin-top:40px}}.tile[data-v-540dbf10]{background:var(--color-tutorials-overview-fill-secondary,#161616);margin:2px 0;padding:50px 60px}.asset[data-v-540dbf10]{margin-bottom:10px}@media only screen and (min-width:768px) and (max-width:1250px){.tile[data-v-540dbf10]{padding:40px 30px}}@media only screen and (max-width:735px){.volume[data-v-540dbf10]{border-radius:0}.tile[data-v-540dbf10]{padding:40px 20px}}.learning-path[data-v-69a72bbc]{background:var(--color-tutorials-overview-fill,#000);padding:4.70588rem 0}.main-container[data-v-69a72bbc]{margin-left:auto;margin-right:auto;width:980px;align-items:stretch;display:flex;justify-content:space-between}@media only screen and (max-width:1250px){.main-container[data-v-69a72bbc]{width:692px}}@media only screen and (max-width:735px){.main-container[data-v-69a72bbc]{width:87.5%}}@media only screen and (max-width:320px){.main-container[data-v-69a72bbc]{width:215px}}.ide .main-container[data-v-69a72bbc]{justify-content:center}.secondary-content-container[data-v-69a72bbc]{flex:0 0 200px;width:200px}.tutorials-navigation[data-v-69a72bbc]{position:sticky;top:7.76471rem}.primary-content-container[data-v-69a72bbc]{flex:0 1 720px;max-width:100%}.content-sections-container .content-section[data-v-69a72bbc]{border-radius:12px;overflow:hidden}.content-sections-container .content-section+.content-section[data-v-69a72bbc]{margin-top:1.17647rem}@media only screen and (min-width:768px) and (max-width:1250px){.learning-path[data-v-69a72bbc]{padding:2.35294rem 0}.primary-content-container[data-v-69a72bbc]{flex-basis:auto;margin-left:1.29412rem}.secondary-content-container[data-v-69a72bbc]{flex:0 0 180px;width:180px}}@media only screen and (max-width:767px){.secondary-content-container[data-v-69a72bbc]{display:none}}@media only screen and (max-width:735px){.content-sections-container .content-section[data-v-69a72bbc]{border-radius:0}.content-sections-container .content-section.volume[data-v-69a72bbc]{margin-top:1.17647rem}.learning-path[data-v-69a72bbc]{padding:0}.main-container[data-v-69a72bbc]{width:100%}}.tutorials-overview[data-v-29ed9b58]{height:100%}.tutorials-overview .radial-gradient[data-v-29ed9b58]{margin-top:-3.05882rem;padding-top:3.05882rem;background:var(--color-tutorials-overview-fill-secondary,var(--color-tutorials-overview-background))}@media only screen and (max-width:735px){.tutorials-overview .radial-gradient[data-v-29ed9b58]{margin-top:-2.82353rem;padding-top:2.82353rem}}@-moz-document url-prefix(){.tutorials-overview .radial-gradient{background:#111!important}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk.json b/document/MixSdk.doccarchive/data/documentation/mixsdk.json
new file mode 100644 (file)
index 0000000..800b37b
--- /dev/null
@@ -0,0 +1 @@
+{"variants":[{"paths":["\/documentation\/mixsdk"],"traits":[{"interfaceLanguage":"swift"}]},{"paths":["\/documentation\/mixsdk"],"traits":[{"interfaceLanguage":"occ"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","interfaceLanguage":"swift"},"topicSections":[{"title":"Classes","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]},{"title":"Structures","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/LRC"]},{"title":"Type Aliases","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcQueryCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyleCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTaskCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLanuageCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLoginCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSRegisterCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttEventCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsEventCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsVoiceCallBack"]},{"title":"Enumerations","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError"]}],"kind":"symbol","metadata":{"roleHeading":"Framework","externalID":"MixSdk","title":"MixSdk","symbolKind":"module","role":"collection","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[[]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth":{"role":"symbol","title":"MSAuth","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAuth"}],"abstract":[{"type":"text","text":"鉴权管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAuth"}],"url":"\/documentation\/mixsdk\/msauth"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel":{"role":"symbol","title":"MSSttModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"abstract":[{"type":"text","text":"语音翻译结果模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}],"url":"\/documentation\/mixsdk\/mssttmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSLanuageCallBack":{"role":"symbol","title":"MSLanuageCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLanuageCallBack"}],"abstract":[{"type":"text","text":"获取支持语言回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLanuageCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSLanuageCallBack"}],"url":"\/documentation\/mixsdk\/mslanuagecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsVoiceCallBack":{"role":"symbol","title":"MSTtsVoiceCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsVoiceCallBack"}],"abstract":[{"type":"text","text":"语音合成数据回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsVoiceCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsVoiceCallBack"}],"url":"\/documentation\/mixsdk\/msttsvoicecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatCallBack":{"role":"symbol","title":"MSChatCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatCallBack"}],"abstract":[{"type":"text","text":"对话回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChatCallBack"}],"url":"\/documentation\/mixsdk\/mschatcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChat":{"role":"symbol","title":"MSChat","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChat"}],"abstract":[{"type":"text","text":"大模型对话管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChat"}],"url":"\/documentation\/mixsdk\/mschat"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslate":{"role":"symbol","title":"MSTranslate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslate"}],"abstract":[{"type":"text","text":"翻译管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslate"}],"url":"\/documentation\/mixsdk\/mstranslate"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage":{"role":"symbol","title":"MSTranslateLanguage","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"abstract":[{"type":"text","text":"翻译支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateLanguage"}],"url":"\/documentation\/mixsdk\/mstranslatelanguage"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttCallBack":{"role":"symbol","title":"MSSttCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttCallBack"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttCallBack"}],"url":"\/documentation\/mixsdk\/mssttcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSLoginCallBack":{"role":"symbol","title":"MSLoginCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLoginCallBack"}],"abstract":[{"type":"text","text":"登录回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLoginCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSLoginCallBack"}],"url":"\/documentation\/mixsdk\/mslogincallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateCallBack":{"role":"symbol","title":"MSTranslateCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateCallBack"}],"abstract":[{"type":"text","text":"翻译回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateCallBack"}],"url":"\/documentation\/mixsdk\/mstranslatecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSRegisterCallBack":{"role":"symbol","title":"MSRegisterCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSRegisterCallBack"}],"abstract":[{"type":"text","text":"注册回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSRegisterCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSRegisterCallBack"}],"url":"\/documentation\/mixsdk\/msregistercallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdkVersionString":{"role":"symbol","title":"MixSdkVersionString","fragments":[{"kind":"identifier","text":"MixSdkVersionString"}],"abstract":[{"type":"text","text":"Project version string for MixSdk."}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdkVersionString","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdkversionstring"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcQueryCallBack":{"role":"symbol","title":"MSAigcQueryCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcQueryCallBack"}],"abstract":[{"type":"text","text":"aigc查询任务回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcQueryCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcQueryCallBack"}],"url":"\/documentation\/mixsdk\/msaigcquerycallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle":{"role":"symbol","title":"MSAigcStyle","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyle"}],"abstract":[{"type":"text","text":"aigc算法类型模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyle"}],"url":"\/documentation\/mixsdk\/msaigcstyle"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts":{"role":"symbol","title":"MSTts","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"abstract":[{"type":"text","text":"文字转语音管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTts"}],"url":"\/documentation\/mixsdk\/mstts"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcResult":{"role":"symbol","title":"MSAigcResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcResult"}],"abstract":[{"type":"text","text":"aigc状态查询"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcResult"}],"url":"\/documentation\/mixsdk\/msaigcresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttEventCallBack":{"role":"symbol","title":"MSSttEventCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttEventCallBack"}],"abstract":[{"type":"text","text":"事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttEventCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttEventCallBack"}],"url":"\/documentation\/mixsdk\/msstteventcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc":{"role":"symbol","title":"MSAigc","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigc"}],"abstract":[{"type":"text","text":"aigc管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigc"}],"url":"\/documentation\/mixsdk\/msaigc"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel":{"role":"symbol","title":"MSChatModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatModel"}],"abstract":[{"type":"text","text":"对话模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChatModel"}],"url":"\/documentation\/mixsdk\/mschatmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdkVersionNumber":{"role":"symbol","title":"MixSdkVersionNumber","fragments":[{"kind":"identifier","text":"MixSdkVersionNumber"}],"abstract":[{"type":"text","text":"Project version number for MixSdk."}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdkVersionNumber","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdkversionnumber"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt":{"role":"symbol","title":"MSStt","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"abstract":[{"type":"text","text":"语音转文字管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSStt"}],"url":"\/documentation\/mixsdk\/msstt"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult":{"role":"symbol","title":"MSSttResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"abstract":[{"type":"text","text":"语音识别结果"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}],"url":"\/documentation\/mixsdk\/mssttresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyleCallBack":{"role":"symbol","title":"MSAigcStyleCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyleCallBack"}],"abstract":[{"type":"text","text":"aigc获取算法类型回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyleCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyleCallBack"}],"url":"\/documentation\/mixsdk\/msaigcstylecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/LRC":{"role":"symbol","title":"LRC","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/LRC","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"LRC"}],"url":"\/documentation\/mixsdk\/lrc"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel":{"role":"symbol","title":"MSTtsModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"abstract":[{"type":"text","text":"语音合成事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsModel"}],"url":"\/documentation\/mixsdk\/msttsmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTaskCallBack":{"role":"symbol","title":"MSAigcTaskCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTaskCallBack"}],"abstract":[{"type":"text","text":"aigc任务回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTaskCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTaskCallBack"}],"url":"\/documentation\/mixsdk\/msaigctaskcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsEventCallBack":{"role":"symbol","title":"MSTtsEventCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsEventCallBack"}],"abstract":[{"type":"text","text":"合成事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsEventCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsEventCallBack"}],"url":"\/documentation\/mixsdk\/msttseventcallback"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/identifier\/interfaceLanguage","value":"occ"},{"op":"replace","path":"\/topicSections","value":[{"title":"Classes","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]},{"title":"Variables","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdkVersionNumber","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdkVersionString"]}]},{"op":"add","path":"\/relationshipsSections","value":null},{"op":"add","path":"\/seeAlsoSections","value":null},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/lrc.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/lrc.json
new file mode 100644 (file)
index 0000000..cb5342f
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/lrc"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/LRC","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"title":"LRC","roleHeading":"Structure","role":"symbol","symbolKind":"struct","externalID":"s:6MixSdk3LRCV","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"LRC"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/LRC":{"role":"symbol","title":"LRC","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"LRC"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/LRC","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"LRC"}],"url":"\/documentation\/mixsdk\/lrc"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk.json
new file mode 100644 (file)
index 0000000..2182dc3
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk"],"traits":[{"interfaceLanguage":"swift"}]},{"paths":["\/documentation\/mixsdk\/mixsdk"],"traits":[{"interfaceLanguage":"occ"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/objc(cs)NSObject"],"kind":"relationships","title":"Inherits From","type":"inheritsFrom"},{"identifiers":["doc:\/\/ZhiHui.MixSdk\/objc(pl)NSObject","doc:\/\/ZhiHui.MixSdk\/s7CVarArgP","doc:\/\/ZhiHui.MixSdk\/s28CustomDebugStringConvertibleP","doc:\/\/ZhiHui.MixSdk\/s23CustomStringConvertibleP","doc:\/\/ZhiHui.MixSdk\/SQ","doc:\/\/ZhiHui.MixSdk\/SH"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"SDK 管理类"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"title":"MixSdk","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"c:@M@MixSdk@objc(cs)MixSdk","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/aigc","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/auth","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/chat","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/isDebug","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/logs","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/stt","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/translate","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/tts","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/version"]},{"title":"Instance Methods","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/initSDK()"]},{"title":"Type Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/shared"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/shared":{"role":"symbol","title":"shared","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"shared"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MixSdk","preciseIdentifier":"c:@M@MixSdk@objc(cs)MixSdk"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/shared","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/shared"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/chat":{"role":"symbol","title":"chat","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"chat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSChat","preciseIdentifier":"s:6MixSdk6MSChatC"}],"abstract":[{"type":"text","text":"大模型对话"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/chat","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/chat"},"doc://ZhiHui.MixSdk/s28CustomDebugStringConvertibleP":{"type":"unresolvable","title":"Swift.CustomDebugStringConvertible","identifier":"doc:\/\/ZhiHui.MixSdk\/s28CustomDebugStringConvertibleP"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/version":{"role":"symbol","title":"version","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"version"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"SDK 版本号"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/version","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/version"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/isDebug":{"role":"symbol","title":"isDebug","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDebug"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"默认为 false"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/isDebug","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/isdebug"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/aigc":{"role":"symbol","title":"aigc","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"aigc"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigc","preciseIdentifier":"s:6MixSdk6MSAigcC"}],"abstract":[{"type":"text","text":"人工智能AIGC"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/aigc","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/aigc"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/tts":{"role":"symbol","title":"tts","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tts"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTts","preciseIdentifier":"s:6MixSdk5MSTtsC"}],"abstract":[{"type":"text","text":"文字转语音"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/tts","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/tts"},"doc://ZhiHui.MixSdk/SQ":{"type":"unresolvable","title":"Swift.Equatable","identifier":"doc:\/\/ZhiHui.MixSdk\/SQ"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/auth":{"role":"symbol","title":"auth","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"auth"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAuth","preciseIdentifier":"s:6MixSdk6MSAuthC"}],"abstract":[{"type":"text","text":"鉴权"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/auth","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/auth"},"doc://ZhiHui.MixSdk/objc(pl)NSObject":{"type":"unresolvable","title":"ObjectiveC.NSObjectProtocol","identifier":"doc:\/\/ZhiHui.MixSdk\/objc(pl)NSObject"},"doc://ZhiHui.MixSdk/SH":{"type":"unresolvable","title":"Swift.Hashable","identifier":"doc:\/\/ZhiHui.MixSdk\/SH"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/stt":{"role":"symbol","title":"stt","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stt"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSStt","preciseIdentifier":"s:6MixSdk5MSSttC"}],"abstract":[{"type":"text","text":"语音转文字"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/stt","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/stt"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/translate":{"role":"symbol","title":"translate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"translate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTranslate","preciseIdentifier":"s:6MixSdk11MSTranslateC"}],"abstract":[{"type":"text","text":"翻译"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/translate","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/translate"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/initSDK()":{"role":"symbol","title":"initSDK()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"initSDK"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"初始化工作"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/initSDK()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/initsdk()"},"doc://ZhiHui.MixSdk/objc(cs)NSObject":{"type":"unresolvable","title":"NSObject","identifier":"doc:\/\/ZhiHui.MixSdk\/objc(cs)NSObject"},"doc://ZhiHui.MixSdk/s23CustomStringConvertibleP":{"type":"unresolvable","title":"Swift.CustomStringConvertible","identifier":"doc:\/\/ZhiHui.MixSdk\/s23CustomStringConvertibleP"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/logs":{"role":"symbol","title":"logs","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"logs"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"日志"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/logs","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/logs"},"doc://ZhiHui.MixSdk/s7CVarArgP":{"type":"unresolvable","title":"Swift.CVarArg","identifier":"doc:\/\/ZhiHui.MixSdk\/s7CVarArgP"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/identifier\/interfaceLanguage","value":"occ"},{"op":"replace","path":"\/metadata\/roleHeading","value":"Class"},{"op":"replace","path":"\/metadata\/title","value":"MixSdk"},{"op":"replace","path":"\/metadata\/symbolKind","value":"class"},{"op":"replace","path":"\/metadata\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]},{"op":"replace","path":"\/metadata\/navigatorTitle","value":[{"kind":"identifier","text":"MixSdk"}]},{"op":"replace","path":"\/topicSections","value":null},{"op":"replace","path":"\/relationshipsSections","value":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/objc(cs)NSObject"],"kind":"relationships","title":"Inherits From","type":"inheritsFrom"}]},{"op":"add","path":"\/seeAlsoSections","value":null},{"op":"replace","path":"\/primaryContentSections\/0","value":{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"@interface"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"},{"kind":"text","text":" : "},{"kind":"typeIdentifier","text":"NSObject","preciseIdentifier":"c:objc(cs)NSObject"}],"languages":["occ"],"platforms":["iOS"]}]}},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/aigc.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/aigc.json
new file mode 100644 (file)
index 0000000..ec2450b
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"aigc"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc","preciseIdentifier":"s:6MixSdk6MSAigcC","text":"MSAigc"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/aigc"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/aigc","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"人工智能AIGC"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"aigc"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigc","preciseIdentifier":"s:6MixSdk6MSAigcC"}],"title":"aigc","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC4aigcAA6MSAigcCvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc":{"role":"symbol","title":"MSAigc","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigc"}],"abstract":[{"type":"text","text":"aigc管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigc"}],"url":"\/documentation\/mixsdk\/msaigc"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/aigc":{"role":"symbol","title":"aigc","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"aigc"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigc","preciseIdentifier":"s:6MixSdk6MSAigcC"}],"abstract":[{"type":"text","text":"人工智能AIGC"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/aigc","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/aigc"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/auth.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/auth.json
new file mode 100644 (file)
index 0000000..fa1c9a3
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"auth"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth","preciseIdentifier":"s:6MixSdk6MSAuthC","text":"MSAuth"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/auth"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/auth","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"鉴权"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"auth"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAuth","preciseIdentifier":"s:6MixSdk6MSAuthC"}],"title":"auth","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC4authAA6MSAuthCvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/auth":{"role":"symbol","title":"auth","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"auth"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAuth","preciseIdentifier":"s:6MixSdk6MSAuthC"}],"abstract":[{"type":"text","text":"鉴权"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/auth","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/auth"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth":{"role":"symbol","title":"MSAuth","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAuth"}],"abstract":[{"type":"text","text":"鉴权管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAuth"}],"url":"\/documentation\/mixsdk\/msauth"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/chat.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/chat.json
new file mode 100644 (file)
index 0000000..86e0e97
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"chat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat","preciseIdentifier":"s:6MixSdk6MSChatC","text":"MSChat"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/chat"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/chat","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"大模型对话"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"chat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSChat","preciseIdentifier":"s:6MixSdk6MSChatC"}],"title":"chat","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC4chatAA6MSChatCvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChat":{"role":"symbol","title":"MSChat","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChat"}],"abstract":[{"type":"text","text":"大模型对话管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChat"}],"url":"\/documentation\/mixsdk\/mschat"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/chat":{"role":"symbol","title":"chat","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"chat"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSChat","preciseIdentifier":"s:6MixSdk6MSChatC"}],"abstract":[{"type":"text","text":"大模型对话"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/chat","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/chat"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/initsdk().json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/initsdk().json
new file mode 100644 (file)
index 0000000..313dd4e
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"initSDK"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/initsdk()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/initSDK()","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"初始化工作"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"initSDK"},{"kind":"text","text":"()"}],"title":"initSDK()","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:6MixSdkAAC7initSDKyyF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/initSDK()":{"role":"symbol","title":"initSDK()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"initSDK"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"初始化工作"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/initSDK()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/initsdk()"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/isdebug.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/isdebug.json
new file mode 100644 (file)
index 0000000..95fb1a9
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDebug"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" "},{"kind":"keyword","text":"set"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/isdebug"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/isDebug","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"默认为 false"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDebug"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"title":"isDebug","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC7isDebugSbvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/isDebug":{"role":"symbol","title":"isDebug","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"isDebug"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"默认为 false"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/isDebug","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/isdebug"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/logs.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/logs.json
new file mode 100644 (file)
index 0000000..42c4e73
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"logs"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"] { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/logs"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/logs","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"日志"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"logs"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]"}],"title":"logs","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC4logsSaySSGvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/logs":{"role":"symbol","title":"logs","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"logs"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]"}],"abstract":[{"type":"text","text":"日志"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/logs","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/logs"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/shared.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/shared.json
new file mode 100644 (file)
index 0000000..dbc2b0d
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"shared"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","preciseIdentifier":"c:@M@MixSdk@objc(cs)MixSdk","text":"MixSdk"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/shared"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/shared","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"shared"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MixSdk","preciseIdentifier":"c:@M@MixSdk@objc(cs)MixSdk"}],"title":"shared","roleHeading":"Type Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC6sharedABvpZ","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/shared":{"role":"symbol","title":"shared","fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"shared"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MixSdk","preciseIdentifier":"c:@M@MixSdk@objc(cs)MixSdk"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/shared","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/shared"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/stt.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/stt.json
new file mode 100644 (file)
index 0000000..aa6805a
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stt"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","preciseIdentifier":"s:6MixSdk5MSSttC","text":"MSStt"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/stt"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/stt","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"语音转文字"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stt"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSStt","preciseIdentifier":"s:6MixSdk5MSSttC"}],"title":"stt","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC3sttAA5MSSttCvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt":{"role":"symbol","title":"MSStt","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"abstract":[{"type":"text","text":"语音转文字管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSStt"}],"url":"\/documentation\/mixsdk\/msstt"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/stt":{"role":"symbol","title":"stt","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"stt"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSStt","preciseIdentifier":"s:6MixSdk5MSSttC"}],"abstract":[{"type":"text","text":"语音转文字"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/stt","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/stt"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/translate.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/translate.json
new file mode 100644 (file)
index 0000000..70d81e8
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"translate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate","preciseIdentifier":"s:6MixSdk11MSTranslateC","text":"MSTranslate"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/translate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/translate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"翻译"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"translate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTranslate","preciseIdentifier":"s:6MixSdk11MSTranslateC"}],"title":"translate","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC9translateAA11MSTranslateCvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/translate":{"role":"symbol","title":"translate","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"translate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTranslate","preciseIdentifier":"s:6MixSdk11MSTranslateC"}],"abstract":[{"type":"text","text":"翻译"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/translate","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/translate"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslate":{"role":"symbol","title":"MSTranslate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslate"}],"abstract":[{"type":"text","text":"翻译管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslate"}],"url":"\/documentation\/mixsdk\/mstranslate"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/tts.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/tts.json
new file mode 100644 (file)
index 0000000..64ee2ff
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tts"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","preciseIdentifier":"s:6MixSdk5MSTtsC","text":"MSTts"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/tts"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/tts","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文字转语音"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tts"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTts","preciseIdentifier":"s:6MixSdk5MSTtsC"}],"title":"tts","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC3ttsAA5MSTtsCvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/tts":{"role":"symbol","title":"tts","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"tts"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTts","preciseIdentifier":"s:6MixSdk5MSTtsC"}],"abstract":[{"type":"text","text":"文字转语音"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/tts","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/tts"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts":{"role":"symbol","title":"MSTts","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"abstract":[{"type":"text","text":"文字转语音管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTts"}],"url":"\/documentation\/mixsdk\/mstts"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/version.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdk/version.json
new file mode 100644 (file)
index 0000000..2a9aa7b
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"version"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdk\/version"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/version","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"SDK 版本号"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"version"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"version","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdkAAC7versionSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk/version":{"role":"symbol","title":"version","fragments":[{"kind":"keyword","text":"let"},{"kind":"text","text":" "},{"kind":"identifier","text":"version"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"SDK 版本号"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk\/version","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdk\/version"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdk":{"role":"symbol","title":"MixSdk","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdk"}],"abstract":[{"type":"text","text":"SDK 管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdk","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MixSdk"}],"url":"\/documentation\/mixsdk\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}},"variantOverrides":[{"patch":[{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/title","value":"MixSdk"},{"op":"replace","path":"\/references\/doc:~1~1ZhiHui.MixSdk~1documentation~1MixSdk~1MixSdk\/fragments","value":[{"kind":"identifier","text":"MixSdk"}]}],"traits":[{"interfaceLanguage":"occ"}]}]}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdkversionnumber.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdkversionnumber.json
new file mode 100644 (file)
index 0000000..607eb60
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extern"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"double","preciseIdentifier":"c:d"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdkVersionNumber"}],"languages":["occ"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdkversionnumber"],"traits":[{"interfaceLanguage":"occ"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdkVersionNumber","interfaceLanguage":"occ"},"abstract":[{"type":"text","text":"Project version number for MixSdk."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"MixSdkVersionNumber"}],"title":"MixSdkVersionNumber","roleHeading":"Global Variable","role":"symbol","symbolKind":"var","externalID":"c:@MixSdkVersionNumber","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MixSdkVersionNumber"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdkVersionNumber":{"role":"symbol","title":"MixSdkVersionNumber","fragments":[{"kind":"identifier","text":"MixSdkVersionNumber"}],"abstract":[{"type":"text","text":"Project version number for MixSdk."}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdkVersionNumber","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdkversionnumber"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdkversionstring.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mixsdkversionstring.json
new file mode 100644 (file)
index 0000000..d1e0859
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"extern"},{"kind":"text","text":" "},{"kind":"keyword","text":"const"},{"kind":"text","text":" "},{"kind":"typeIdentifier","text":"unsigned char","preciseIdentifier":"c:c"},{"kind":"text","text":" "},{"kind":"identifier","text":"MixSdkVersionString"},{"kind":"text","text":"[]"}],"languages":["occ"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mixsdkversionstring"],"traits":[{"interfaceLanguage":"occ"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdkVersionString","interfaceLanguage":"occ"},"abstract":[{"type":"text","text":"Project version string for MixSdk."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"MixSdkVersionString"}],"title":"MixSdkVersionString","roleHeading":"Global Variable","role":"symbol","symbolKind":"var","externalID":"c:@MixSdkVersionString","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MixSdkVersionString"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MixSdkVersionString":{"role":"symbol","title":"MixSdkVersionString","fragments":[{"kind":"identifier","text":"MixSdkVersionString"}],"abstract":[{"type":"text","text":"Project version string for MixSdk."}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MixSdkVersionString","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mixsdkversionstring"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc.json
new file mode 100644 (file)
index 0000000..321fdd8
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigc"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigc"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"aigc管理类"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigc"}],"title":"MSAigc","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk6MSAigcC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSAigc"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Instance Methods","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/createTask(_:completeHandler:)","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/getResult(taskId:completeHandler:)","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/getStyle(type:completeHandler:)"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc/createTask(_:completeHandler:)":{"role":"symbol","title":"createTask(_:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"createTask"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"MSAigcTask","preciseIdentifier":"s:6MixSdk10MSAigcTaskC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigcTaskCallBack","preciseIdentifier":"s:6MixSdk18MSAigcTaskCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"创建任务"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/createTask(_:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigc\/createtask(_:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc":{"role":"symbol","title":"MSAigc","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigc"}],"abstract":[{"type":"text","text":"aigc管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigc"}],"url":"\/documentation\/mixsdk\/msaigc"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc/getStyle(type:completeHandler:)":{"role":"symbol","title":"getStyle(type:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getStyle"},{"kind":"text","text":"("},{"kind":"externalParam","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigcStyleCallBack","preciseIdentifier":"s:6MixSdk19MSAigcStyleCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"获取算法类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/getStyle(type:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigc\/getstyle(type:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc/getResult(taskId:completeHandler:)":{"role":"symbol","title":"getResult(taskId:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getResult"},{"kind":"text","text":"("},{"kind":"externalParam","text":"taskId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigcQueryCallBack","preciseIdentifier":"s:6MixSdk19MSAigcQueryCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"查询任务状态"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/getResult(taskId:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigc\/getresult(taskid:completehandler:)"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc/createtask(_:completehandler:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc/createtask(_:completehandler:).json
new file mode 100644 (file)
index 0000000..a5b8739
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"createTask"},{"kind":"text","text":"("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"task"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","preciseIdentifier":"s:6MixSdk10MSAigcTaskC","text":"MSAigcTask"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTaskCallBack","preciseIdentifier":"s:6MixSdk18MSAigcTaskCallBacka","text":"MSAigcTaskCallBack"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"task","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"任务参数"}]}]},{"name":"completeHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigc\/createtask(_:completehandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/createTask(_:completeHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"创建任务"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"createTask"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"MSAigcTask","preciseIdentifier":"s:6MixSdk10MSAigcTaskC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigcTaskCallBack","preciseIdentifier":"s:6MixSdk18MSAigcTaskCallBacka"},{"kind":"text","text":")"}],"title":"createTask(_:completeHandler:)","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:6MixSdk6MSAigcC10createTask_15completeHandleryAA0cE0C_ySSSg_AA7MSErrorOSgtctF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTaskCallBack":{"role":"symbol","title":"MSAigcTaskCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTaskCallBack"}],"abstract":[{"type":"text","text":"aigc任务回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTaskCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTaskCallBack"}],"url":"\/documentation\/mixsdk\/msaigctaskcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc":{"role":"symbol","title":"MSAigc","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigc"}],"abstract":[{"type":"text","text":"aigc管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigc"}],"url":"\/documentation\/mixsdk\/msaigc"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc/createTask(_:completeHandler:)":{"role":"symbol","title":"createTask(_:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"createTask"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"MSAigcTask","preciseIdentifier":"s:6MixSdk10MSAigcTaskC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigcTaskCallBack","preciseIdentifier":"s:6MixSdk18MSAigcTaskCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"创建任务"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/createTask(_:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigc\/createtask(_:completehandler:)"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc/getresult(taskid:completehandler:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc/getresult(taskid:completehandler:).json
new file mode 100644 (file)
index 0000000..582bc3f
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getResult"},{"kind":"text","text":"("},{"kind":"externalParam","text":"taskId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcQueryCallBack","preciseIdentifier":"s:6MixSdk19MSAigcQueryCallBacka","text":"MSAigcQueryCallBack"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"taskId","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"任务id"}]}]},{"name":"completeHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigc\/getresult(taskid:completehandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/getResult(taskId:completeHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"查询任务状态"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getResult"},{"kind":"text","text":"("},{"kind":"externalParam","text":"taskId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigcQueryCallBack","preciseIdentifier":"s:6MixSdk19MSAigcQueryCallBacka"},{"kind":"text","text":")"}],"title":"getResult(taskId:completeHandler:)","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:6MixSdk6MSAigcC9getResult6taskId15completeHandlerySS_ySaySSGSg_AA7MSErrorOSgtctF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc":{"role":"symbol","title":"MSAigc","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigc"}],"abstract":[{"type":"text","text":"aigc管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigc"}],"url":"\/documentation\/mixsdk\/msaigc"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc/getResult(taskId:completeHandler:)":{"role":"symbol","title":"getResult(taskId:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getResult"},{"kind":"text","text":"("},{"kind":"externalParam","text":"taskId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigcQueryCallBack","preciseIdentifier":"s:6MixSdk19MSAigcQueryCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"查询任务状态"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/getResult(taskId:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigc\/getresult(taskid:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcQueryCallBack":{"role":"symbol","title":"MSAigcQueryCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcQueryCallBack"}],"abstract":[{"type":"text","text":"aigc查询任务回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcQueryCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcQueryCallBack"}],"url":"\/documentation\/mixsdk\/msaigcquerycallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc/getstyle(type:completehandler:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigc/getstyle(type:completehandler:).json
new file mode 100644 (file)
index 0000000..c59a131
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getStyle"},{"kind":"text","text":"("},{"kind":"externalParam","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyleCallBack","preciseIdentifier":"s:6MixSdk19MSAigcStyleCallBacka","text":"MSAigcStyleCallBack"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"type","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"0:⽂字⽣图,1: ⽂+图⽣图 5:图⽣图(⻛格变换)"}]}]},{"name":"completeHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigc\/getstyle(type:completehandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/getStyle(type:completeHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取算法类型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getStyle"},{"kind":"text","text":"("},{"kind":"externalParam","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigcStyleCallBack","preciseIdentifier":"s:6MixSdk19MSAigcStyleCallBacka"},{"kind":"text","text":")"}],"title":"getStyle(type:completeHandler:)","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:6MixSdk6MSAigcC8getStyle4type15completeHandlerySi_ySayAA0cE0CGSg_AA7MSErrorOSgtctF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc":{"role":"symbol","title":"MSAigc","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigc"}],"abstract":[{"type":"text","text":"aigc管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigc"}],"url":"\/documentation\/mixsdk\/msaigc"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyleCallBack":{"role":"symbol","title":"MSAigcStyleCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyleCallBack"}],"abstract":[{"type":"text","text":"aigc获取算法类型回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyleCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyleCallBack"}],"url":"\/documentation\/mixsdk\/msaigcstylecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigc/getStyle(type:completeHandler:)":{"role":"symbol","title":"getStyle(type:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getStyle"},{"kind":"text","text":"("},{"kind":"externalParam","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSAigcStyleCallBack","preciseIdentifier":"s:6MixSdk19MSAigcStyleCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"获取算法类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigc\/getStyle(type:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigc\/getstyle(type:completehandler:)"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcquerycallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcquerycallback.json
new file mode 100644 (file)
index 0000000..b243536
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcQueryCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"urls"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"]?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"error"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","preciseIdentifier":"s:6MixSdk7MSErrorO","text":"MSError"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcquerycallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcQueryCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"aigc查询任务回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcQueryCallBack"}],"title":"MSAigcQueryCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk19MSAigcQueryCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSAigcQueryCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcQueryCallBack":{"role":"symbol","title":"MSAigcQueryCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcQueryCallBack"}],"abstract":[{"type":"text","text":"aigc查询任务回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcQueryCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcQueryCallBack"}],"url":"\/documentation\/mixsdk\/msaigcquerycallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcresult.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcresult.json
new file mode 100644 (file)
index 0000000..0692e7b
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcResult"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcresult"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/Se","doc:\/\/ZhiHui.MixSdk\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"aigc状态查询"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcResult"}],"title":"MSAigcResult","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk12MSAigcResultC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSAigcResult"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult\/url"]}],"references":{"doc://ZhiHui.MixSdk/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/ZhiHui.MixSdk\/Se"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcResult/url":{"role":"symbol","title":"url","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"url"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult\/url","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcresult\/url"},"doc://ZhiHui.MixSdk/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/ZhiHui.MixSdk\/SE"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcResult/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcresult\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcResult":{"role":"symbol","title":"MSAigcResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcResult"}],"abstract":[{"type":"text","text":"aigc状态查询"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcResult"}],"url":"\/documentation\/mixsdk\/msaigcresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcresult/init(from:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcresult/init(from:).json
new file mode 100644 (file)
index 0000000..be44961
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcresult\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:6MixSdk12MSAigcResultC4fromACs7Decoder_p_tKcfc","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcResult":{"role":"symbol","title":"MSAigcResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcResult"}],"abstract":[{"type":"text","text":"aigc状态查询"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcResult"}],"url":"\/documentation\/mixsdk\/msaigcresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcResult/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcresult\/init(from:)"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcresult/url.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcresult/url.json
new file mode 100644 (file)
index 0000000..938e3a7
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcresult\/url"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult\/url","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"url"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"url","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk12MSAigcResultC3urlSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcResult":{"role":"symbol","title":"MSAigcResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcResult"}],"abstract":[{"type":"text","text":"aigc状态查询"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcResult"}],"url":"\/documentation\/mixsdk\/msaigcresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcResult/url":{"role":"symbol","title":"url","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"url"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcResult\/url","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcresult\/url"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle.json
new file mode 100644 (file)
index 0000000..d2b7518
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyle"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcstyle"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/Se","doc:\/\/ZhiHui.MixSdk\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"aigc算法类型模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyle"}],"title":"MSAigcStyle","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk11MSAigcStyleC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSAigcStyle"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/code","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/name","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/url"]}],"references":{"doc://ZhiHui.MixSdk/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/ZhiHui.MixSdk\/Se"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcstyle\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle":{"role":"symbol","title":"MSAigcStyle","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyle"}],"abstract":[{"type":"text","text":"aigc算法类型模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyle"}],"url":"\/documentation\/mixsdk\/msaigcstyle"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"名称"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/name","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcstyle\/name"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle/code":{"role":"symbol","title":"code","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"代码"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/code","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcstyle\/code"},"doc://ZhiHui.MixSdk/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/ZhiHui.MixSdk\/SE"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle/url":{"role":"symbol","title":"url","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"链接"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/url","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcstyle\/url"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/code.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/code.json
new file mode 100644 (file)
index 0000000..9d80ca3
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcstyle\/code"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/code","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"代码"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"code","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSAigcStyleC4codeSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle":{"role":"symbol","title":"MSAigcStyle","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyle"}],"abstract":[{"type":"text","text":"aigc算法类型模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyle"}],"url":"\/documentation\/mixsdk\/msaigcstyle"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle/code":{"role":"symbol","title":"code","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"代码"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/code","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcstyle\/code"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/init(from:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/init(from:).json
new file mode 100644 (file)
index 0000000..8072f93
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcstyle\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:6MixSdk11MSAigcStyleC4fromACs7Decoder_p_tKcfc","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcstyle\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle":{"role":"symbol","title":"MSAigcStyle","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyle"}],"abstract":[{"type":"text","text":"aigc算法类型模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyle"}],"url":"\/documentation\/mixsdk\/msaigcstyle"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/name.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/name.json
new file mode 100644 (file)
index 0000000..f0fcac8
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcstyle\/name"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/name","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"名称"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"name","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSAigcStyleC4nameSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle":{"role":"symbol","title":"MSAigcStyle","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyle"}],"abstract":[{"type":"text","text":"aigc算法类型模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyle"}],"url":"\/documentation\/mixsdk\/msaigcstyle"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle/name":{"role":"symbol","title":"name","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"名称"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/name","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcstyle\/name"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/url.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstyle/url.json
new file mode 100644 (file)
index 0000000..322837e
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcstyle\/url"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/url","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"链接"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"url","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSAigcStyleC3urlSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle":{"role":"symbol","title":"MSAigcStyle","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyle"}],"abstract":[{"type":"text","text":"aigc算法类型模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyle"}],"url":"\/documentation\/mixsdk\/msaigcstyle"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle/url":{"role":"symbol","title":"url","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"链接"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle\/url","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigcstyle\/url"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstylecallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigcstylecallback.json
new file mode 100644 (file)
index 0000000..42eb39d
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyleCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"list"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","preciseIdentifier":"s:6MixSdk11MSAigcStyleC","text":"MSAigcStyle"},{"kind":"text","text":"]?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"error"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","preciseIdentifier":"s:6MixSdk7MSErrorO","text":"MSError"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigcstylecallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyleCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"aigc获取算法类型回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyleCallBack"}],"title":"MSAigcStyleCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk19MSAigcStyleCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSAigcStyleCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyle":{"role":"symbol","title":"MSAigcStyle","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyle"}],"abstract":[{"type":"text","text":"aigc算法类型模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyle","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyle"}],"url":"\/documentation\/mixsdk\/msaigcstyle"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcStyleCallBack":{"role":"symbol","title":"MSAigcStyleCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcStyleCallBack"}],"abstract":[{"type":"text","text":"aigc获取算法类型回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcStyleCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcStyleCallBack"}],"url":"\/documentation\/mixsdk\/msaigcstylecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask.json
new file mode 100644 (file)
index 0000000..559646b
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/Se","doc:\/\/ZhiHui.MixSdk\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"aigc创建任务模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"title":"MSAigcTask","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk10MSAigcTaskC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/init()","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/algorithm","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/amount","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/height","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/subject","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/type","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/url","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/width"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/init()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/init()"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0:⽂字⽣图,1: ⽂+图⽣图 5: 图⽣图(⻛格变换)"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/type","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/type"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/url":{"role":"symbol","title":"url","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"type=0 不需要提交,url type=5 必须提交"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/url","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/url"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/height":{"role":"symbol","title":"height","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"height"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"⽣成的图⽚⾼度,type=1时需要是32的倍数。 type=5 参数不生效"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/height","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/height"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/algorithm":{"role":"symbol","title":"algorithm","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"algorithm"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"算法id可⽤值⻅get-style"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/algorithm","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/algorithm"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/width":{"role":"symbol","title":"width","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"width"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"⽣成的图⽚宽度,type=1时需要是32的倍数。 type=5 参数不生效"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/width","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/width"},"doc://ZhiHui.MixSdk/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/ZhiHui.MixSdk\/SE"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/amount":{"role":"symbol","title":"amount","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"amount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"⽣成的图⽚数量,  type=5 参数不生效"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/amount","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/amount"},"doc://ZhiHui.MixSdk/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/ZhiHui.MixSdk\/Se"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/subject":{"role":"symbol","title":"subject","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"subject"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"主题,type=5 参数不生效"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/subject","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/subject"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/algorithm.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/algorithm.json
new file mode 100644 (file)
index 0000000..5f04401
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"algorithm"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask\/algorithm"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/algorithm","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"算法id可⽤值⻅get-style"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"algorithm"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"algorithm","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSAigcTaskC9algorithmSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/algorithm":{"role":"symbol","title":"algorithm","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"algorithm"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"算法id可⽤值⻅get-style"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/algorithm","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/algorithm"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/amount.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/amount.json
new file mode 100644 (file)
index 0000000..780e3e7
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"amount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask\/amount"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/amount","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"⽣成的图⽚数量,  type=5 参数不生效"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"amount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"amount","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSAigcTaskC6amountSivp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/amount":{"role":"symbol","title":"amount","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"amount"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"⽣成的图⽚数量,  type=5 参数不生效"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/amount","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/amount"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/height.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/height.json
new file mode 100644 (file)
index 0000000..8d21643
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"height"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask\/height"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/height","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"⽣成的图⽚⾼度,type=1时需要是32的倍数。 type=5 参数不生效"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"height"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"height","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSAigcTaskC6heightSivp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/height":{"role":"symbol","title":"height","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"height"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"⽣成的图⽚⾼度,type=1时需要是32的倍数。 type=5 参数不生效"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/height","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/height"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/init().json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/init().json
new file mode 100644 (file)
index 0000000..ef963f8
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask\/init()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/init()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"title":"init()","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:6MixSdk10MSAigcTaskCACycfc","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/init()":{"role":"symbol","title":"init()","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/init()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/init()"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/init(from:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/init(from:).json
new file mode 100644 (file)
index 0000000..420a28e
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:6MixSdk10MSAigcTaskC4fromACs7Decoder_p_tKcfc","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/subject.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/subject.json
new file mode 100644 (file)
index 0000000..13c55dd
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"subject"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask\/subject"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/subject","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"主题,type=5 参数不生效"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"subject"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"title":"subject","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSAigcTaskC7subjectSSSgvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/subject":{"role":"symbol","title":"subject","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"subject"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"主题,type=5 参数不生效"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/subject","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/subject"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/type.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/type.json
new file mode 100644 (file)
index 0000000..5f9f290
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask\/type"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/type","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"0:⽂字⽣图,1: ⽂+图⽣图 5: 图⽣图(⻛格变换)"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"type","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSAigcTaskC4typeSivp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"0:⽂字⽣图,1: ⽂+图⽣图 5: 图⽣图(⻛格变换)"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/type","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/type"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/url.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/url.json
new file mode 100644 (file)
index 0000000..437c5bc
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask\/url"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/url","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"type=0 不需要提交,url type=5 必须提交"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"title":"url","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSAigcTaskC3urlSSSgvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/url":{"role":"symbol","title":"url","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"url"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"type=0 不需要提交,url type=5 必须提交"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/url","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/url"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/width.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctask/width.json
new file mode 100644 (file)
index 0000000..66291b3
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"width"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctask\/width"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/width","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"⽣成的图⽚宽度,type=1时需要是32的倍数。 type=5 参数不生效"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"width"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"width","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSAigcTaskC5widthSivp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask/width":{"role":"symbol","title":"width","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"width"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"⽣成的图⽚宽度,type=1时需要是32的倍数。 type=5 参数不生效"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask\/width","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msaigctask\/width"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTask":{"role":"symbol","title":"MSAigcTask","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTask"}],"abstract":[{"type":"text","text":"aigc创建任务模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTask","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTask"}],"url":"\/documentation\/mixsdk\/msaigctask"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctaskcallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msaigctaskcallback.json
new file mode 100644 (file)
index 0000000..184bf56
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTaskCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"taskId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"error"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","preciseIdentifier":"s:6MixSdk7MSErrorO","text":"MSError"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msaigctaskcallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTaskCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"aigc任务回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTaskCallBack"}],"title":"MSAigcTaskCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk18MSAigcTaskCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSAigcTaskCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAigcTaskCallBack":{"role":"symbol","title":"MSAigcTaskCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAigcTaskCallBack"}],"abstract":[{"type":"text","text":"aigc任务回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAigcTaskCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAigcTaskCallBack"}],"url":"\/documentation\/mixsdk\/msaigctaskcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msauth.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msauth.json
new file mode 100644 (file)
index 0000000..8b69ef0
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAuth"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msauth"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"鉴权管理类"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAuth"}],"title":"MSAuth","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk6MSAuthC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSAuth"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/authorized"]},{"title":"Instance Methods","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/login(productKey:secretKey:deviceId:deviceSecrect:completeHandler:)","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/register(productKey:secretKey:deviceId:sn:completeHandler:)"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth":{"role":"symbol","title":"MSAuth","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAuth"}],"abstract":[{"type":"text","text":"鉴权管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAuth"}],"url":"\/documentation\/mixsdk\/msauth"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth/register(productKey:secretKey:deviceId:sn:completeHandler:)":{"role":"symbol","title":"register(productKey:secretKey:deviceId:sn:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"register"},{"kind":"text","text":"("},{"kind":"externalParam","text":"productKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"secretKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"sn"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSRegisterCallBack","preciseIdentifier":"s:6MixSdk18MSRegisterCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"注册"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/register(productKey:secretKey:deviceId:sn:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msauth\/register(productkey:secretkey:deviceid:sn:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth/login(productKey:secretKey:deviceId:deviceSecrect:completeHandler:)":{"role":"symbol","title":"login(productKey:secretKey:deviceId:deviceSecrect:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"login"},{"kind":"text","text":"("},{"kind":"externalParam","text":"productKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"secretKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceSecrect"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSLoginCallBack","preciseIdentifier":"s:6MixSdk15MSLoginCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"登录"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/login(productKey:secretKey:deviceId:deviceSecrect:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msauth\/login(productkey:secretkey:deviceid:devicesecrect:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth/authorized":{"role":"symbol","title":"authorized","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"authorized"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"是否已经鉴权"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/authorized","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msauth\/authorized"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msauth/authorized.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msauth/authorized.json
new file mode 100644 (file)
index 0000000..0038593
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"authorized"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msauth\/authorized"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/authorized","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"是否已经鉴权"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"authorized"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"title":"authorized","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk6MSAuthC10authorizedSbvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth":{"role":"symbol","title":"MSAuth","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAuth"}],"abstract":[{"type":"text","text":"鉴权管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAuth"}],"url":"\/documentation\/mixsdk\/msauth"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth/authorized":{"role":"symbol","title":"authorized","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"authorized"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"是否已经鉴权"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/authorized","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msauth\/authorized"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msauth/login(productkey:secretkey:deviceid:devicesecrect:completehandler:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msauth/login(productkey:secretkey:deviceid:devicesecrect:completehandler:).json
new file mode 100644 (file)
index 0000000..aef7239
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"login"},{"kind":"text","text":"("},{"kind":"externalParam","text":"productKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"secretKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceSecrect"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLoginCallBack","preciseIdentifier":"s:6MixSdk15MSLoginCallBacka","text":"MSLoginCallBack"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"productKey","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"产品Key"}]}]},{"name":"secretKey","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"产品秘钥"}]}]},{"name":"deviceId","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"设备ID"}]}]},{"name":"deviceSecrect","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"注册返回的密码"}]}]},{"name":"completeHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msauth\/login(productkey:secretkey:deviceid:devicesecrect:completehandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/login(productKey:secretKey:deviceId:deviceSecrect:completeHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"登录"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"login"},{"kind":"text","text":"("},{"kind":"externalParam","text":"productKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"secretKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceSecrect"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSLoginCallBack","preciseIdentifier":"s:6MixSdk15MSLoginCallBacka"},{"kind":"text","text":")"}],"title":"login(productKey:secretKey:deviceId:deviceSecrect:completeHandler:)","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:6MixSdk6MSAuthC5login10productKey06secretF08deviceId0H7Secrect15completeHandlerySS_S3SySb_AA7MSErrorOSgtctF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth/login(productKey:secretKey:deviceId:deviceSecrect:completeHandler:)":{"role":"symbol","title":"login(productKey:secretKey:deviceId:deviceSecrect:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"login"},{"kind":"text","text":"("},{"kind":"externalParam","text":"productKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"secretKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceSecrect"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSLoginCallBack","preciseIdentifier":"s:6MixSdk15MSLoginCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"登录"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/login(productKey:secretKey:deviceId:deviceSecrect:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msauth\/login(productkey:secretkey:deviceid:devicesecrect:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth":{"role":"symbol","title":"MSAuth","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAuth"}],"abstract":[{"type":"text","text":"鉴权管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAuth"}],"url":"\/documentation\/mixsdk\/msauth"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSLoginCallBack":{"role":"symbol","title":"MSLoginCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLoginCallBack"}],"abstract":[{"type":"text","text":"登录回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLoginCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSLoginCallBack"}],"url":"\/documentation\/mixsdk\/mslogincallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msauth/register(productkey:secretkey:deviceid:sn:completehandler:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msauth/register(productkey:secretkey:deviceid:sn:completehandler:).json
new file mode 100644 (file)
index 0000000..ab23b1d
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"register"},{"kind":"text","text":"("},{"kind":"externalParam","text":"productKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"secretKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"sn"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSRegisterCallBack","preciseIdentifier":"s:6MixSdk18MSRegisterCallBacka","text":"MSRegisterCallBack"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"productKey","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"产品Key"}]}]},{"name":"secretKey","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"产品秘钥"}]}]},{"name":"deviceId","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"设备ID"}]}]},{"name":"sn","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"SN号"}]}]},{"name":"completeHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msauth\/register(productkey:secretkey:deviceid:sn:completehandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/register(productKey:secretKey:deviceId:sn:completeHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"注册"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"register"},{"kind":"text","text":"("},{"kind":"externalParam","text":"productKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"secretKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"sn"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSRegisterCallBack","preciseIdentifier":"s:6MixSdk18MSRegisterCallBacka"},{"kind":"text","text":")"}],"title":"register(productKey:secretKey:deviceId:sn:completeHandler:)","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:6MixSdk6MSAuthC8register10productKey06secretF08deviceId2sn15completeHandlerySS_S3SySSSg_AA7MSErrorOSgtctF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth/register(productKey:secretKey:deviceId:sn:completeHandler:)":{"role":"symbol","title":"register(productKey:secretKey:deviceId:sn:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"register"},{"kind":"text","text":"("},{"kind":"externalParam","text":"productKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"secretKey"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"deviceId"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"sn"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSRegisterCallBack","preciseIdentifier":"s:6MixSdk18MSRegisterCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"注册"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth\/register(productKey:secretKey:deviceId:sn:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msauth\/register(productkey:secretkey:deviceid:sn:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSRegisterCallBack":{"role":"symbol","title":"MSRegisterCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSRegisterCallBack"}],"abstract":[{"type":"text","text":"注册回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSRegisterCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSRegisterCallBack"}],"url":"\/documentation\/mixsdk\/msregistercallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSAuth":{"role":"symbol","title":"MSAuth","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSAuth"}],"abstract":[{"type":"text","text":"鉴权管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSAuth","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSAuth"}],"url":"\/documentation\/mixsdk\/msauth"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mschat.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mschat.json
new file mode 100644 (file)
index 0000000..6cd4883
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChat"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mschat"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"大模型对话管理类"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChat"}],"title":"MSChat","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk6MSChatC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSChat"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat\/callBack"]},{"title":"Instance Methods","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat\/send(content:)"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChat/callBack":{"role":"symbol","title":"callBack","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"callBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSChatCallBack","preciseIdentifier":"s:6MixSdk14MSChatCallBacka"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"对话回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat\/callBack","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschat\/callback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChat/send(content:)":{"role":"symbol","title":"send(content:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"send"},{"kind":"text","text":"("},{"kind":"externalParam","text":"content"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送内容"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat\/send(content:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschat\/send(content:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChat":{"role":"symbol","title":"MSChat","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChat"}],"abstract":[{"type":"text","text":"大模型对话管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChat"}],"url":"\/documentation\/mixsdk\/mschat"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mschat/callback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mschat/callback.json
new file mode 100644 (file)
index 0000000..b6212c6
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"callBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatCallBack","preciseIdentifier":"s:6MixSdk14MSChatCallBacka","text":"MSChatCallBack"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mschat\/callback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat\/callBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"对话回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"callBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSChatCallBack","preciseIdentifier":"s:6MixSdk14MSChatCallBacka"},{"kind":"text","text":"?"}],"title":"callBack","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk6MSChatC8callBackyAA0C5ModelCcSgvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChat/callBack":{"role":"symbol","title":"callBack","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"callBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSChatCallBack","preciseIdentifier":"s:6MixSdk14MSChatCallBacka"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"对话回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat\/callBack","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschat\/callback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChat":{"role":"symbol","title":"MSChat","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChat"}],"abstract":[{"type":"text","text":"大模型对话管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChat"}],"url":"\/documentation\/mixsdk\/mschat"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatCallBack":{"role":"symbol","title":"MSChatCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatCallBack"}],"abstract":[{"type":"text","text":"对话回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChatCallBack"}],"url":"\/documentation\/mixsdk\/mschatcallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mschat/send(content:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mschat/send(content:).json
new file mode 100644 (file)
index 0000000..c9445d2
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"send"},{"kind":"text","text":"("},{"kind":"externalParam","text":"content"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"content","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"内容"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mschat\/send(content:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat\/send(content:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送内容"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"send"},{"kind":"text","text":"("},{"kind":"externalParam","text":"content"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"title":"send(content:)","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:6MixSdk6MSChatC4send7contentySS_tF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChat":{"role":"symbol","title":"MSChat","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChat"}],"abstract":[{"type":"text","text":"大模型对话管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChat"}],"url":"\/documentation\/mixsdk\/mschat"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChat/send(content:)":{"role":"symbol","title":"send(content:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"send"},{"kind":"text","text":"("},{"kind":"externalParam","text":"content"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送内容"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChat\/send(content:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschat\/send(content:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatcallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatcallback.json
new file mode 100644 (file)
index 0000000..0d34022
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"model"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel","preciseIdentifier":"s:6MixSdk11MSChatModelC","text":"MSChatModel"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mschatcallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"对话回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatCallBack"}],"title":"MSChatCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk14MSChatCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSChatCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatCallBack":{"role":"symbol","title":"MSChatCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatCallBack"}],"abstract":[{"type":"text","text":"对话回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChatCallBack"}],"url":"\/documentation\/mixsdk\/mschatcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel":{"role":"symbol","title":"MSChatModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatModel"}],"abstract":[{"type":"text","text":"对话模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChatModel"}],"url":"\/documentation\/mixsdk\/mschatmodel"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel.json
new file mode 100644 (file)
index 0000000..431fc25
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatModel"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mschatmodel"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/Se","doc:\/\/ZhiHui.MixSdk\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"对话模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatModel"}],"title":"MSChatModel","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk11MSChatModelC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSChatModel"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/content","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/type"]}],"references":{"doc://ZhiHui.MixSdk/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/ZhiHui.MixSdk\/SE"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschatmodel\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"类型 start middle end"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/type","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschatmodel\/type"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel":{"role":"symbol","title":"MSChatModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatModel"}],"abstract":[{"type":"text","text":"对话模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChatModel"}],"url":"\/documentation\/mixsdk\/mschatmodel"},"doc://ZhiHui.MixSdk/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/ZhiHui.MixSdk\/Se"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel/content":{"role":"symbol","title":"content","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"content"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"内容"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/content","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschatmodel\/content"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel/content.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel/content.json
new file mode 100644 (file)
index 0000000..4ab754a
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"content"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mschatmodel\/content"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/content","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"内容"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"content"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"title":"content","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSChatModelC7contentSSSgvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel/content":{"role":"symbol","title":"content","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"content"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"内容"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/content","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschatmodel\/content"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel":{"role":"symbol","title":"MSChatModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatModel"}],"abstract":[{"type":"text","text":"对话模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChatModel"}],"url":"\/documentation\/mixsdk\/mschatmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel/init(from:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel/init(from:).json
new file mode 100644 (file)
index 0000000..41663f0
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mschatmodel\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:6MixSdk11MSChatModelC4fromACs7Decoder_p_tKcfc","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel":{"role":"symbol","title":"MSChatModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatModel"}],"abstract":[{"type":"text","text":"对话模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChatModel"}],"url":"\/documentation\/mixsdk\/mschatmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschatmodel\/init(from:)"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel/type.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mschatmodel/type.json
new file mode 100644 (file)
index 0000000..173f115
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mschatmodel\/type"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/type","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"类型 start middle end"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"type","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSChatModelC4typeSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel":{"role":"symbol","title":"MSChatModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSChatModel"}],"abstract":[{"type":"text","text":"对话模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSChatModel"}],"url":"\/documentation\/mixsdk\/mschatmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSChatModel/type":{"role":"symbol","title":"type","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"type"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"类型 start middle end"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSChatModel\/type","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mschatmodel\/type"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror.json
new file mode 100644 (file)
index 0000000..3d2e2e9
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mserror"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/s5ErrorP","doc:\/\/ZhiHui.MixSdk\/s8SendableP"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"错误类型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"title":"MSError","roleHeading":"Enumeration","role":"symbol","symbolKind":"enum","externalID":"s:6MixSdk7MSErrorO","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSError"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Enumeration Cases","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/invalidRequest","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/parsingError","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/reponseError(_:_:)","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/unauthorised","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/unknow"]},{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/msg"]},{"title":"Default Implementations","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/Error-Implementations"],"generated":true}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/unauthorised":{"role":"symbol","title":"MSError.unauthorised","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unauthorised"}],"abstract":[{"type":"text","text":"未鉴权"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/unauthorised","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/unauthorised"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/unknow":{"role":"symbol","title":"MSError.unknow","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unknow"}],"abstract":[{"type":"text","text":"未知错误"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/unknow","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/unknow"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/msg":{"role":"symbol","title":"msg","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/msg","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/msg"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/reponseError(_:_:)":{"role":"symbol","title":"MSError.reponseError(_:_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"reponseError"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"响应出错"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/reponseError(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/reponseerror(_:_:)"},"doc://ZhiHui.MixSdk/s8SendableP":{"type":"unresolvable","title":"Swift.Sendable","identifier":"doc:\/\/ZhiHui.MixSdk\/s8SendableP"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/s5ErrorP":{"type":"unresolvable","title":"Swift.Error","identifier":"doc:\/\/ZhiHui.MixSdk\/s5ErrorP"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/Error-Implementations":{"role":"collectionGroup","title":"Error Implementations","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/Error-Implementations","kind":"article","type":"topic","url":"\/documentation\/mixsdk\/mserror\/error-implementations"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/parsingError":{"role":"symbol","title":"MSError.parsingError","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"parsingError"}],"abstract":[{"type":"text","text":"解析出错"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/parsingError","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/parsingerror"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/invalidRequest":{"role":"symbol","title":"MSError.invalidRequest","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"invalidRequest"}],"abstract":[{"type":"text","text":"无效的请求"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/invalidRequest","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/invalidrequest"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/error-implementations.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/error-implementations.json
new file mode 100644 (file)
index 0000000..7e90305
--- /dev/null
@@ -0,0 +1 @@
+{"variants":[{"paths":["\/documentation\/mixsdk\/mserror\/error-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/Error-Implementations","interfaceLanguage":"swift"},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/localizedDescription"],"generated":true}],"kind":"article","metadata":{"modules":[{"name":"MixSdk"}],"role":"collectionGroup","title":"Error Implementations"},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/localizedDescription":{"role":"symbol","title":"localizedDescription","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"localizedDescription"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/localizedDescription","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/localizeddescription"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/invalidrequest.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/invalidrequest.json
new file mode 100644 (file)
index 0000000..1cabcbd
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"invalidRequest"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mserror\/invalidrequest"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/invalidRequest","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"无效的请求"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"invalidRequest"}],"title":"MSError.invalidRequest","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:6MixSdk7MSErrorO14invalidRequestyA2CmF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/invalidRequest":{"role":"symbol","title":"MSError.invalidRequest","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"invalidRequest"}],"abstract":[{"type":"text","text":"无效的请求"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/invalidRequest","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/invalidrequest"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/localizeddescription.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/localizeddescription.json
new file mode 100644 (file)
index 0000000..9651d3d
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"localizedDescription"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mserror\/localizeddescription"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/localizedDescription","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Error.localizedDescription"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"modules":[{"name":"MixSdk","relatedModules":["Swift"]}],"role":"symbol","title":"localizedDescription","roleHeading":"Instance Property","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"localizedDescription"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"symbolKind":"property","externalID":"s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:6MixSdk7MSErrorO","extendedModule":"Swift","platforms":[{"beta":false,"unavailable":false,"name":"iOS","introducedAt":"8.0","deprecated":false},{"beta":false,"unavailable":false,"name":"macOS","introducedAt":"10.10","deprecated":false},{"beta":false,"unavailable":false,"name":"tvOS","introducedAt":"9.0","deprecated":false},{"beta":false,"unavailable":false,"name":"watchOS","introducedAt":"2.0","deprecated":false}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/Error-Implementations"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/Error-Implementations":{"role":"collectionGroup","title":"Error Implementations","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/Error-Implementations","kind":"article","type":"topic","url":"\/documentation\/mixsdk\/mserror\/error-implementations"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/localizedDescription":{"role":"symbol","title":"localizedDescription","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"localizedDescription"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/localizedDescription","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/localizeddescription"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/msg.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/msg.json
new file mode 100644 (file)
index 0000000..63e002b
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":" { "},{"kind":"keyword","text":"get"},{"kind":"text","text":" }"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mserror\/msg"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/msg","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"msg","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk7MSErrorO3msgSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/msg":{"role":"symbol","title":"msg","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/msg","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/msg"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/parsingerror.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/parsingerror.json
new file mode 100644 (file)
index 0000000..51146e9
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"parsingError"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mserror\/parsingerror"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/parsingError","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"解析出错"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"parsingError"}],"title":"MSError.parsingError","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:6MixSdk7MSErrorO12parsingErroryA2CmF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/parsingError":{"role":"symbol","title":"MSError.parsingError","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"parsingError"}],"abstract":[{"type":"text","text":"解析出错"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/parsingError","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/parsingerror"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/reponseerror(_:_:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/reponseerror(_:_:).json
new file mode 100644 (file)
index 0000000..b70caf5
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"reponseError"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mserror\/reponseerror(_:_:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/reponseError(_:_:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"响应出错"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"reponseError"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"title":"MSError.reponseError(_:_:)","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:6MixSdk7MSErrorO12reponseErroryACSi_SStcACmF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/reponseError(_:_:)":{"role":"symbol","title":"MSError.reponseError(_:_:)","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"reponseError"},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"响应出错"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/reponseError(_:_:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/reponseerror(_:_:)"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/unauthorised.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/unauthorised.json
new file mode 100644 (file)
index 0000000..e82873a
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unauthorised"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mserror\/unauthorised"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/unauthorised","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"未鉴权"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unauthorised"}],"title":"MSError.unauthorised","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:6MixSdk7MSErrorO12unauthorisedyA2CmF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/unauthorised":{"role":"symbol","title":"MSError.unauthorised","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unauthorised"}],"abstract":[{"type":"text","text":"未鉴权"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/unauthorised","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/unauthorised"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/unknow.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mserror/unknow.json
new file mode 100644 (file)
index 0000000..a4b1441
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unknow"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mserror\/unknow"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/unknow","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"未知错误"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unknow"}],"title":"MSError.unknow","roleHeading":"Case","role":"symbol","symbolKind":"case","externalID":"s:6MixSdk7MSErrorO6unknowyA2CmF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError/unknow":{"role":"symbol","title":"MSError.unknow","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"unknow"}],"abstract":[{"type":"text","text":"未知错误"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError\/unknow","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mserror\/unknow"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mslanuagecallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mslanuagecallback.json
new file mode 100644 (file)
index 0000000..7be420c
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLanuageCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"list"},{"kind":"text","text":": ["},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","preciseIdentifier":"s:6MixSdk19MSTranslateLanguageC","text":"MSTranslateLanguage"},{"kind":"text","text":"]?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"error"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","preciseIdentifier":"s:6MixSdk7MSErrorO","text":"MSError"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mslanuagecallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLanuageCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取支持语言回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLanuageCallBack"}],"title":"MSLanuageCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk17MSLanuageCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSLanuageCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSLanuageCallBack":{"role":"symbol","title":"MSLanuageCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLanuageCallBack"}],"abstract":[{"type":"text","text":"获取支持语言回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLanuageCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSLanuageCallBack"}],"url":"\/documentation\/mixsdk\/mslanuagecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage":{"role":"symbol","title":"MSTranslateLanguage","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"abstract":[{"type":"text","text":"翻译支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateLanguage"}],"url":"\/documentation\/mixsdk\/mstranslatelanguage"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mslogincallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mslogincallback.json
new file mode 100644 (file)
index 0000000..2eb43d2
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLoginCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"isSuccess"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"},{"kind":"text","text":", "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"error"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","preciseIdentifier":"s:6MixSdk7MSErrorO","text":"MSError"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mslogincallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLoginCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"登录回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLoginCallBack"}],"title":"MSLoginCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk15MSLoginCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSLoginCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSLoginCallBack":{"role":"symbol","title":"MSLoginCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLoginCallBack"}],"abstract":[{"type":"text","text":"登录回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLoginCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSLoginCallBack"}],"url":"\/documentation\/mixsdk\/mslogincallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msregistercallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msregistercallback.json
new file mode 100644 (file)
index 0000000..51e129e
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSRegisterCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"deviceSecret"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"error"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","preciseIdentifier":"s:6MixSdk7MSErrorO","text":"MSError"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msregistercallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSRegisterCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"注册回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSRegisterCallBack"}],"title":"MSRegisterCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk18MSRegisterCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSRegisterCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSRegisterCallBack":{"role":"symbol","title":"MSRegisterCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSRegisterCallBack"}],"abstract":[{"type":"text","text":"注册回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSRegisterCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSRegisterCallBack"}],"url":"\/documentation\/mixsdk\/msregistercallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt.json
new file mode 100644 (file)
index 0000000..6254fe1
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msstt"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"语音转文字管理类"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"title":"MSStt","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk5MSSttC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSStt"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/eventCallBack"]},{"title":"Instance Methods","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/sendVoice(data:)","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/startTranscription()","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/stopTranscription()"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/sendVoice(data:)":{"role":"symbol","title":"sendVoice(data:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendVoice"},{"kind":"text","text":"("},{"kind":"externalParam","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送语音数据,format pcm,采样率 16000"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/sendVoice(data:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/sendvoice(data:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/eventCallBack":{"role":"symbol","title":"eventCallBack","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"eventCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSSttEventCallBack","preciseIdentifier":"s:6MixSdk18MSSttEventCallBacka"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/eventCallBack","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/eventcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/stopTranscription()":{"role":"symbol","title":"stopTranscription()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopTranscription"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/stopTranscription()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/stoptranscription()"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)":{"role":"symbol","title":"sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sentenceRecognize"},{"kind":"text","text":"("},{"kind":"externalParam","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"sample_rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"lang"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSSttCallBack","preciseIdentifier":"s:6MixSdk13MSSttCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"一句话识别"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/sentencerecognize(filepath:format:sample_rate:lang:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt":{"role":"symbol","title":"MSStt","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"abstract":[{"type":"text","text":"语音转文字管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSStt"}],"url":"\/documentation\/mixsdk\/msstt"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/startTranscription()":{"role":"symbol","title":"startTranscription()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTranscription"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"开始转换"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/startTranscription()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/starttranscription()"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/eventcallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/eventcallback.json
new file mode 100644 (file)
index 0000000..f7c3bb0
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"eventCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttEventCallBack","preciseIdentifier":"s:6MixSdk18MSSttEventCallBacka","text":"MSSttEventCallBack"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msstt\/eventcallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/eventCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"事件回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"eventCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSSttEventCallBack","preciseIdentifier":"s:6MixSdk18MSSttEventCallBacka"},{"kind":"text","text":"?"}],"title":"eventCallBack","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk5MSSttC13eventCallBackyAA0C5ModelCcSgvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/eventCallBack":{"role":"symbol","title":"eventCallBack","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"eventCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSSttEventCallBack","preciseIdentifier":"s:6MixSdk18MSSttEventCallBacka"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/eventCallBack","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/eventcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt":{"role":"symbol","title":"MSStt","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"abstract":[{"type":"text","text":"语音转文字管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSStt"}],"url":"\/documentation\/mixsdk\/msstt"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttEventCallBack":{"role":"symbol","title":"MSSttEventCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttEventCallBack"}],"abstract":[{"type":"text","text":"事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttEventCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttEventCallBack"}],"url":"\/documentation\/mixsdk\/msstteventcallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/sendvoice(data:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/sendvoice(data:).json
new file mode 100644 (file)
index 0000000..63c8dd7
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendVoice"},{"kind":"text","text":"("},{"kind":"externalParam","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"data","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"语音数据"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msstt\/sendvoice(data:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/sendVoice(data:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送语音数据,format pcm,采样率 16000"}],"kind":"symbol","metadata":{"role":"symbol","title":"sendVoice(data:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendVoice"},{"kind":"text","text":"("},{"kind":"externalParam","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:6MixSdk5MSSttC9sendVoice4datay10Foundation4DataV_tF","extendedModule":"MixSdk","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/sendVoice(data:)":{"role":"symbol","title":"sendVoice(data:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendVoice"},{"kind":"text","text":"("},{"kind":"externalParam","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送语音数据,format pcm,采样率 16000"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/sendVoice(data:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/sendvoice(data:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt":{"role":"symbol","title":"MSStt","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"abstract":[{"type":"text","text":"语音转文字管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSStt"}],"url":"\/documentation\/mixsdk\/msstt"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/sentencerecognize(filepath:format:sample_rate:lang:completehandler:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/sentencerecognize(filepath:format:sample_rate:lang:completehandler:).json
new file mode 100644 (file)
index 0000000..0b24029
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sentenceRecognize"},{"kind":"text","text":"("},{"kind":"externalParam","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"? = nil, "},{"kind":"externalParam","text":"sample_rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"? = nil, "},{"kind":"externalParam","text":"lang"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"? = nil, "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttCallBack","preciseIdentifier":"s:6MixSdk13MSSttCallBacka","text":"MSSttCallBack"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"filePath","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"语音文件路径"}]}]},{"name":"format","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"语音格式,单声道(mono)16bit采样位数音频,包括无压缩的PCM、WAV、OPUS、AMR、SPEEX、MP3、AAC格式。"}]}]},{"name":"sample_rate","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"采样率"}]}]},{"name":"lang","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"zh-cn 中文\/en-us 英文"}]}]},{"name":"completeHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msstt\/sentencerecognize(filepath:format:sample_rate:lang:completehandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"一句话识别"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sentenceRecognize"},{"kind":"text","text":"("},{"kind":"externalParam","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"sample_rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"lang"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSSttCallBack","preciseIdentifier":"s:6MixSdk13MSSttCallBacka"},{"kind":"text","text":")"}],"title":"sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)","roleHeading":"Instance Method","role":"symbol","symbolKind":"method","externalID":"s:6MixSdk5MSSttC17sentenceRecognize8filePath6format11sample_rate4lang15completeHandlerySS_SSSgA2JyAJ_AA7MSErrorOSgtctF","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)":{"role":"symbol","title":"sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sentenceRecognize"},{"kind":"text","text":"("},{"kind":"externalParam","text":"filePath"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"format"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"sample_rate"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"lang"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSSttCallBack","preciseIdentifier":"s:6MixSdk13MSSttCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"一句话识别"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/sentenceRecognize(filePath:format:sample_rate:lang:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/sentencerecognize(filepath:format:sample_rate:lang:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt":{"role":"symbol","title":"MSStt","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"abstract":[{"type":"text","text":"语音转文字管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSStt"}],"url":"\/documentation\/mixsdk\/msstt"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttCallBack":{"role":"symbol","title":"MSSttCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttCallBack"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttCallBack"}],"url":"\/documentation\/mixsdk\/mssttcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/starttranscription().json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/starttranscription().json
new file mode 100644 (file)
index 0000000..8a74dcc
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTranscription"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msstt\/starttranscription()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/startTranscription()","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"开始转换"}],"kind":"symbol","metadata":{"role":"symbol","title":"startTranscription()","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTranscription"},{"kind":"text","text":"()"}],"symbolKind":"method","externalID":"s:6MixSdk5MSSttC18startTranscriptionyyF","extendedModule":"MixSdk","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/startTranscription()":{"role":"symbol","title":"startTranscription()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startTranscription"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"开始转换"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/startTranscription()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/starttranscription()"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt":{"role":"symbol","title":"MSStt","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"abstract":[{"type":"text","text":"语音转文字管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSStt"}],"url":"\/documentation\/mixsdk\/msstt"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/stoptranscription().json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msstt/stoptranscription().json
new file mode 100644 (file)
index 0000000..4c79462
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopTranscription"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msstt\/stoptranscription()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/stopTranscription()","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"role":"symbol","title":"stopTranscription()","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopTranscription"},{"kind":"text","text":"()"}],"symbolKind":"method","externalID":"s:6MixSdk5MSSttC17stopTranscriptionyyF","extendedModule":"MixSdk","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt":{"role":"symbol","title":"MSStt","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSStt"}],"abstract":[{"type":"text","text":"语音转文字管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSStt"}],"url":"\/documentation\/mixsdk\/msstt"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSStt/stopTranscription()":{"role":"symbol","title":"stopTranscription()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopTranscription"},{"kind":"text","text":"()"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSStt\/stopTranscription()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msstt\/stoptranscription()"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttcallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttcallback.json
new file mode 100644 (file)
index 0000000..e73386c
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"error"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","preciseIdentifier":"s:6MixSdk7MSErrorO","text":"MSError"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttcallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttCallBack","interfaceLanguage":"swift"},"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttCallBack"}],"title":"MSSttCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk13MSSttCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSSttCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttCallBack":{"role":"symbol","title":"MSSttCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttCallBack"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttCallBack"}],"url":"\/documentation\/mixsdk\/mssttcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msstteventcallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msstteventcallback.json
new file mode 100644 (file)
index 0000000..0c4555b
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttEventCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"model"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","preciseIdentifier":"s:6MixSdk10MSSttModelC","text":"MSSttModel"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msstteventcallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttEventCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"事件回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttEventCallBack"}],"title":"MSSttEventCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk18MSSttEventCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSSttEventCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel":{"role":"symbol","title":"MSSttModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"abstract":[{"type":"text","text":"语音翻译结果模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}],"url":"\/documentation\/mixsdk\/mssttmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttEventCallBack":{"role":"symbol","title":"MSSttEventCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttEventCallBack"}],"abstract":[{"type":"text","text":"事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttEventCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttEventCallBack"}],"url":"\/documentation\/mixsdk\/msstteventcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel.json
new file mode 100644 (file)
index 0000000..cdab636
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttmodel"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/Se","doc:\/\/ZhiHui.MixSdk\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"语音翻译结果模型"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"title":"MSSttModel","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk10MSSttModelC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/event","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/msg","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/result","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/status","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/task_id"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/status":{"role":"symbol","title":"status","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"status"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/status","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/status"},"doc://ZhiHui.MixSdk/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/ZhiHui.MixSdk\/Se"},"doc://ZhiHui.MixSdk/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/ZhiHui.MixSdk\/SE"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/msg":{"role":"symbol","title":"msg","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"message"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/msg","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/msg"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel":{"role":"symbol","title":"MSSttModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"abstract":[{"type":"text","text":"语音翻译结果模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}],"url":"\/documentation\/mixsdk\/mssttmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/event":{"role":"symbol","title":"event","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"event"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/event","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/event"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/result":{"role":"symbol","title":"result","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"result"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSSttResult","preciseIdentifier":"s:6MixSdk11MSSttResultC"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"识别的文字"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/result","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/result"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/task_id":{"role":"symbol","title":"task_id","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"task_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"任务id"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/task_id","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/task_id"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/event.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/event.json
new file mode 100644 (file)
index 0000000..6913a52
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"event"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttmodel\/event"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/event","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"事件"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"event"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"event","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSSttModelC5eventSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel":{"role":"symbol","title":"MSSttModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"abstract":[{"type":"text","text":"语音翻译结果模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}],"url":"\/documentation\/mixsdk\/mssttmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/event":{"role":"symbol","title":"event","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"event"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/event","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/event"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/init(from:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/init(from:).json
new file mode 100644 (file)
index 0000000..80165b7
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttmodel\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:6MixSdk10MSSttModelC4fromACs7Decoder_p_tKcfc","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel":{"role":"symbol","title":"MSSttModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"abstract":[{"type":"text","text":"语音翻译结果模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}],"url":"\/documentation\/mixsdk\/mssttmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/msg.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/msg.json
new file mode 100644 (file)
index 0000000..73ba568
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttmodel\/msg"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/msg","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"message"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"msg","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSSttModelC3msgSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel":{"role":"symbol","title":"MSSttModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"abstract":[{"type":"text","text":"语音翻译结果模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}],"url":"\/documentation\/mixsdk\/mssttmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/msg":{"role":"symbol","title":"msg","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"message"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/msg","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/msg"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/result.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/result.json
new file mode 100644 (file)
index 0000000..4f55a21
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"result"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","preciseIdentifier":"s:6MixSdk11MSSttResultC","text":"MSSttResult"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttmodel\/result"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/result","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"识别的文字"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"result"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSSttResult","preciseIdentifier":"s:6MixSdk11MSSttResultC"},{"kind":"text","text":"?"}],"title":"result","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSSttModelC6resultAA0C6ResultCSgvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult":{"role":"symbol","title":"MSSttResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"abstract":[{"type":"text","text":"语音识别结果"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}],"url":"\/documentation\/mixsdk\/mssttresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel":{"role":"symbol","title":"MSSttModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"abstract":[{"type":"text","text":"语音翻译结果模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}],"url":"\/documentation\/mixsdk\/mssttmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/result":{"role":"symbol","title":"result","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"result"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSSttResult","preciseIdentifier":"s:6MixSdk11MSSttResultC"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"识别的文字"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/result","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/result"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/status.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/status.json
new file mode 100644 (file)
index 0000000..ff85cac
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"status"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttmodel\/status"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/status","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"状态码"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"status"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"status","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSSttModelC6statusSivp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/status":{"role":"symbol","title":"status","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"status"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/status","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/status"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel":{"role":"symbol","title":"MSSttModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"abstract":[{"type":"text","text":"语音翻译结果模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}],"url":"\/documentation\/mixsdk\/mssttmodel"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/task_id.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttmodel/task_id.json
new file mode 100644 (file)
index 0000000..81bfb16
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"task_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttmodel\/task_id"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/task_id","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"任务id"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"task_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"task_id","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSSttModelC7task_idSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel":{"role":"symbol","title":"MSSttModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttModel"}],"abstract":[{"type":"text","text":"语音翻译结果模型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttModel"}],"url":"\/documentation\/mixsdk\/mssttmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttModel/task_id":{"role":"symbol","title":"task_id","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"task_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"任务id"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttModel\/task_id","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttmodel\/task_id"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult.json
new file mode 100644 (file)
index 0000000..a596f6a
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttresult"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/Se","doc:\/\/ZhiHui.MixSdk\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"语音识别结果"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"title":"MSSttResult","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk11MSSttResultC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/end_time","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/is_end","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/result","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/sentence_id","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/start_time"]}],"references":{"doc://ZhiHui.MixSdk/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/ZhiHui.MixSdk\/Se"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/result":{"role":"symbol","title":"result","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"result"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"识别文字"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/result","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/result"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/start_time":{"role":"symbol","title":"start_time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"start_time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"开始时间"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/start_time","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/start_time"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/ZhiHui.MixSdk\/SE"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult":{"role":"symbol","title":"MSSttResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"abstract":[{"type":"text","text":"语音识别结果"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}],"url":"\/documentation\/mixsdk\/mssttresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/end_time":{"role":"symbol","title":"end_time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"end_time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"结束时间"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/end_time","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/end_time"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/sentence_id":{"role":"symbol","title":"sentence_id","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sentence_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"句子id"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/sentence_id","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/sentence_id"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/is_end":{"role":"symbol","title":"is_end","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"is_end"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"是否结束"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/is_end","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/is_end"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/end_time.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/end_time.json
new file mode 100644 (file)
index 0000000..1cc3ef3
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"end_time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttresult\/end_time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/end_time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"结束时间"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"end_time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"end_time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSSttResultC8end_timeSivp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult":{"role":"symbol","title":"MSSttResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"abstract":[{"type":"text","text":"语音识别结果"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}],"url":"\/documentation\/mixsdk\/mssttresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/end_time":{"role":"symbol","title":"end_time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"end_time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"结束时间"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/end_time","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/end_time"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/init(from:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/init(from:).json
new file mode 100644 (file)
index 0000000..2a66b36
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttresult\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:6MixSdk11MSSttResultC4fromACs7Decoder_p_tKcfc","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult":{"role":"symbol","title":"MSSttResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"abstract":[{"type":"text","text":"语音识别结果"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}],"url":"\/documentation\/mixsdk\/mssttresult"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/is_end.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/is_end.json
new file mode 100644 (file)
index 0000000..f954f5e
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"is_end"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttresult\/is_end"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/is_end","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"是否结束"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"is_end"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"title":"is_end","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSSttResultC6is_endSbvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/is_end":{"role":"symbol","title":"is_end","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"is_end"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Bool","preciseIdentifier":"s:Sb"}],"abstract":[{"type":"text","text":"是否结束"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/is_end","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/is_end"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult":{"role":"symbol","title":"MSSttResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"abstract":[{"type":"text","text":"语音识别结果"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}],"url":"\/documentation\/mixsdk\/mssttresult"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/result.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/result.json
new file mode 100644 (file)
index 0000000..812bd3e
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"result"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttresult\/result"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/result","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"识别文字"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"result"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"result","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSSttResultC6resultSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult":{"role":"symbol","title":"MSSttResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"abstract":[{"type":"text","text":"语音识别结果"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}],"url":"\/documentation\/mixsdk\/mssttresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/result":{"role":"symbol","title":"result","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"result"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"识别文字"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/result","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/result"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/sentence_id.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/sentence_id.json
new file mode 100644 (file)
index 0000000..b88d764
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sentence_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttresult\/sentence_id"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/sentence_id","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"句子id"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sentence_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"sentence_id","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSSttResultC11sentence_idSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult":{"role":"symbol","title":"MSSttResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"abstract":[{"type":"text","text":"语音识别结果"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}],"url":"\/documentation\/mixsdk\/mssttresult"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/sentence_id":{"role":"symbol","title":"sentence_id","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"sentence_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"句子id"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/sentence_id","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/sentence_id"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/start_time.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mssttresult/start_time.json
new file mode 100644 (file)
index 0000000..13ecc36
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"start_time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mssttresult\/start_time"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/start_time","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"开始时间"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"start_time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"start_time","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk11MSSttResultC10start_timeSivp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult/start_time":{"role":"symbol","title":"start_time","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"start_time"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"开始时间"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult\/start_time","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mssttresult\/start_time"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSSttResult":{"role":"symbol","title":"MSSttResult","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSSttResult"}],"abstract":[{"type":"text","text":"语音识别结果"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSSttResult","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSSttResult"}],"url":"\/documentation\/mixsdk\/mssttresult"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslate.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslate.json
new file mode 100644 (file)
index 0000000..9c50abd
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslate"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstranslate"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"翻译管理类"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslate"}],"title":"MSTranslate","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk11MSTranslateC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSTranslate"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Instance Methods","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate\/getSupportLanguages(completeHandler:)","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate\/translate(lang:text:completeHandler:)"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslate":{"role":"symbol","title":"MSTranslate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslate"}],"abstract":[{"type":"text","text":"翻译管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslate"}],"url":"\/documentation\/mixsdk\/mstranslate"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslate/translate(lang:text:completeHandler:)":{"role":"symbol","title":"translate(lang:text:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"translate"},{"kind":"text","text":"("},{"kind":"externalParam","text":"lang"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTranslateLanguage","preciseIdentifier":"s:6MixSdk19MSTranslateLanguageC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTranslateCallBack","preciseIdentifier":"s:6MixSdk19MSTranslateCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"通用翻译"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate\/translate(lang:text:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslate\/translate(lang:text:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslate/getSupportLanguages(completeHandler:)":{"role":"symbol","title":"getSupportLanguages(completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getSupportLanguages"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSLanuageCallBack","preciseIdentifier":"s:6MixSdk17MSLanuageCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"获取支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate\/getSupportLanguages(completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslate\/getsupportlanguages(completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslate/getsupportlanguages(completehandler:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslate/getsupportlanguages(completehandler:).json
new file mode 100644 (file)
index 0000000..9aaa4fc
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getSupportLanguages"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLanuageCallBack","preciseIdentifier":"s:6MixSdk17MSLanuageCallBacka","text":"MSLanuageCallBack"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"completeHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstranslate\/getsupportlanguages(completehandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate\/getSupportLanguages(completeHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"获取支持的语言"}],"kind":"symbol","metadata":{"role":"symbol","title":"getSupportLanguages(completeHandler:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getSupportLanguages"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSLanuageCallBack","preciseIdentifier":"s:6MixSdk17MSLanuageCallBacka"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:6MixSdk11MSTranslateC19getSupportLanguages15completeHandleryySayAA0C8LanguageCGSg_AA7MSErrorOSgtc_tF","extendedModule":"MixSdk","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslate":{"role":"symbol","title":"MSTranslate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslate"}],"abstract":[{"type":"text","text":"翻译管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslate"}],"url":"\/documentation\/mixsdk\/mstranslate"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslate/getSupportLanguages(completeHandler:)":{"role":"symbol","title":"getSupportLanguages(completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"getSupportLanguages"},{"kind":"text","text":"("},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSLanuageCallBack","preciseIdentifier":"s:6MixSdk17MSLanuageCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"获取支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate\/getSupportLanguages(completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslate\/getsupportlanguages(completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSLanuageCallBack":{"role":"symbol","title":"MSLanuageCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSLanuageCallBack"}],"abstract":[{"type":"text","text":"获取支持语言回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSLanuageCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSLanuageCallBack"}],"url":"\/documentation\/mixsdk\/mslanuagecallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslate/translate(lang:text:completehandler:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslate/translate(lang:text:completehandler:).json
new file mode 100644 (file)
index 0000000..0d8e21d
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"translate"},{"kind":"text","text":"("},{"kind":"externalParam","text":"lang"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","preciseIdentifier":"s:6MixSdk19MSTranslateLanguageC","text":"MSTranslateLanguage"},{"kind":"text","text":", "},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"attribute","text":"@escaping"},{"kind":"text","text":" "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateCallBack","preciseIdentifier":"s:6MixSdk19MSTranslateCallBacka","text":"MSTranslateCallBack"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"lang","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"语言"}]}]},{"name":"text","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"需要翻译的文字"}]}]},{"name":"completeHandler","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"结果回调"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstranslate\/translate(lang:text:completehandler:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate\/translate(lang:text:completeHandler:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"通用翻译"}],"kind":"symbol","metadata":{"role":"symbol","title":"translate(lang:text:completeHandler:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"translate"},{"kind":"text","text":"("},{"kind":"externalParam","text":"lang"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTranslateLanguage","preciseIdentifier":"s:6MixSdk19MSTranslateLanguageC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTranslateCallBack","preciseIdentifier":"s:6MixSdk19MSTranslateCallBacka"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:6MixSdk11MSTranslateC9translate4lang4text15completeHandleryAA0C8LanguageC_SSySSSg_AA7MSErrorOSgtctF","extendedModule":"MixSdk","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage":{"role":"symbol","title":"MSTranslateLanguage","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"abstract":[{"type":"text","text":"翻译支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateLanguage"}],"url":"\/documentation\/mixsdk\/mstranslatelanguage"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslate/translate(lang:text:completeHandler:)":{"role":"symbol","title":"translate(lang:text:completeHandler:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"translate"},{"kind":"text","text":"("},{"kind":"externalParam","text":"lang"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTranslateLanguage","preciseIdentifier":"s:6MixSdk19MSTranslateLanguageC"},{"kind":"text","text":", "},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"completeHandler"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTranslateCallBack","preciseIdentifier":"s:6MixSdk19MSTranslateCallBacka"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"通用翻译"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate\/translate(lang:text:completeHandler:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslate\/translate(lang:text:completehandler:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslate":{"role":"symbol","title":"MSTranslate","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslate"}],"abstract":[{"type":"text","text":"翻译管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslate","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslate"}],"url":"\/documentation\/mixsdk\/mstranslate"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateCallBack":{"role":"symbol","title":"MSTranslateCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateCallBack"}],"abstract":[{"type":"text","text":"翻译回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateCallBack"}],"url":"\/documentation\/mixsdk\/mstranslatecallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatecallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatecallback.json
new file mode 100644 (file)
index 0000000..30a43b6
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":"?, "},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"error"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","preciseIdentifier":"s:6MixSdk7MSErrorO","text":"MSError"},{"kind":"text","text":"?) -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstranslatecallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"翻译回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateCallBack"}],"title":"MSTranslateCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk19MSTranslateCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSTranslateCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateCallBack":{"role":"symbol","title":"MSTranslateCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateCallBack"}],"abstract":[{"type":"text","text":"翻译回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateCallBack"}],"url":"\/documentation\/mixsdk\/mstranslatecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSError":{"role":"symbol","title":"MSError","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSError"}],"abstract":[{"type":"text","text":"错误类型"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSError","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSError"}],"url":"\/documentation\/mixsdk\/mserror"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage.json
new file mode 100644 (file)
index 0000000..86d22d3
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstranslatelanguage"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/Se","doc:\/\/ZhiHui.MixSdk\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"翻译支持的语言"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"title":"MSTranslateLanguage","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk19MSTranslateLanguageC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSTranslateLanguage"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/cn","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/code","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/en"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage/cn":{"role":"symbol","title":"cn","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"cn"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"中文名称"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/cn","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslatelanguage\/cn"},"doc://ZhiHui.MixSdk/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/ZhiHui.MixSdk\/SE"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslatelanguage\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage":{"role":"symbol","title":"MSTranslateLanguage","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"abstract":[{"type":"text","text":"翻译支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateLanguage"}],"url":"\/documentation\/mixsdk\/mstranslatelanguage"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage/en":{"role":"symbol","title":"en","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"en"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"英文名称"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/en","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslatelanguage\/en"},"doc://ZhiHui.MixSdk/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/ZhiHui.MixSdk\/Se"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage/code":{"role":"symbol","title":"code","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"代码"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/code","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslatelanguage\/code"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/cn.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/cn.json
new file mode 100644 (file)
index 0000000..8a809ba
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"cn"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstranslatelanguage\/cn"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/cn","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"中文名称"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"cn"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"cn","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk19MSTranslateLanguageC2cnSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage/cn":{"role":"symbol","title":"cn","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"cn"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"中文名称"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/cn","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslatelanguage\/cn"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage":{"role":"symbol","title":"MSTranslateLanguage","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"abstract":[{"type":"text","text":"翻译支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateLanguage"}],"url":"\/documentation\/mixsdk\/mstranslatelanguage"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/code.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/code.json
new file mode 100644 (file)
index 0000000..0cd11a1
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstranslatelanguage\/code"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/code","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"代码"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"code","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk19MSTranslateLanguageC4codeSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage":{"role":"symbol","title":"MSTranslateLanguage","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"abstract":[{"type":"text","text":"翻译支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateLanguage"}],"url":"\/documentation\/mixsdk\/mstranslatelanguage"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage/code":{"role":"symbol","title":"code","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"code"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"代码"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/code","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslatelanguage\/code"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/en.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/en.json
new file mode 100644 (file)
index 0000000..cb32412
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"en"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstranslatelanguage\/en"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/en","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"英文名称"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"en"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"en","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk19MSTranslateLanguageC2enSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage/en":{"role":"symbol","title":"en","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"en"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"英文名称"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/en","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslatelanguage\/en"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage":{"role":"symbol","title":"MSTranslateLanguage","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"abstract":[{"type":"text","text":"翻译支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateLanguage"}],"url":"\/documentation\/mixsdk\/mstranslatelanguage"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/init(from:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstranslatelanguage/init(from:).json
new file mode 100644 (file)
index 0000000..0d451de
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstranslatelanguage\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:6MixSdk19MSTranslateLanguageC4fromACs7Decoder_p_tKcfc","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstranslatelanguage\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTranslateLanguage":{"role":"symbol","title":"MSTranslateLanguage","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTranslateLanguage"}],"abstract":[{"type":"text","text":"翻译支持的语言"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTranslateLanguage","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTranslateLanguage"}],"url":"\/documentation\/mixsdk\/mstranslatelanguage"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts.json
new file mode 100644 (file)
index 0000000..fbc38a5
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstts"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"文字转语音管理类"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"title":"MSTts","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk5MSTtsC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSTts"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/eventCallBack","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/voiceCallBack"]},{"title":"Instance Methods","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/runSynthesis(text:)","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/sendLongTextStream(text:)","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/startSynthesis()","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/stopSynthesis()"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/voiceCallBack":{"role":"symbol","title":"voiceCallBack","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"voiceCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTtsVoiceCallBack","preciseIdentifier":"s:6MixSdk18MSTtsVoiceCallBacka"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"语音数据回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/voiceCallBack","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/voicecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/sendLongTextStream(text:)":{"role":"symbol","title":"sendLongTextStream(text:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendLongTextStream"},{"kind":"text","text":"("},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送一次性长内容。注意实时合成和一次性只能同时运行一个"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/sendLongTextStream(text:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/sendlongtextstream(text:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/runSynthesis(text:)":{"role":"symbol","title":"runSynthesis(text:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"runSynthesis"},{"kind":"text","text":"("},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"实时发送。注意实时合成和一次性只能同时运行一个"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/runSynthesis(text:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/runsynthesis(text:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts":{"role":"symbol","title":"MSTts","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"abstract":[{"type":"text","text":"文字转语音管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTts"}],"url":"\/documentation\/mixsdk\/mstts"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/eventCallBack":{"role":"symbol","title":"eventCallBack","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"eventCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTtsEventCallBack","preciseIdentifier":"s:6MixSdk18MSTtsEventCallBacka"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/eventCallBack","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/eventcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/startSynthesis()":{"role":"symbol","title":"startSynthesis()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startSynthesis"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"开始实时语音合成"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/startSynthesis()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/startsynthesis()"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/stopSynthesis()":{"role":"symbol","title":"stopSynthesis()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopSynthesis"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"结束实时语音合成"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/stopSynthesis()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/stopsynthesis()"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/eventcallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/eventcallback.json
new file mode 100644 (file)
index 0000000..7195ec7
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"eventCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsEventCallBack","preciseIdentifier":"s:6MixSdk18MSTtsEventCallBacka","text":"MSTtsEventCallBack"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstts\/eventcallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/eventCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"事件回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"eventCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTtsEventCallBack","preciseIdentifier":"s:6MixSdk18MSTtsEventCallBacka"},{"kind":"text","text":"?"}],"title":"eventCallBack","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk5MSTtsC13eventCallBackyAA0C5ModelCcSgvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts":{"role":"symbol","title":"MSTts","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"abstract":[{"type":"text","text":"文字转语音管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTts"}],"url":"\/documentation\/mixsdk\/mstts"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/eventCallBack":{"role":"symbol","title":"eventCallBack","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"eventCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTtsEventCallBack","preciseIdentifier":"s:6MixSdk18MSTtsEventCallBacka"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/eventCallBack","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/eventcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsEventCallBack":{"role":"symbol","title":"MSTtsEventCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsEventCallBack"}],"abstract":[{"type":"text","text":"合成事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsEventCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsEventCallBack"}],"url":"\/documentation\/mixsdk\/msttseventcallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/runsynthesis(text:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/runsynthesis(text:).json
new file mode 100644 (file)
index 0000000..02ef445
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"runSynthesis"},{"kind":"text","text":"("},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"text","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"合成的内容"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstts\/runsynthesis(text:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/runSynthesis(text:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"实时发送。注意实时合成和一次性只能同时运行一个"}],"kind":"symbol","metadata":{"role":"symbol","title":"runSynthesis(text:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"runSynthesis"},{"kind":"text","text":"("},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:6MixSdk5MSTtsC12runSynthesis4textySS_tF","extendedModule":"MixSdk","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/runSynthesis(text:)":{"role":"symbol","title":"runSynthesis(text:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"runSynthesis"},{"kind":"text","text":"("},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"实时发送。注意实时合成和一次性只能同时运行一个"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/runSynthesis(text:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/runsynthesis(text:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts":{"role":"symbol","title":"MSTts","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"abstract":[{"type":"text","text":"文字转语音管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTts"}],"url":"\/documentation\/mixsdk\/mstts"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/sendlongtextstream(text:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/sendlongtextstream(text:).json
new file mode 100644 (file)
index 0000000..8663b06
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendLongTextStream"},{"kind":"text","text":"("},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"languages":["swift"],"platforms":["iOS"]}]},{"kind":"parameters","parameters":[{"name":"text","content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"合成的内容"}]}]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstts\/sendlongtextstream(text:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/sendLongTextStream(text:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"发送一次性长内容。注意实时合成和一次性只能同时运行一个"}],"kind":"symbol","metadata":{"role":"symbol","title":"sendLongTextStream(text:)","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendLongTextStream"},{"kind":"text","text":"("},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"symbolKind":"method","externalID":"s:6MixSdk5MSTtsC18sendLongTextStream4textySS_tF","extendedModule":"MixSdk","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/sendLongTextStream(text:)":{"role":"symbol","title":"sendLongTextStream(text:)","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"sendLongTextStream"},{"kind":"text","text":"("},{"kind":"externalParam","text":"text"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":")"}],"abstract":[{"type":"text","text":"发送一次性长内容。注意实时合成和一次性只能同时运行一个"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/sendLongTextStream(text:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/sendlongtextstream(text:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts":{"role":"symbol","title":"MSTts","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"abstract":[{"type":"text","text":"文字转语音管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTts"}],"url":"\/documentation\/mixsdk\/mstts"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/startsynthesis().json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/startsynthesis().json
new file mode 100644 (file)
index 0000000..a16ec86
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startSynthesis"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstts\/startsynthesis()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/startSynthesis()","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"开始实时语音合成"}],"kind":"symbol","metadata":{"role":"symbol","title":"startSynthesis()","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startSynthesis"},{"kind":"text","text":"()"}],"symbolKind":"method","externalID":"s:6MixSdk5MSTtsC14startSynthesisyyF","extendedModule":"MixSdk","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts":{"role":"symbol","title":"MSTts","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"abstract":[{"type":"text","text":"文字转语音管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTts"}],"url":"\/documentation\/mixsdk\/mstts"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/startSynthesis()":{"role":"symbol","title":"startSynthesis()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"startSynthesis"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"开始实时语音合成"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/startSynthesis()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/startsynthesis()"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/stopsynthesis().json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/stopsynthesis().json
new file mode 100644 (file)
index 0000000..2157bf3
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopSynthesis"},{"kind":"text","text":"()"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstts\/stopsynthesis()"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/stopSynthesis()","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"结束实时语音合成"}],"kind":"symbol","metadata":{"role":"symbol","title":"stopSynthesis()","roleHeading":"Instance Method","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopSynthesis"},{"kind":"text","text":"()"}],"symbolKind":"method","externalID":"s:6MixSdk5MSTtsC13stopSynthesisyyF","extendedModule":"MixSdk","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/stopSynthesis()":{"role":"symbol","title":"stopSynthesis()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"stopSynthesis"},{"kind":"text","text":"()"}],"abstract":[{"type":"text","text":"结束实时语音合成"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/stopSynthesis()","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/stopsynthesis()"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts":{"role":"symbol","title":"MSTts","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"abstract":[{"type":"text","text":"文字转语音管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTts"}],"url":"\/documentation\/mixsdk\/mstts"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/voicecallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/mstts/voicecallback.json
new file mode 100644 (file)
index 0000000..00f4ea7
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"voiceCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsVoiceCallBack","preciseIdentifier":"s:6MixSdk18MSTtsVoiceCallBacka","text":"MSTtsVoiceCallBack"},{"kind":"text","text":"?"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/mstts\/voicecallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/voiceCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"语音数据回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"voiceCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTtsVoiceCallBack","preciseIdentifier":"s:6MixSdk18MSTtsVoiceCallBacka"},{"kind":"text","text":"?"}],"title":"voiceCallBack","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk5MSTtsC13voiceCallBacky10Foundation4DataVcSgvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts":{"role":"symbol","title":"MSTts","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTts"}],"abstract":[{"type":"text","text":"文字转语音管理类"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTts"}],"url":"\/documentation\/mixsdk\/mstts"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsVoiceCallBack":{"role":"symbol","title":"MSTtsVoiceCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsVoiceCallBack"}],"abstract":[{"type":"text","text":"语音合成数据回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsVoiceCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsVoiceCallBack"}],"url":"\/documentation\/mixsdk\/msttsvoicecallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTts/voiceCallBack":{"role":"symbol","title":"voiceCallBack","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"voiceCallBack"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"MSTtsVoiceCallBack","preciseIdentifier":"s:6MixSdk18MSTtsVoiceCallBacka"},{"kind":"text","text":"?"}],"abstract":[{"type":"text","text":"语音数据回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTts\/voiceCallBack","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/mstts\/voicecallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msttseventcallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msttseventcallback.json
new file mode 100644 (file)
index 0000000..800eb00
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsEventCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"model"},{"kind":"text","text":": "},{"kind":"typeIdentifier","identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","preciseIdentifier":"s:6MixSdk10MSTtsModelC","text":"MSTtsModel"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msttseventcallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsEventCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"合成事件回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsEventCallBack"}],"title":"MSTtsEventCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk18MSTtsEventCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSTtsEventCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsEventCallBack":{"role":"symbol","title":"MSTtsEventCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsEventCallBack"}],"abstract":[{"type":"text","text":"合成事件回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsEventCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsEventCallBack"}],"url":"\/documentation\/mixsdk\/msttseventcallback"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel":{"role":"symbol","title":"MSTtsModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"abstract":[{"type":"text","text":"语音合成事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsModel"}],"url":"\/documentation\/mixsdk\/msttsmodel"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel.json
new file mode 100644 (file)
index 0000000..2e4cfcd
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msttsmodel"],"traits":[{"interfaceLanguage":"swift"}]}],"relationshipsSections":[{"identifiers":["doc:\/\/ZhiHui.MixSdk\/Se","doc:\/\/ZhiHui.MixSdk\/SE"],"kind":"relationships","title":"Conforms To","type":"conformsTo"}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"语音合成事件"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"title":"MSTtsModel","roleHeading":"Class","role":"symbol","symbolKind":"class","externalID":"s:6MixSdk10MSTtsModelC","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSTtsModel"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"topicSections":[{"title":"Initializers","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/init(from:)"]},{"title":"Instance Properties","identifiers":["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/event","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/msg","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/status","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/task_id"]}],"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/init(from:)"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/status":{"role":"symbol","title":"status","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"status"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/status","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/status"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel":{"role":"symbol","title":"MSTtsModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"abstract":[{"type":"text","text":"语音合成事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsModel"}],"url":"\/documentation\/mixsdk\/msttsmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/msg":{"role":"symbol","title":"msg","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"message"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/msg","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/msg"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/task_id":{"role":"symbol","title":"task_id","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"task_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"任务id"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/task_id","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/task_id"},"doc://ZhiHui.MixSdk/Se":{"type":"unresolvable","title":"Swift.Decodable","identifier":"doc:\/\/ZhiHui.MixSdk\/Se"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/event":{"role":"symbol","title":"event","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"event"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"事件"},{"type":"text","text":" "},{"type":"text","text":"SentenceBegin        服务器检测到一句完整的句子"},{"type":"text","text":" "},{"type":"text","text":"SentenceSynthesis  有新的合成结果"},{"type":"text","text":" "},{"type":"text","text":"SentenceEnd           句子合成结束"},{"type":"text","text":" "},{"type":"text","text":"EndSynthesis          合成技术"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/event","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/event"},"doc://ZhiHui.MixSdk/SE":{"type":"unresolvable","title":"Swift.Encodable","identifier":"doc:\/\/ZhiHui.MixSdk\/SE"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/event.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/event.json
new file mode 100644 (file)
index 0000000..d7be499
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"event"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msttsmodel\/event"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/event","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"事件"},{"type":"text","text":" "},{"type":"text","text":"SentenceBegin        服务器检测到一句完整的句子"},{"type":"text","text":" "},{"type":"text","text":"SentenceSynthesis  有新的合成结果"},{"type":"text","text":" "},{"type":"text","text":"SentenceEnd           句子合成结束"},{"type":"text","text":" "},{"type":"text","text":"EndSynthesis          合成技术"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"event"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"event","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSTtsModelC5eventSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/event":{"role":"symbol","title":"event","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"event"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"事件"},{"type":"text","text":" "},{"type":"text","text":"SentenceBegin        服务器检测到一句完整的句子"},{"type":"text","text":" "},{"type":"text","text":"SentenceSynthesis  有新的合成结果"},{"type":"text","text":" "},{"type":"text","text":"SentenceEnd           句子合成结束"},{"type":"text","text":" "},{"type":"text","text":"EndSynthesis          合成技术"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/event","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/event"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel":{"role":"symbol","title":"MSTtsModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"abstract":[{"type":"text","text":"语音合成事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsModel"}],"url":"\/documentation\/mixsdk\/msttsmodel"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/init(from:).json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/init(from:).json
new file mode 100644 (file)
index 0000000..6f3942f
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":" "},{"kind":"internalParam","text":"decoder"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msttsmodel\/init(from:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/init(from:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Inherited from "},{"type":"codeVoice","code":"Decodable.init(from:)"},{"type":"text","text":"."}],"kind":"symbol","metadata":{"fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"title":"init(from:)","roleHeading":"Initializer","role":"symbol","symbolKind":"init","externalID":"s:6MixSdk10MSTtsModelC4fromACs7Decoder_p_tKcfc","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel":{"role":"symbol","title":"MSTtsModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"abstract":[{"type":"text","text":"语音合成事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsModel"}],"url":"\/documentation\/mixsdk\/msttsmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/init(from:)":{"role":"symbol","title":"init(from:)","fragments":[{"kind":"identifier","text":"init"},{"kind":"text","text":"("},{"kind":"externalParam","text":"from"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Decoder","preciseIdentifier":"s:s7DecoderP"},{"kind":"text","text":") "},{"kind":"keyword","text":"throws"}],"abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/init(from:)","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/init(from:)"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/msg.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/msg.json
new file mode 100644 (file)
index 0000000..775c596
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msttsmodel\/msg"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/msg","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"message"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"msg","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSTtsModelC3msgSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/msg":{"role":"symbol","title":"msg","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"msg"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"message"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/msg","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/msg"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel":{"role":"symbol","title":"MSTtsModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"abstract":[{"type":"text","text":"语音合成事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsModel"}],"url":"\/documentation\/mixsdk\/msttsmodel"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/status.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/status.json
new file mode 100644 (file)
index 0000000..c2b4707
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"status"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msttsmodel\/status"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/status","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"状态码"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"status"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"title":"status","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSTtsModelC6statusSivp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/status":{"role":"symbol","title":"status","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"status"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Int","preciseIdentifier":"s:Si"}],"abstract":[{"type":"text","text":"状态码"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/status","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/status"},"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel":{"role":"symbol","title":"MSTtsModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"abstract":[{"type":"text","text":"语音合成事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsModel"}],"url":"\/documentation\/mixsdk\/msttsmodel"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/task_id.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsmodel/task_id.json
new file mode 100644 (file)
index 0000000..77a0e9e
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"task_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msttsmodel\/task_id"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/task_id","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"任务id"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"task_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"title":"task_id","roleHeading":"Instance Property","role":"symbol","symbolKind":"property","externalID":"s:6MixSdk10MSTtsModelC7task_idSSvp","modules":[{"name":"MixSdk"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel/task_id":{"role":"symbol","title":"task_id","fragments":[{"kind":"keyword","text":"var"},{"kind":"text","text":" "},{"kind":"identifier","text":"task_id"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"}],"abstract":[{"type":"text","text":"任务id"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel\/task_id","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk\/msttsmodel\/task_id"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsModel":{"role":"symbol","title":"MSTtsModel","fragments":[{"kind":"keyword","text":"class"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsModel"}],"abstract":[{"type":"text","text":"语音合成事件"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsModel","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsModel"}],"url":"\/documentation\/mixsdk\/msttsmodel"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsvoicecallback.json b/document/MixSdk.doccarchive/data/documentation/mixsdk/msttsvoicecallback.json
new file mode 100644 (file)
index 0000000..9329b39
--- /dev/null
@@ -0,0 +1 @@
+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsVoiceCallBack"},{"kind":"text","text":" = ("},{"kind":"externalParam","text":"_"},{"kind":"text","text":" "},{"kind":"internalParam","text":"data"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"Data","preciseIdentifier":"s:10Foundation4DataV"},{"kind":"text","text":") -> "},{"kind":"typeIdentifier","text":"Void","preciseIdentifier":"s:s4Voida"}],"languages":["swift"],"platforms":["iOS"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/mixsdk\/msttsvoicecallback"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsVoiceCallBack","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"语音合成数据回调"}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsVoiceCallBack"}],"title":"MSTtsVoiceCallBack","roleHeading":"Type Alias","role":"symbol","symbolKind":"typealias","externalID":"s:6MixSdk18MSTtsVoiceCallBacka","modules":[{"name":"MixSdk"}],"navigatorTitle":[{"kind":"identifier","text":"MSTtsVoiceCallBack"}]},"hierarchy":{"paths":[["doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk"]]},"references":{"doc://ZhiHui.MixSdk/documentation/MixSdk":{"role":"collection","title":"MixSdk","abstract":[],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk","kind":"symbol","type":"topic","url":"\/documentation\/mixsdk"},"doc://ZhiHui.MixSdk/documentation/MixSdk/MSTtsVoiceCallBack":{"role":"symbol","title":"MSTtsVoiceCallBack","fragments":[{"kind":"keyword","text":"typealias"},{"kind":"text","text":" "},{"kind":"identifier","text":"MSTtsVoiceCallBack"}],"abstract":[{"type":"text","text":"语音合成数据回调"}],"identifier":"doc:\/\/ZhiHui.MixSdk\/documentation\/MixSdk\/MSTtsVoiceCallBack","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"MSTtsVoiceCallBack"}],"url":"\/documentation\/mixsdk\/msttsvoicecallback"}}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/developer-og-twitter.jpg b/document/MixSdk.doccarchive/developer-og-twitter.jpg
new file mode 100644 (file)
index 0000000..63c4835
Binary files /dev/null and b/document/MixSdk.doccarchive/developer-og-twitter.jpg differ
diff --git a/document/MixSdk.doccarchive/developer-og.jpg b/document/MixSdk.doccarchive/developer-og.jpg
new file mode 100644 (file)
index 0000000..4db8408
Binary files /dev/null and b/document/MixSdk.doccarchive/developer-og.jpg differ
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/lrc/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/lrc/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/aigc/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/aigc/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/auth/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/auth/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/chat/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/chat/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/initsdk()/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/initsdk()/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/isdebug/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/isdebug/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/logs/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/logs/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/shared/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/shared/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/stt/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/stt/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/translate/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/translate/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/tts/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/tts/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/version/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdk/version/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdkversionnumber/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdkversionnumber/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mixsdkversionstring/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mixsdkversionstring/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigc/createtask(_:completehandler:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigc/createtask(_:completehandler:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigc/getresult(taskid:completehandler:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigc/getresult(taskid:completehandler:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigc/getstyle(type:completehandler:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigc/getstyle(type:completehandler:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigc/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigc/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcquerycallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcquerycallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcresult/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcresult/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcresult/init(from:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcresult/init(from:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcresult/url/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcresult/url/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/code/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/code/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/init(from:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/init(from:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/name/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/name/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/url/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstyle/url/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstylecallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigcstylecallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/algorithm/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/algorithm/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/amount/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/amount/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/height/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/height/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/init()/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/init()/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/init(from:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/init(from:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/subject/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/subject/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/type/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/type/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/url/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/url/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/width/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctask/width/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msaigctaskcallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msaigctaskcallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msauth/authorized/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msauth/authorized/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msauth/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msauth/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msauth/login(productkey:secretkey:deviceid:devicesecrect:completehandler:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msauth/login(productkey:secretkey:deviceid:devicesecrect:completehandler:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msauth/register(productkey:secretkey:deviceid:sn:completehandler:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msauth/register(productkey:secretkey:deviceid:sn:completehandler:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mschat/callback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mschat/callback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mschat/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mschat/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mschat/send(content:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mschat/send(content:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mschatcallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mschatcallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/content/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/content/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/init(from:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/init(from:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/type/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mschatmodel/type/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mserror/error-implementations/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mserror/error-implementations/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mserror/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mserror/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mserror/invalidrequest/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mserror/invalidrequest/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mserror/localizeddescription/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mserror/localizeddescription/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mserror/msg/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mserror/msg/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mserror/parsingerror/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mserror/parsingerror/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mserror/reponseerror(_:_:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mserror/reponseerror(_:_:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mserror/unauthorised/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mserror/unauthorised/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mserror/unknow/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mserror/unknow/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mslanuagecallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mslanuagecallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mslogincallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mslogincallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msregistercallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msregistercallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msstt/eventcallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msstt/eventcallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msstt/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msstt/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msstt/sendvoice(data:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msstt/sendvoice(data:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msstt/sentencerecognize(filepath:format:sample_rate:lang:completehandler:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msstt/sentencerecognize(filepath:format:sample_rate:lang:completehandler:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msstt/starttranscription()/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msstt/starttranscription()/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msstt/stoptranscription()/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msstt/stoptranscription()/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttcallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttcallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msstteventcallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msstteventcallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/event/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/event/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/init(from:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/init(from:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/msg/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/msg/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/result/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/result/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/status/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/status/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/task_id/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttmodel/task_id/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/end_time/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/end_time/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/init(from:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/init(from:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/is_end/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/is_end/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/result/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/result/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/sentence_id/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/sentence_id/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/start_time/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mssttresult/start_time/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstranslate/getsupportlanguages(completehandler:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstranslate/getsupportlanguages(completehandler:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstranslate/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstranslate/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstranslate/translate(lang:text:completehandler:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstranslate/translate(lang:text:completehandler:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatecallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatecallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/cn/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/cn/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/code/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/code/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/en/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/en/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/init(from:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstranslatelanguage/init(from:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstts/eventcallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstts/eventcallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstts/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstts/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstts/runsynthesis(text:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstts/runsynthesis(text:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstts/sendlongtextstream(text:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstts/sendlongtextstream(text:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstts/startsynthesis()/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstts/startsynthesis()/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstts/stopsynthesis()/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstts/stopsynthesis()/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/mstts/voicecallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/mstts/voicecallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msttseventcallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msttseventcallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/event/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/event/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/init(from:)/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/init(from:)/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/msg/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/msg/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/status/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/status/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/task_id/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msttsmodel/task_id/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/documentation/mixsdk/msttsvoicecallback/index.html b/document/MixSdk.doccarchive/documentation/mixsdk/msttsvoicecallback/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/favicon.ico b/document/MixSdk.doccarchive/favicon.ico
new file mode 100644 (file)
index 0000000..5231da6
Binary files /dev/null and b/document/MixSdk.doccarchive/favicon.ico differ
diff --git a/document/MixSdk.doccarchive/favicon.svg b/document/MixSdk.doccarchive/favicon.svg
new file mode 100644 (file)
index 0000000..c54c53f
--- /dev/null
@@ -0,0 +1,11 @@
+<!--
+  This source file is part of the Swift.org open source project
+
+  Copyright (c) 2021 Apple Inc. and the Swift project authors
+  Licensed under Apache License v2.0 with Runtime Library Exception
+
+  See https://swift.org/LICENSE.txt for license information
+  See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+-->
+
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25"><path d="M12.5.5a12,12,0,1,0,12,12A12,12,0,0,0,12.5.5ZM1.525,13H6.014a20.83,20.83,0,0,0,.469,4.031h-4A10.924,10.924,0,0,1,1.525,13ZM13,6.969V1.552c1.734.339,3.32,2.417,4.222,5.417Zm4.49,1a19.808,19.808,0,0,1,.5,4.031H13V7.969ZM12,1.552V6.969H7.778C8.68,3.969,10.266,1.891,12,1.552Zm0,6.417V12H7.013a19.808,19.808,0,0,1,.5-4.031ZM6.014,12H1.525a10.924,10.924,0,0,1,.96-4.031h4A20.83,20.83,0,0,0,6.014,12Zm1,1H12v4.031H7.51A19.808,19.808,0,0,1,7.013,13ZM12,18.031v5.417c-1.734-.339-3.32-2.417-4.222-5.417Zm1,5.417V18.031h4.222C16.32,21.031,14.734,23.109,13,23.448Zm0-6.417V13h4.987a19.808,19.808,0,0,1-.5,4.031ZM18.986,13h4.489a10.924,10.924,0,0,1-.96,4.031h-4A20.83,20.83,0,0,0,18.986,13Zm0-1a20.83,20.83,0,0,0-.469-4.031h4A10.924,10.924,0,0,1,23.475,12ZM22,6.969H18.265A11.6,11.6,0,0,0,15.6,1.951,11.007,11.007,0,0,1,22,6.969ZM9.4,1.951A11.6,11.6,0,0,0,6.735,6.969H3A11.007,11.007,0,0,1,9.4,1.951ZM3,18.031H6.735A11.6,11.6,0,0,0,9.4,23.049,11.007,11.007,0,0,1,3,18.031Zm12.6,5.018a11.6,11.6,0,0,0,2.665-5.018H22A11.007,11.007,0,0,1,15.6,23.049Z" fill-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/img/added-icon.d6f7e47d.svg b/document/MixSdk.doccarchive/img/added-icon.d6f7e47d.svg
new file mode 100644 (file)
index 0000000..6bb6d89
--- /dev/null
@@ -0,0 +1,11 @@
+<!--
+  This source file is part of the Swift.org open source project
+
+  Copyright (c) 2021 Apple Inc. and the Swift project authors
+  Licensed under Apache License v2.0 with Runtime Library Exception
+
+  See https://swift.org/LICENSE.txt for license information
+  See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+-->
+
+<svg xmlns="http://www.w3.org/2000/svg" fill="rgb(102, 102, 102)" viewBox="0 0 20 20"><path d="M17.025,2.975A9.935,9.935,0,0,0,2.846,16.9c.042.043.085.087.129.129A9.935,9.935,0,0,0,17.154,3.1C17.112,3.061,17.069,3.017,17.025,2.975ZM5.414,10.8V9.266H9.236V5.43h1.528V9.266h3.822V10.8H10.764V14.6H9.236V10.8Z"/></svg>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/img/deprecated-icon.015b4f17.svg b/document/MixSdk.doccarchive/img/deprecated-icon.015b4f17.svg
new file mode 100644 (file)
index 0000000..a0f8008
--- /dev/null
@@ -0,0 +1,11 @@
+<!--
+  This source file is part of the Swift.org open source project
+
+  Copyright (c) 2021 Apple Inc. and the Swift project authors
+  Licensed under Apache License v2.0 with Runtime Library Exception
+
+  See https://swift.org/LICENSE.txt for license information
+  See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+-->
+
+<svg xmlns="http://www.w3.org/2000/svg" fill="rgb(102, 102, 102)" viewBox="0 0 20 20"><path d="M10,0A10,10,0,1,1,0,10H0A10,10,0,0,1,10,0Zm4.615,9.262H5.385V10.8h9.23Z" fill-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/img/modified-icon.f496e73d.svg b/document/MixSdk.doccarchive/img/modified-icon.f496e73d.svg
new file mode 100644 (file)
index 0000000..3e0bd6f
--- /dev/null
@@ -0,0 +1,11 @@
+<!--
+  This source file is part of the Swift.org open source project
+
+  Copyright (c) 2021 Apple Inc. and the Swift project authors
+  Licensed under Apache License v2.0 with Runtime Library Exception
+
+  See https://swift.org/LICENSE.txt for license information
+  See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+-->
+
+<svg xmlns="http://www.w3.org/2000/svg" fill="rgb(102, 102, 102)" viewBox="0 0 20 20"><path d="M10,0A10,10,0,1,1,0,10H0A10,10,0,0,1,10,0Zm4.477,8.705c-.129.186-.259.377-.388.57a3.817,3.817,0,0,1-.42.528,2.046,2.046,0,0,1-.5.388,1.215,1.215,0,0,1-.592.154,2.492,2.492,0,0,1-1.034-.259c-.374-.172-.757-.358-1.153-.56s-.8-.388-1.206-.56a3.073,3.073,0,0,0-1.2-.258,2.9,2.9,0,0,0-1.12.2,3.211,3.211,0,0,0-.883.539,3.553,3.553,0,0,0-.668.769c-.125.191-.235.383-.335.574l-.139.288,1.163,1.033a4.364,4.364,0,0,1,.722-1.109,1.468,1.468,0,0,1,1.144-.529,2.547,2.547,0,0,1,1.088.258q.549.259,1.12.56t1.185.56a3.259,3.259,0,0,0,1.281.259,2.465,2.465,0,0,0,1.034-.205,3.122,3.122,0,0,0,.819-.538,4.827,4.827,0,0,0,.667-.754c.134-.186.262-.379.383-.574l.177-.3Z" fill-rule="evenodd"/></svg>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/img/no-image@2x.df2a0a50.png b/document/MixSdk.doccarchive/img/no-image@2x.df2a0a50.png
new file mode 100644 (file)
index 0000000..041394e
Binary files /dev/null and b/document/MixSdk.doccarchive/img/no-image@2x.df2a0a50.png differ
diff --git a/document/MixSdk.doccarchive/index.html b/document/MixSdk.doccarchive/index.html
new file mode 100644 (file)
index 0000000..d4fb7e2
--- /dev/null
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en-US"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><link rel="icon" href="/favicon.ico"><link rel="mask-icon" href="/favicon.svg" color="#333333"><title>Documentation</title><script>var baseUrl = "/"</script><link href="/css/chunk-c0335d80.10a2f091.css" rel="prefetch"><link href="/css/documentation-topic.1d1eec04.css" rel="prefetch"><link href="/css/documentation-topic~topic.b6287bcf.css" rel="prefetch"><link href="/css/documentation-topic~topic~tutorials-overview.d6f5411c.css" rel="prefetch"><link href="/css/topic.d8c126f3.css" rel="prefetch"><link href="/css/tutorials-overview.c249c765.css" rel="prefetch"><link href="/js/chunk-2d0d3105.cd72cc8e.js" rel="prefetch"><link href="/js/chunk-c0335d80.76a68cc5.js" rel="prefetch"><link href="/js/documentation-topic.57e91f8a.js" rel="prefetch"><link href="/js/documentation-topic~topic.1679ec90.js" rel="prefetch"><link href="/js/documentation-topic~topic~tutorials-overview.90c61522.js" rel="prefetch"><link href="/js/highlight-js-bash.1b52852f.js" rel="prefetch"><link href="/js/highlight-js-c.d1db3f17.js" rel="prefetch"><link href="/js/highlight-js-cpp.eaddddbe.js" rel="prefetch"><link href="/js/highlight-js-css.75eab1fe.js" rel="prefetch"><link href="/js/highlight-js-custom-markdown.7cffc4b3.js" rel="prefetch"><link href="/js/highlight-js-custom-swift.5cda5c20.js" rel="prefetch"><link href="/js/highlight-js-diff.62d66733.js" rel="prefetch"><link href="/js/highlight-js-http.163e45b6.js" rel="prefetch"><link href="/js/highlight-js-java.8326d9d8.js" rel="prefetch"><link href="/js/highlight-js-javascript.acb8a8eb.js" rel="prefetch"><link href="/js/highlight-js-json.471128d2.js" rel="prefetch"><link href="/js/highlight-js-llvm.6100b125.js" rel="prefetch"><link href="/js/highlight-js-markdown.90077643.js" rel="prefetch"><link href="/js/highlight-js-objectivec.bcdf5156.js" rel="prefetch"><link href="/js/highlight-js-perl.757d7b6f.js" rel="prefetch"><link href="/js/highlight-js-php.cc8d6c27.js" rel="prefetch"><link href="/js/highlight-js-python.c214ed92.js" rel="prefetch"><link href="/js/highlight-js-ruby.f889d392.js" rel="prefetch"><link href="/js/highlight-js-scss.62ee18da.js" rel="prefetch"><link href="/js/highlight-js-shell.dd7f411f.js" rel="prefetch"><link href="/js/highlight-js-swift.84f3e88c.js" rel="prefetch"><link href="/js/highlight-js-xml.9c3688c7.js" rel="prefetch"><link href="/js/topic.8cd0c0c4.js" rel="prefetch"><link href="/js/tutorials-overview.2a32cd6f.js" rel="prefetch"><link href="/css/index.038e887c.css" rel="preload" as="style"><link href="/js/chunk-vendors.ba2dd0cb.js" rel="preload" as="script"><link href="/js/index.e8a5d294.js" rel="preload" as="script"><link href="/css/index.038e887c.css" rel="stylesheet"></head><body data-color-scheme="auto"><noscript><style>.noscript{font-family:"SF Pro Display","SF Pro Icons","Helvetica Neue",Helvetica,Arial,sans-serif;margin:92px auto 140px auto;text-align:center;width:980px}.noscript-title{color:#111;font-size:48px;font-weight:600;letter-spacing:-.003em;line-height:1.08365;margin:0 auto 54px auto;width:502px}@media only screen and (max-width:1068px){.noscript{margin:90px auto 120px auto;width:692px}.noscript-title{font-size:40px;letter-spacing:0;line-height:1.1;margin:0 auto 45px auto;width:420px}}@media only screen and (max-width:735px){.noscript{margin:45px auto 60px auto;width:87.5%}.noscript-title{font-size:32px;letter-spacing:.004em;line-height:1.125;margin:0 auto 35px auto;max-width:330px;width:auto}}#loading-placeholder{display:none}</style><div class="noscript"><h1 class="noscript-title">This page requires JavaScript.</h1><p>Please turn on JavaScript in your browser and refresh the page to view its content.</p></div></noscript><div id="app"></div><script src="/js/chunk-vendors.ba2dd0cb.js"></script><script src="/js/index.e8a5d294.js"></script></body></html>
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/index/availability.index b/document/MixSdk.doccarchive/index/availability.index
new file mode 100644 (file)
index 0000000..0dc1789
Binary files /dev/null and b/document/MixSdk.doccarchive/index/availability.index differ
diff --git a/document/MixSdk.doccarchive/index/data.mdb b/document/MixSdk.doccarchive/index/data.mdb
new file mode 100755 (executable)
index 0000000..2826f19
Binary files /dev/null and b/document/MixSdk.doccarchive/index/data.mdb differ
diff --git a/document/MixSdk.doccarchive/index/index.json b/document/MixSdk.doccarchive/index/index.json
new file mode 100644 (file)
index 0000000..96caf38
--- /dev/null
@@ -0,0 +1 @@
+{"interfaceLanguages":{"occ":[{"children":[{"title":"Classes","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mixsdk","title":"MixSdk","type":"class"},{"title":"Variables","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mixsdkversionnumber","title":"MixSdkVersionNumber","type":"var"},{"path":"\/documentation\/mixsdk\/mixsdkversionstring","title":"MixSdkVersionString","type":"var"}],"path":"\/documentation\/mixsdk","title":"MixSdk","type":"module"}],"swift":[{"children":[{"title":"Classes","type":"groupMarker"},{"children":[{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msaigc\/createtask(_:completehandler:)","title":"func createTask(MSAigcTask, completeHandler: MSAigcTaskCallBack)","type":"method"},{"path":"\/documentation\/mixsdk\/msaigc\/getresult(taskid:completehandler:)","title":"func getResult(taskId: String, completeHandler: MSAigcQueryCallBack)","type":"method"},{"path":"\/documentation\/mixsdk\/msaigc\/getstyle(type:completehandler:)","title":"func getStyle(type: Int, completeHandler: MSAigcStyleCallBack)","type":"method"}],"path":"\/documentation\/mixsdk\/msaigc","title":"MSAigc","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msaigcresult\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msaigcresult\/url","title":"var url: String","type":"property"}],"path":"\/documentation\/mixsdk\/msaigcresult","title":"MSAigcResult","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msaigcstyle\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msaigcstyle\/code","title":"var code: String","type":"property"},{"path":"\/documentation\/mixsdk\/msaigcstyle\/name","title":"var name: String","type":"property"},{"path":"\/documentation\/mixsdk\/msaigcstyle\/url","title":"var url: String","type":"property"}],"path":"\/documentation\/mixsdk\/msaigcstyle","title":"MSAigcStyle","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msaigctask\/init()","title":"init()","type":"init"},{"path":"\/documentation\/mixsdk\/msaigctask\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msaigctask\/algorithm","title":"var algorithm: String","type":"property"},{"path":"\/documentation\/mixsdk\/msaigctask\/amount","title":"var amount: Int","type":"property"},{"path":"\/documentation\/mixsdk\/msaigctask\/height","title":"var height: Int","type":"property"},{"path":"\/documentation\/mixsdk\/msaigctask\/subject","title":"var subject: String?","type":"property"},{"path":"\/documentation\/mixsdk\/msaigctask\/type","title":"var type: Int","type":"property"},{"path":"\/documentation\/mixsdk\/msaigctask\/url","title":"var url: String?","type":"property"},{"path":"\/documentation\/mixsdk\/msaigctask\/width","title":"var width: Int","type":"property"}],"path":"\/documentation\/mixsdk\/msaigctask","title":"MSAigcTask","type":"class"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msauth\/authorized","title":"var authorized: Bool","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msauth\/login(productkey:secretkey:deviceid:devicesecrect:completehandler:)","title":"func login(productKey: String, secretKey: String, deviceId: String, deviceSecrect: String, completeHandler: MSLoginCallBack)","type":"method"},{"path":"\/documentation\/mixsdk\/msauth\/register(productkey:secretkey:deviceid:sn:completehandler:)","title":"func register(productKey: String, secretKey: String, deviceId: String, sn: String, completeHandler: MSRegisterCallBack)","type":"method"}],"path":"\/documentation\/mixsdk\/msauth","title":"MSAuth","type":"class"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mschat\/callback","title":"var callBack: MSChatCallBack?","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mschat\/send(content:)","title":"func send(content: String)","type":"method"}],"path":"\/documentation\/mixsdk\/mschat","title":"MSChat","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mschatmodel\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mschatmodel\/content","title":"var content: String?","type":"property"},{"path":"\/documentation\/mixsdk\/mschatmodel\/type","title":"var type: String","type":"property"}],"path":"\/documentation\/mixsdk\/mschatmodel","title":"MSChatModel","type":"class"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msstt\/eventcallback","title":"var eventCallBack: MSSttEventCallBack?","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msstt\/sendvoice(data:)","title":"func sendVoice(data: Data)","type":"method"},{"path":"\/documentation\/mixsdk\/msstt\/sentencerecognize(filepath:format:sample_rate:lang:completehandler:)","title":"func sentenceRecognize(filePath: String, format: String?, sample_rate: String?, lang: String?, completeHandler: MSSttCallBack)","type":"method"},{"path":"\/documentation\/mixsdk\/msstt\/starttranscription()","title":"func startTranscription()","type":"method"},{"path":"\/documentation\/mixsdk\/msstt\/stoptranscription()","title":"func stopTranscription()","type":"method"}],"path":"\/documentation\/mixsdk\/msstt","title":"MSStt","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mssttmodel\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mssttmodel\/event","title":"var event: String","type":"property"},{"path":"\/documentation\/mixsdk\/mssttmodel\/msg","title":"var msg: String","type":"property"},{"path":"\/documentation\/mixsdk\/mssttmodel\/result","title":"var result: MSSttResult?","type":"property"},{"path":"\/documentation\/mixsdk\/mssttmodel\/status","title":"var status: Int","type":"property"},{"path":"\/documentation\/mixsdk\/mssttmodel\/task_id","title":"var task_id: String","type":"property"}],"path":"\/documentation\/mixsdk\/mssttmodel","title":"MSSttModel","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mssttresult\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mssttresult\/end_time","title":"var end_time: Int","type":"property"},{"path":"\/documentation\/mixsdk\/mssttresult\/is_end","title":"var is_end: Bool","type":"property"},{"path":"\/documentation\/mixsdk\/mssttresult\/result","title":"var result: String","type":"property"},{"path":"\/documentation\/mixsdk\/mssttresult\/sentence_id","title":"var sentence_id: String","type":"property"},{"path":"\/documentation\/mixsdk\/mssttresult\/start_time","title":"var start_time: Int","type":"property"}],"path":"\/documentation\/mixsdk\/mssttresult","title":"MSSttResult","type":"class"},{"children":[{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mstranslate\/getsupportlanguages(completehandler:)","title":"func getSupportLanguages(completeHandler: MSLanuageCallBack)","type":"method"},{"path":"\/documentation\/mixsdk\/mstranslate\/translate(lang:text:completehandler:)","title":"func translate(lang: MSTranslateLanguage, text: String, completeHandler: MSTranslateCallBack)","type":"method"}],"path":"\/documentation\/mixsdk\/mstranslate","title":"MSTranslate","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mstranslatelanguage\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mstranslatelanguage\/cn","title":"var cn: String","type":"property"},{"path":"\/documentation\/mixsdk\/mstranslatelanguage\/code","title":"var code: String","type":"property"},{"path":"\/documentation\/mixsdk\/mstranslatelanguage\/en","title":"var en: String","type":"property"}],"path":"\/documentation\/mixsdk\/mstranslatelanguage","title":"MSTranslateLanguage","type":"class"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mstts\/eventcallback","title":"var eventCallBack: MSTtsEventCallBack?","type":"property"},{"path":"\/documentation\/mixsdk\/mstts\/voicecallback","title":"var voiceCallBack: MSTtsVoiceCallBack?","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mstts\/runsynthesis(text:)","title":"func runSynthesis(text: String)","type":"method"},{"path":"\/documentation\/mixsdk\/mstts\/sendlongtextstream(text:)","title":"func sendLongTextStream(text: String)","type":"method"},{"path":"\/documentation\/mixsdk\/mstts\/startsynthesis()","title":"func startSynthesis()","type":"method"},{"path":"\/documentation\/mixsdk\/mstts\/stopsynthesis()","title":"func stopSynthesis()","type":"method"}],"path":"\/documentation\/mixsdk\/mstts","title":"MSTts","type":"class"},{"children":[{"title":"Initializers","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msttsmodel\/init(from:)","title":"init(from: Decoder) throws","type":"init"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msttsmodel\/event","title":"var event: String","type":"property"},{"path":"\/documentation\/mixsdk\/msttsmodel\/msg","title":"var msg: String","type":"property"},{"path":"\/documentation\/mixsdk\/msttsmodel\/status","title":"var status: Int","type":"property"},{"path":"\/documentation\/mixsdk\/msttsmodel\/task_id","title":"var task_id: String","type":"property"}],"path":"\/documentation\/mixsdk\/msttsmodel","title":"MSTtsModel","type":"class"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mixsdk\/aigc","title":"var aigc: MSAigc","type":"property"},{"path":"\/documentation\/mixsdk\/mixsdk\/auth","title":"var auth: MSAuth","type":"property"},{"path":"\/documentation\/mixsdk\/mixsdk\/chat","title":"var chat: MSChat","type":"property"},{"path":"\/documentation\/mixsdk\/mixsdk\/isdebug","title":"var isDebug: Bool","type":"property"},{"path":"\/documentation\/mixsdk\/mixsdk\/logs","title":"var logs: [String]","type":"property"},{"path":"\/documentation\/mixsdk\/mixsdk\/stt","title":"var stt: MSStt","type":"property"},{"path":"\/documentation\/mixsdk\/mixsdk\/translate","title":"var translate: MSTranslate","type":"property"},{"path":"\/documentation\/mixsdk\/mixsdk\/tts","title":"var tts: MSTts","type":"property"},{"path":"\/documentation\/mixsdk\/mixsdk\/version","title":"let version: String","type":"property"},{"title":"Instance Methods","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mixsdk\/initsdk()","title":"func initSDK()","type":"method"},{"title":"Type Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mixsdk\/shared","title":"static let shared: MixSdk","type":"property"}],"path":"\/documentation\/mixsdk\/mixsdk","title":"MixSdk","type":"class"},{"title":"Structures","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/lrc","title":"LRC","type":"struct"},{"title":"Type Aliases","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/msaigcquerycallback","title":"MSAigcQueryCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/msaigcstylecallback","title":"MSAigcStyleCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/msaigctaskcallback","title":"MSAigcTaskCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/mschatcallback","title":"MSChatCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/mslanuagecallback","title":"MSLanuageCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/mslogincallback","title":"MSLoginCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/msregistercallback","title":"MSRegisterCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/mssttcallback","title":"MSSttCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/msstteventcallback","title":"MSSttEventCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/mstranslatecallback","title":"MSTranslateCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/msttseventcallback","title":"MSTtsEventCallBack","type":"typealias"},{"path":"\/documentation\/mixsdk\/msttsvoicecallback","title":"MSTtsVoiceCallBack","type":"typealias"},{"title":"Enumerations","type":"groupMarker"},{"children":[{"title":"Enumeration Cases","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mserror\/invalidrequest","title":"case invalidRequest","type":"case"},{"path":"\/documentation\/mixsdk\/mserror\/parsingerror","title":"case parsingError","type":"case"},{"path":"\/documentation\/mixsdk\/mserror\/reponseerror(_:_:)","title":"case reponseError(Int, String)","type":"case"},{"path":"\/documentation\/mixsdk\/mserror\/unauthorised","title":"case unauthorised","type":"case"},{"path":"\/documentation\/mixsdk\/mserror\/unknow","title":"case unknow","type":"case"},{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mserror\/msg","title":"var msg: String","type":"property"},{"title":"Default Implementations","type":"groupMarker"},{"children":[{"title":"Instance Properties","type":"groupMarker"},{"path":"\/documentation\/mixsdk\/mserror\/localizeddescription","title":"var localizedDescription: String","type":"property"}],"path":"\/documentation\/mixsdk\/mserror\/error-implementations","title":"Error Implementations","type":"symbol"}],"path":"\/documentation\/mixsdk\/mserror","title":"MSError","type":"enum"}],"path":"\/documentation\/mixsdk","title":"MixSdk","type":"module"}]},"schemaVersion":{"major":0,"minor":1,"patch":1}}
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/index/navigator.index b/document/MixSdk.doccarchive/index/navigator.index
new file mode 100644 (file)
index 0000000..1c3b22b
Binary files /dev/null and b/document/MixSdk.doccarchive/index/navigator.index differ
diff --git a/document/MixSdk.doccarchive/js/chunk-2d0d3105.cd72cc8e.js b/document/MixSdk.doccarchive/js/chunk-2d0d3105.cd72cc8e.js
new file mode 100644 (file)
index 0000000..74345f0
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d3105"],{"5abe":function(t,e){(function(){"use strict";if("object"===typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=function(t){var e=t,n=i(e);while(n)e=n.ownerDocument,n=i(e);return e}(window.document),e=[],n=null,o=null;s.prototype.THROTTLE_TIMEOUT=100,s.prototype.POLL_INTERVAL=null,s.prototype.USE_MUTATION_OBSERVER=!0,s._setupCrossOriginUpdater=function(){return n||(n=function(t,n){o=t&&n?g(t,n):p(),e.forEach((function(t){t._checkForIntersections()}))}),n},s._resetCrossOriginUpdater=function(){n=null,o=null},s.prototype.observe=function(t){var e=this._observationTargets.some((function(e){return e.element==t}));if(!e){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},s.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},s.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},s.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},s.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,n){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==n[e-1]}))},s.prototype._parseRootMargin=function(t){var e=t||"0px",n=e.split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return n[1]=n[1]||n[0],n[2]=n[2]||n[0],n[3]=n[3]||n[1],n},s.prototype._monitorIntersections=function(e){var n=e.defaultView;if(n&&-1==this._monitoringDocuments.indexOf(e)){var o=this._checkForIntersections,r=null,s=null;this.POLL_INTERVAL?r=n.setInterval(o,this.POLL_INTERVAL):(c(n,"resize",o,!0),c(e,"scroll",o,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in n&&(s=new n.MutationObserver(o),s.observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push((function(){var t=e.defaultView;t&&(r&&t.clearInterval(r),a(t,"resize",o,!0)),a(e,"scroll",o,!0),s&&s.disconnect()}));var h=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=h){var u=i(e);u&&this._monitorIntersections(u.ownerDocument)}}},s.prototype._unmonitorIntersections=function(e){var n=this._monitoringDocuments.indexOf(e);if(-1!=n){var o=this.root&&(this.root.ownerDocument||this.root)||t,r=this._observationTargets.some((function(t){var n=t.element.ownerDocument;if(n==e)return!0;while(n&&n!=o){var r=i(n);if(n=r&&r.ownerDocument,n==e)return!0}return!1}));if(!r){var s=this._monitoringUnsubscribes[n];if(this._monitoringDocuments.splice(n,1),this._monitoringUnsubscribes.splice(n,1),s(),e!=o){var h=i(e);h&&this._unmonitorIntersections(h.ownerDocument)}}}},s.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e<t.length;e++)t[e]()},s.prototype._checkForIntersections=function(){if(this.root||!n||o){var t=this._rootIsInDom(),e=t?this._getRootRect():p();this._observationTargets.forEach((function(o){var i=o.element,s=f(i),u=this._rootContainsTarget(i),c=o.entry,a=t&&u&&this._computeTargetAndRootIntersection(i,s,e),l=null;this._rootContainsTarget(i)?n&&!this.root||(l=e):l=p();var d=o.entry=new r({time:h(),target:i,boundingClientRect:s,rootBounds:l,intersectionRect:a});c?t&&u?this._hasCrossedThreshold(c,d)&&this._queuedEntries.push(d):c&&c.isIntersecting&&this._queuedEntries.push(d):this._queuedEntries.push(d)}),this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)}},s.prototype._computeTargetAndRootIntersection=function(e,i,r){if("none"!=window.getComputedStyle(e).display){var s=i,h=v(e),u=!1;while(!u&&h){var c=null,a=1==h.nodeType?window.getComputedStyle(h):{};if("none"==a.display)return null;if(h==this.root||9==h.nodeType)if(u=!0,h==this.root||h==t)n&&!this.root?!o||0==o.width&&0==o.height?(h=null,c=null,s=null):c=o:c=r;else{var p=v(h),d=p&&f(p),m=p&&this._computeTargetAndRootIntersection(p,d,r);d&&m?(h=p,c=g(d,m)):(h=null,s=null)}else{var w=h.ownerDocument;h!=w.body&&h!=w.documentElement&&"visible"!=a.overflow&&(c=f(h))}if(c&&(s=l(c,s)),!s)break;h=h&&v(h)}return s}},s.prototype._getRootRect=function(){var e;if(this.root&&!w(this.root))e=f(this.root);else{var n=w(this.root)?this.root:t,o=n.documentElement,i=n.body;e={top:0,left:0,right:o.clientWidth||i.clientWidth,width:o.clientWidth||i.clientWidth,bottom:o.clientHeight||i.clientHeight,height:o.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},s.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,n){return"px"==e.unit?e.value:e.value*(n%2?t.width:t.height)/100})),n={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return n.width=n.right-n.left,n.height=n.bottom-n.top,n},s.prototype._hasCrossedThreshold=function(t,e){var n=t&&t.isIntersecting?t.intersectionRatio||0:-1,o=e.isIntersecting?e.intersectionRatio||0:-1;if(n!==o)for(var i=0;i<this.thresholds.length;i++){var r=this.thresholds[i];if(r==n||r==o||r<n!==r<o)return!0}},s.prototype._rootIsInDom=function(){return!this.root||m(t,this.root)},s.prototype._rootContainsTarget=function(e){var n=this.root&&(this.root.ownerDocument||this.root)||t;return m(n,e)&&(!this.root||n==e.ownerDocument)},s.prototype._registerInstance=function(){e.indexOf(this)<0&&e.push(this)},s.prototype._unregisterInstance=function(){var t=e.indexOf(this);-1!=t&&e.splice(t,1)},window.IntersectionObserver=s,window.IntersectionObserverEntry=r}function i(t){try{return t.defaultView&&t.defaultView.frameElement||null}catch(e){return null}}function r(t){this.time=t.time,this.target=t.target,this.rootBounds=d(t.rootBounds),this.boundingClientRect=d(t.boundingClientRect),this.intersectionRect=d(t.intersectionRect||p()),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,n=e.width*e.height,o=this.intersectionRect,i=o.width*o.height;this.intersectionRatio=n?Number((i/n).toFixed(4)):this.isIntersecting?1:0}function s(t,e){var n=e||{};if("function"!=typeof t)throw new Error("callback must be a function");if(n.root&&1!=n.root.nodeType&&9!=n.root.nodeType)throw new Error("root must be a Document or Element");this._checkForIntersections=u(this._checkForIntersections.bind(this),this.THROTTLE_TIMEOUT),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(n.rootMargin),this.thresholds=this._initThresholds(n.threshold),this.root=n.root||null,this.rootMargin=this._rootMarginValues.map((function(t){return t.value+t.unit})).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function h(){return window.performance&&performance.now&&performance.now()}function u(t,e){var n=null;return function(){n||(n=setTimeout((function(){t(),n=null}),e))}}function c(t,e,n,o){"function"==typeof t.addEventListener?t.addEventListener(e,n,o||!1):"function"==typeof t.attachEvent&&t.attachEvent("on"+e,n)}function a(t,e,n,o){"function"==typeof t.removeEventListener?t.removeEventListener(e,n,o||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on"+e,n)}function l(t,e){var n=Math.max(t.top,e.top),o=Math.min(t.bottom,e.bottom),i=Math.max(t.left,e.left),r=Math.min(t.right,e.right),s=r-i,h=o-n;return s>=0&&h>=0&&{top:n,bottom:o,left:i,right:r,width:s,height:h}||null}function f(t){var e;try{e=t.getBoundingClientRect()}catch(n){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):p()}function p(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function d(t){return!t||"x"in t?t:{top:t.top,y:t.top,bottom:t.bottom,left:t.left,x:t.left,right:t.right,width:t.width,height:t.height}}function g(t,e){var n=e.top-t.top,o=e.left-t.left;return{top:n,left:o,height:e.height,width:e.width,bottom:n+e.height,right:o+e.width}}function m(t,e){var n=e;while(n){if(n==t)return!0;n=v(n)}return!1}function v(e){var n=e.parentNode;return 9==e.nodeType&&e!=t?i(e):(n&&n.assignedSlot&&(n=n.assignedSlot.parentNode),n&&11==n.nodeType&&n.host?n.host:n)}function w(t){return t&&9===t.nodeType}})()}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/chunk-c0335d80.76a68cc5.js b/document/MixSdk.doccarchive/js/chunk-c0335d80.76a68cc5.js
new file mode 100644 (file)
index 0000000..f4f01b7
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-c0335d80"],{"00b4":function(e,t,n){"use strict";var a,r,i,o,s,c,l,d,p=n("7b1f"),u={name:"ChangedToken",render(e){const{kind:t,tokens:n}=this;return e("span",{class:["token-"+t,"token-changed"]},n.map(t=>e(D,{props:t})))},props:{kind:{type:String,required:!0},tokens:{type:Array,required:!0}}},f=u,m=n("2877"),h=Object(m["a"])(f,a,r,!1,null,null,null),b=h.exports,g=n("86d8"),v=n("2f34"),y={name:"LinkableToken",mixins:[v["a"]],render(e){const t=this.references[this.identifier];return t&&t.url?e(g["a"],{props:{url:t.url,kind:t.kind,role:t.role}},this.$slots.default):e("span",{},this.$slots.default)},props:{identifier:{type:String,required:!0,default:()=>""}}},k=y,C=Object(m["a"])(k,i,o,!1,null,null,null),_=C.exports,x={name:"RawText",render(e){const{_v:t=(t=>e("span",t)),text:n}=this;return t(n)},props:{text:{type:String,required:!0}}},O=x,B=Object(m["a"])(O,s,c,!1,null,null,null),T=B.exports,S={name:"SyntaxToken",render(e){return e("span",{class:"token-"+this.kind},this.text)},props:{kind:{type:String,required:!0},text:{type:String,required:!0}}},I=S,$=Object(m["a"])(I,l,d,!1,null,null,null),j=$.exports;const q={attribute:"attribute",externalParam:"externalParam",genericParameter:"genericParameter",identifier:"identifier",internalParam:"internalParam",keyword:"keyword",label:"label",number:"number",string:"string",text:"text",typeIdentifier:"typeIdentifier",added:"added",removed:"removed"};var w,A,P={name:"DeclarationToken",render(e){const{kind:t,text:n,tokens:a}=this;switch(t){case q.text:{const t={text:n};return e(T,{props:t})}case q.typeIdentifier:{const t={identifier:this.identifier};return e(_,{class:"type-identifier-link",props:t},[e(p["a"],n)])}case q.attribute:{const{identifier:a}=this;return a?e(_,{class:"attribute-link",props:{identifier:a}},[e(p["a"],n)]):e(j,{props:{kind:t,text:n}})}case q.added:case q.removed:return e(b,{props:{tokens:a,kind:t}});default:{const a={kind:t,text:n};return e(j,{props:a})}}},constants:{TokenKind:q},props:{kind:{type:String,required:!0},identifier:{type:String,required:!1},text:{type:String,required:!1},tokens:{type:Array,required:!1,default:()=>[]}}},F=P,z=(n("8f34"),Object(m["a"])(F,w,A,!1,null,"3fd63d6c",null)),D=t["a"]=z.exports},"2a18":function(e,t,n){"use strict";n.r(t);var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"link-block",class:e.linkBlockClasses},[n(e.linkComponent,e._b({ref:"apiChangesDiff",tag:"component",staticClass:"link",class:e.linkClasses},"component",e.linkProps,!1),[e.topic.role&&!e.change?n("TopicLinkBlockIcon",{attrs:{role:e.topic.role,imageOverride:e.references[e.iconOverride]}}):e._e(),e.topic.fragments?n("DecoratedTopicTitle",{attrs:{tokens:e.topic.fragments}}):n("WordBreak",{attrs:{tag:e.titleTag}},[e._v(e._s(e.topic.title))]),e.change?n("span",{staticClass:"visuallyhidden"},[e._v("- "+e._s(e.$t(e.changeName)))]):e._e()],1),e.hasAbstractElements?n("div",{staticClass:"abstract"},[e.topic.abstract?n("ContentNode",{attrs:{content:e.topic.abstract}}):e._e(),e.topic.ideTitle?n("div",{staticClass:"topic-keyinfo"},[e.topic.titleStyle===e.titleStyles.title?[n("strong",[e._v("Key:")]),e._v(" "+e._s(e.topic.name)+" ")]:e.topic.titleStyle===e.titleStyles.symbol?[n("strong",[e._v("Name:")]),e._v(" "+e._s(e.topic.ideTitle)+" ")]:e._e()],2):e._e(),e.topic.required||e.topic.defaultImplementations?n("RequirementMetadata",{staticClass:"topic-required",attrs:{defaultImplementationsCount:e.topic.defaultImplementations}}):e._e(),e.topic.conformance?n("ConditionalConstraints",{attrs:{constraints:e.topic.conformance.constraints,prefix:e.topic.conformance.availabilityPrefix}}):e._e()],1):e._e(),e.showDeprecatedBadge?n("Badge",{attrs:{variant:"deprecated"}}):e.showBetaBadge?n("Badge",{attrs:{variant:"beta"}}):e._e(),e._l(e.tags,(function(t){return n("Badge",{key:t.type+"-"+t.text,attrs:{variant:t.type}},[e._v(" "+e._s(t.text)+" ")])}))],2)},r=[],i=n("66cd"),o=n("d26a"),s=n("a0fd"),c=n("7b1f"),l=n("6359"),d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.imageOverride||e.icon?n("div",{staticClass:"topic-icon-wrapper"},[e.imageOverride?n("OverridableAsset",{staticClass:"topic-icon",attrs:{imageOverride:e.imageOverride}}):e.icon?n(e.icon,{tag:"component",staticClass:"topic-icon"}):e._e()],1):e._e()},p=[],u=n("a9f1"),f=n("3b96"),m=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"api-reference-icon",attrs:{viewBox:"0 0 14 14",themeId:"api-reference"}},[n("title",[e._v(e._s(e.$t("api-reference")))]),n("path",{attrs:{d:"m1 1v12h12v-12zm11 11h-10v-10h10z"}}),n("path",{attrs:{d:"m3 4h8v1h-8zm0 2.5h8v1h-8zm0 2.5h8v1h-8z"}}),n("path",{attrs:{d:"m3 4h8v1h-8z"}}),n("path",{attrs:{d:"m3 6.5h8v1h-8z"}}),n("path",{attrs:{d:"m3 9h8v1h-8z"}})])},h=[],b=n("be08"),g={name:"APIReferenceIcon",components:{SVGIcon:b["a"]}},v=g,y=n("2877"),k=Object(y["a"])(v,m,h,!1,null,null,null),C=k.exports,_=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",themeId:"endpoint"}},[n("title",[e._v(e._s(e.$t("icons.web-service-endpoint")))]),n("path",{attrs:{d:"M4.052 8.737h-1.242l-1.878 5.263h1.15l0.364-1.081h1.939l0.339 1.081h1.193zM2.746 12.012l0.678-2.071 0.653 2.071z"}}),n("path",{attrs:{d:"M11.969 8.737h1.093v5.263h-1.093v-5.263z"}}),n("path",{attrs:{d:"M9.198 8.737h-2.295v5.263h1.095v-1.892h1.12c0.040 0.003 0.087 0.004 0.134 0.004 0.455 0 0.875-0.146 1.217-0.394l-0.006 0.004c0.296-0.293 0.48-0.699 0.48-1.148 0-0.060-0.003-0.118-0.010-0.176l0.001 0.007c0.003-0.039 0.005-0.085 0.005-0.131 0-0.442-0.183-0.842-0.476-1.128l-0-0c-0.317-0.256-0.724-0.41-1.168-0.41-0.034 0-0.069 0.001-0.102 0.003l0.005-0zM9.628 11.014c-0.15 0.118-0.341 0.188-0.548 0.188-0.020 0-0.040-0.001-0.060-0.002l0.003 0h-1.026v-1.549h1.026c0.017-0.001 0.037-0.002 0.058-0.002 0.206 0 0.396 0.066 0.551 0.178l-0.003-0.002c0.135 0.13 0.219 0.313 0.219 0.515 0 0.025-0.001 0.050-0.004 0.074l0-0.003c0.002 0.020 0.003 0.044 0.003 0.068 0 0.208-0.083 0.396-0.219 0.534l0-0z"}}),n("path",{attrs:{d:"M13.529 4.981c0-1.375-1.114-2.489-2.489-2.49h-0l-0.134 0.005c-0.526-1.466-1.903-2.496-3.522-2.496-0.892 0-1.711 0.313-2.353 0.835l0.007-0.005c-0.312-0.243-0.709-0.389-1.14-0.389-1.030 0-1.865 0.834-1.866 1.864v0c0 0.001 0 0.003 0 0.004 0 0.123 0.012 0.242 0.036 0.358l-0.002-0.012c-0.94 0.37-1.593 1.27-1.593 2.323 0 1.372 1.11 2.485 2.482 2.49h8.243c1.306-0.084 2.333-1.164 2.333-2.484 0-0.001 0-0.002 0-0.003v0zM11.139 6.535h-8.319c-0.799-0.072-1.421-0.739-1.421-1.551 0-0.659 0.41-1.223 0.988-1.45l0.011-0.004 0.734-0.28-0.148-0.776-0.012-0.082v-0.088c0-0 0-0.001 0-0.001 0-0.515 0.418-0.933 0.933-0.933 0.216 0 0.416 0.074 0.574 0.197l-0.002-0.002 0.584 0.453 0.575-0.467 0.169-0.127c0.442-0.306 0.991-0.489 1.581-0.489 1.211 0 2.243 0.769 2.633 1.846l0.006 0.019 0.226 0.642 0.814-0.023 0.131 0.006c0.805 0.067 1.432 0.736 1.432 1.552 0 0.836-0.659 1.518-1.486 1.556l-0.003 0z"}})])},x=[],O={name:"EndpointIcon",components:{SVGIcon:b["a"]}},B=O,T=Object(y["a"])(B,_,x,!1,null,null,null),S=T.exports,I=n("a295"),$=n("3024"),j=n("8d2d"),q=n("fdd9");const w={[i["a"].article]:u["a"],[i["a"].collection]:$["a"],[i["a"].collectionGroup]:C,[i["a"].learn]:I["a"],[i["a"].overview]:I["a"],[i["a"].project]:j["a"],[i["a"].tutorial]:j["a"],[i["a"].resources]:I["a"],[i["a"].sampleCode]:f["a"],[i["a"].restRequestSymbol]:S};var A={components:{OverridableAsset:q["a"],SVGIcon:b["a"]},props:{role:{type:String,required:!0},imageOverride:{type:Object,default:null}},computed:{icon:({role:e})=>w[e]}},P=A,F=(n("d94b"),Object(y["a"])(P,d,p,!1,null,"03cf3183",null)),z=F.exports,D=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("code",{staticClass:"decorated-title"},e._l(e.tokens,(function(t,a){return n(e.componentFor(t),{key:a,tag:"component",class:[e.classFor(t),e.emptyTokenClass(t)]},[e._v(e._s(t.text))])})),1)},N=[],E=n("00b4");const{TokenKind:M}=E["a"].constants,V={decorator:"decorator",identifier:"identifier",label:"label"};var L={name:"DecoratedTopicTitle",components:{WordBreak:c["a"]},props:{tokens:{type:Array,required:!0,default:()=>[]}},constants:{TokenKind:M},methods:{emptyTokenClass:({text:e})=>({"empty-token":" "===e}),classFor({kind:e}){switch(e){case M.externalParam:case M.identifier:return V.identifier;case M.label:return V.label;default:return V.decorator}},componentFor(e){return/^\s+$/.test(e.text)?"span":c["a"]}}},R=L,W=(n("dcf6"),Object(y["a"])(R,D,N,!1,null,"06ec7395",null)),G=W.exports,K=n("64cf"),H=n("e8ea"),J=n("5d59"),X=n("2f34");const Q={article:"article",symbol:"symbol"},U={title:"title",symbol:"symbol"},Y={link:"link"};var Z={name:"TopicsLinkBlock",components:{Badge:s["a"],WordBreak:c["a"],ContentNode:l["a"],TopicLinkBlockIcon:z,DecoratedTopicTitle:G,RequirementMetadata:H["a"],ConditionalConstraints:K["a"]},mixins:[J["b"],J["a"],X["a"]],constants:{ReferenceType:Y,TopicKind:Q,TitleStyles:U},props:{isSymbolBeta:Boolean,isSymbolDeprecated:Boolean,topic:{type:Object,required:!0,validator:e=>(!("abstract"in e)||Array.isArray(e.abstract))&&"string"===typeof e.identifier&&(e.type===Y.link&&!e.kind||"string"===typeof e.kind)&&(e.type===Y.link&&!e.role||"string"===typeof e.role)&&"string"===typeof e.title&&"string"===typeof e.url&&(!("defaultImplementations"in e)||"number"===typeof e.defaultImplementations)&&(!("required"in e)||"boolean"===typeof e.required)&&(!("conformance"in e)||"object"===typeof e.conformance)}},data(){return{state:this.store.state}},computed:{linkComponent:({topic:e})=>e.type===Y.link?"a":"router-link",linkProps({topic:e}){const t=Object(o["b"])(e.url,this.$route.query);return e.type===Y.link?{href:t}:{to:t}},linkBlockClasses:({changesClasses:e,hasAbstractElements:t,displaysMultipleLinesAfterAPIChanges:n,multipleLinesClass:a})=>({"has-inline-element":!t,[a]:n,...!t&&e}),linkClasses:({changesClasses:e,deprecated:t,hasAbstractElements:n})=>({deprecated:t,"has-adjacent-elements":n,...n&&e}),changesClasses:({getChangesClasses:e,change:t})=>e(t),titleTag({topic:e}){if(e.titleStyle===U.title)return e.ideTitle?"span":"code";if(e.role&&(e.role===i["a"].collection||e.role===i["a"].dictionarySymbol))return"span";switch(e.kind){case Q.symbol:return"code";default:return"span"}},titleStyles:()=>U,deprecated:({showDeprecatedBadge:e,topic:t})=>e||t.deprecated,showBetaBadge:({topic:e,isSymbolBeta:t})=>Boolean(!t&&e.beta),showDeprecatedBadge:({topic:e,isSymbolDeprecated:t})=>Boolean(!t&&e.deprecated),change({topic:{identifier:e},state:{apiChanges:t}}){return this.changeFor(e,t)},changeName:({change:e,getChangeName:t})=>t(e),hasAbstractElements:({topic:{abstract:e,conformance:t,required:n,defaultImplementations:a}}={})=>e&&e.length>0||t||n||a,tags:({topic:e})=>(e.tags||[]).slice(0,1),iconOverride:({topic:{images:e=[]}})=>{const t=e.find(({type:e})=>"icon"===e);return t?t.identifier:null}}},ee=Z,te=(n("8d8f8"),Object(y["a"])(ee,a,r,!1,null,"52205924",null));t["default"]=te.exports},"2f04":function(e,t,n){},4782:function(e,t,n){},4918:function(e,t,n){},"5d59":function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return l}));var a=n("b5cf"),r=n("9055"),i=n("beb1");const o="latest_",s={xcode:{value:"xcode",label:"Xcode"},other:{value:"other",label:"Other"}},c={constants:{multipleLinesClass:r["a"]},data(){return{multipleLinesClass:r["a"]}},computed:{displaysMultipleLinesAfterAPIChanges:({change:e,changeType:t,$refs:n})=>!(!e&&!t)&&Object(i["a"])(n.apiChangesDiff)}},l={methods:{toVersionRange({platform:e,versions:t}){return`${e} ${t[0]} – ${e} ${t[1]}`},toOptionValue:e=>`${o}${e}`,toScope:e=>e.slice(o.length,e.length),getOptionsForDiffAvailability(e={}){return this.getOptionsForDiffAvailabilities([e])},getOptionsForDiffAvailabilities(e=[]){const t=e.reduce((e,t={})=>Object.keys(t).reduce((e,n)=>({...e,[n]:(e[n]||[]).concat(t[n])}),e),{}),n=Object.keys(t),a=n.reduce((e,n)=>{const a=t[n];return{...e,[n]:a.find(e=>e.platform===s.xcode.label)||a[0]}},{}),r=e=>({label:this.toVersionRange(a[e]),value:this.toOptionValue(e),platform:a[e].platform}),{sdk:i,beta:o,minor:c,major:l,...d}=a,p=[].concat(i?r("sdk"):[]).concat(o?r("beta"):[]).concat(c?r("minor"):[]).concat(l?r("major"):[]).concat(Object.keys(d).map(r));return this.splitOptionsPerPlatform(p)},changesClassesFor(e,t){const n=this.changeFor(e,t);return this.getChangesClasses(n)},getChangesClasses:e=>({["changed changed-"+e]:!!e}),changeFor(e,t){const{change:n}=(t||{})[e]||{};return n},splitOptionsPerPlatform(e){return e.reduce((e,t)=>{const n=t.platform===s.xcode.label?s.xcode.value:s.other.value;return e[n].push(t),e},{[s.xcode.value]:[],[s.other.value]:[]})},getChangeName(e){return a["b"][e]}},computed:{availableOptions({diffAvailability:e={},toOptionValue:t}){return new Set(Object.keys(e).map(t))}}}},6359:function(e,t,n){"use strict";var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseContentNode",e._b({},"BaseContentNode",e.$props,!1))},r=[],i=n("5677"),o={name:"ContentNode",components:{BaseContentNode:i["default"]},props:i["default"].props,methods:i["default"].methods,BlockType:i["default"].BlockType,InlineType:i["default"].InlineType},s=o,c=(n("958a"),n("2877")),l=Object(c["a"])(s,a,r,!1,null,"20945666",null);t["a"]=l.exports},"64cf":function(e,t,n){"use strict";var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentNode",{staticClass:"conditional-constraints",attrs:{content:e.content}})},r=[],i=n("6359"),o={name:"ConditionalConstraints",components:{ContentNode:i["a"]},props:{constraints:i["a"].props.content,prefix:i["a"].props.content},computed:{content:({constraints:e,prefix:t,space:n})=>t.concat(n).concat(e),space:()=>({type:i["a"].InlineType.text,text:" "})}},s=o,c=(n("918a"),n("2877")),l=Object(c["a"])(s,a,r,!1,null,"1548fd90",null);t["a"]=l.exports},"686d":function(e,t,n){},"8d74":function(e,t,n){},"8d8f8":function(e,t,n){"use strict";n("4918")},"8f34":function(e,t,n){"use strict";n("686d")},9055:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));const a="displays-multiple-lines"},"918a":function(e,t,n){"use strict";n("a2b5")},"94ca":function(e,t,n){"use strict";n("4782")},"958a":function(e,t,n){"use strict";n("8d74")},a0fd:function(e,t,n){"use strict";var a=function(){var e,t=this,n=t.$createElement,a=t._self._c||n;return a("span",{staticClass:"badge",class:(e={},e["badge-"+t.variant]=t.variant,e),attrs:{role:"presentation"}},[t._t("default",(function(){return[t._v(t._s(t.text?t.$t(t.text):""))]}))],2)},r=[];const i={beta:"aside-kind.beta",deprecated:"aside-kind.deprecated"};var o={name:"Badge",props:{variant:{type:String,default:()=>""}},computed:{text:({variant:e})=>i[e]}},s=o,c=(n("94ca"),n("2877")),l=Object(c["a"])(s,a,r,!1,null,"8d6893ae",null);t["a"]=l.exports},a2b5:function(e,t,n){},b5cf:function(e,t,n){"use strict";n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));const a={added:"added",modified:"modified",deprecated:"deprecated"},r=[a.modified,a.added,a.deprecated],i={[a.modified]:"change-type.modified",[a.added]:"change-type.added",[a.deprecated]:"change-type.deprecated"},o={"change-type.modified":a.modified,"change-type.added":a.added,"change-type.deprecated":a.deprecated}},beb1:function(e,t,n){"use strict";function a(e){if(!e)return!1;const t=window.getComputedStyle(e.$el||e),n=(e.$el||e).offsetHeight,a=t.lineHeight?parseFloat(t.lineHeight):1,r=t.paddingTop?parseFloat(t.paddingTop):0,i=t.paddingBottom?parseFloat(t.paddingBottom):0,o=t.borderTopWidth?parseFloat(t.borderTopWidth):0,s=t.borderBottomWidth?parseFloat(t.borderBottomWidth):0,c=n-(r+i+o+s),l=c/a;return l>=2}n.d(t,"a",(function(){return a}))},d94b:function(e,t,n){"use strict";n("fff0")},dcf6:function(e,t,n){"use strict";n("2f04")},e8ea:function(e,t,n){"use strict";var a=function(e,t){var n=t._c;return n("p",{staticClass:"requirement-metadata",class:t.data.staticClass},[n("strong",[t._v(t._s(t.parent.$t("required")))]),t.props.defaultImplementationsCount?[t._v(" "+t._s(t.parent.$tc("metadata.default-implementation",t.props.defaultImplementationsCount))+" ")]:t._e()],2)},r=[],i={name:"RequirementMetadata",props:{defaultImplementationsCount:{type:Number,default:0}}},o=i,s=n("2877"),c=Object(s["a"])(o,a,r,!0,null,null,null);t["a"]=c.exports},fff0:function(e,t,n){}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/chunk-vendors.ba2dd0cb.js b/document/MixSdk.doccarchive/js/chunk-vendors.ba2dd0cb.js
new file mode 100644 (file)
index 0000000..1230066
--- /dev/null
@@ -0,0 +1,26 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{2877:function(t,e,n){"use strict";function r(t,e,n,r,i,o,a,s){var c,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=c):i&&(c=s?function(){i.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(u.functional){u._injectStyles=c;var l=u.render;u.render=function(t,e){return c.call(e),l(t,e)}}else{var f=u.beforeCreate;u.beforeCreate=f?[].concat(f,c):[c]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},"2b0e":function(t,e,n){"use strict";n.r(e),function(t){
+/*!
+ * Vue.js v2.6.14
+ * (c) 2014-2021 Evan You
+ * Released under the MIT License.
+ */
+var n=Object.freeze({});function r(t){return void 0===t||null===t}function i(t){return void 0!==t&&null!==t}function o(t){return!0===t}function a(t){return!1===t}function s(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function c(t){return null!==t&&"object"===typeof t}var u=Object.prototype.toString;function l(t){return"[object Object]"===u.call(t)}function f(t){return"[object RegExp]"===u.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function h(t){return i(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function d(t){return null==t?"":Array.isArray(t)||l(t)&&t.toString===u?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function m(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}m("slot,component",!0);var y=m("key,ref,slot,slot-scope,is");function g(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}var _=Object.prototype.hasOwnProperty;function b(t,e){return _.call(t,e)}function w(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var C=/-(\w)/g,k=w((function(t){return t.replace(C,(function(t,e){return e?e.toUpperCase():""}))})),$=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),x=/\B([A-Z])/g,A=w((function(t){return t.replace(x,"-$1").toLowerCase()}));function O(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function S(t,e){return t.bind(e)}var T=Function.prototype.bind?S:O;function E(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function j(t,e){for(var n in e)t[n]=e[n];return t}function F(t){for(var e={},n=0;n<t.length;n++)t[n]&&j(e,t[n]);return e}function I(t,e,n){}var L=function(t,e,n){return!1},M=function(t){return t};function D(t,e){if(t===e)return!0;var n=c(t),r=c(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var i=Array.isArray(t),o=Array.isArray(e);if(i&&o)return t.length===e.length&&t.every((function(t,n){return D(t,e[n])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(i||o)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every((function(n){return D(t[n],e[n])}))}catch(u){return!1}}function R(t,e){for(var n=0;n<t.length;n++)if(D(t[n],e))return n;return-1}function N(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var P="data-server-rendered",V=["component","directive","filter"],W=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],H={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:L,isReservedAttr:L,isUnknownElement:L,getTagNamespace:I,parsePlatformTagName:M,mustUseProp:L,async:!0,_lifecycleHooks:W},U=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function B(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function z(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var q=new RegExp("[^"+U.source+".$_\\d]");function J(t){if(!q.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}var K,G="__proto__"in{},X="undefined"!==typeof window,Z="undefined"!==typeof WXEnvironment&&!!WXEnvironment.platform,Y=Z&&WXEnvironment.platform.toLowerCase(),Q=X&&window.navigator.userAgent.toLowerCase(),tt=Q&&/msie|trident/.test(Q),et=Q&&Q.indexOf("msie 9.0")>0,nt=Q&&Q.indexOf("edge/")>0,rt=(Q&&Q.indexOf("android"),Q&&/iphone|ipad|ipod|ios/.test(Q)||"ios"===Y),it=(Q&&/chrome\/\d+/.test(Q),Q&&/phantomjs/.test(Q),Q&&Q.match(/firefox\/(\d+)/)),ot={}.watch,at=!1;if(X)try{var st={};Object.defineProperty(st,"passive",{get:function(){at=!0}}),window.addEventListener("test-passive",null,st)}catch($a){}var ct=function(){return void 0===K&&(K=!X&&!Z&&"undefined"!==typeof t&&(t["process"]&&"server"===t["process"].env.VUE_ENV)),K},ut=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function lt(t){return"function"===typeof t&&/native code/.test(t.toString())}var ft,pt="undefined"!==typeof Symbol&&lt(Symbol)&&"undefined"!==typeof Reflect&&lt(Reflect.ownKeys);ft="undefined"!==typeof Set&&lt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ht=I,dt=0,vt=function(){this.id=dt++,this.subs=[]};vt.prototype.addSub=function(t){this.subs.push(t)},vt.prototype.removeSub=function(t){g(this.subs,t)},vt.prototype.depend=function(){vt.target&&vt.target.addDep(this)},vt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e<n;e++)t[e].update()},vt.target=null;var mt=[];function yt(t){mt.push(t),vt.target=t}function gt(){mt.pop(),vt.target=mt[mt.length-1]}var _t=function(t,e,n,r,i,o,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},bt={child:{configurable:!0}};bt.child.get=function(){return this.componentInstance},Object.defineProperties(_t.prototype,bt);var wt=function(t){void 0===t&&(t="");var e=new _t;return e.text=t,e.isComment=!0,e};function Ct(t){return new _t(void 0,void 0,void 0,String(t))}function kt(t){var e=new _t(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var $t=Array.prototype,xt=Object.create($t),At=["push","pop","shift","unshift","splice","sort","reverse"];At.forEach((function(t){var e=$t[t];z(xt,t,(function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];var i,o=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":i=n;break;case"splice":i=n.slice(2);break}return i&&a.observeArray(i),a.dep.notify(),o}))}));var Ot=Object.getOwnPropertyNames(xt),St=!0;function Tt(t){St=t}var Et=function(t){this.value=t,this.dep=new vt,this.vmCount=0,z(t,"__ob__",this),Array.isArray(t)?(G?jt(t,xt):Ft(t,xt,Ot),this.observeArray(t)):this.walk(t)};function jt(t,e){t.__proto__=e}function Ft(t,e,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];z(t,o,e[o])}}function It(t,e){var n;if(c(t)&&!(t instanceof _t))return b(t,"__ob__")&&t.__ob__ instanceof Et?n=t.__ob__:St&&!ct()&&(Array.isArray(t)||l(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new Et(t)),e&&n&&n.vmCount++,n}function Lt(t,e,n,r,i){var o=new vt,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set;s&&!c||2!==arguments.length||(n=t[e]);var u=!i&&It(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;return vt.target&&(o.depend(),u&&(u.dep.depend(),Array.isArray(e)&&Rt(e))),e},set:function(e){var r=s?s.call(t):n;e===r||e!==e&&r!==r||s&&!c||(c?c.call(t,e):n=e,u=!i&&It(e),o.notify())}})}}function Mt(t,e,n){if(Array.isArray(t)&&p(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(Lt(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function Dt(t,e){if(Array.isArray(t)&&p(e))t.splice(e,1);else{var n=t.__ob__;t._isVue||n&&n.vmCount||b(t,e)&&(delete t[e],n&&n.dep.notify())}}function Rt(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&Rt(e)}Et.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)Lt(t,e[n])},Et.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)It(t[e])};var Nt=H.optionMergeStrategies;function Pt(t,e){if(!e)return t;for(var n,r,i,o=pt?Reflect.ownKeys(e):Object.keys(e),a=0;a<o.length;a++)n=o[a],"__ob__"!==n&&(r=t[n],i=e[n],b(t,n)?r!==i&&l(r)&&l(i)&&Pt(r,i):Mt(t,n,i));return t}function Vt(t,e,n){return n?function(){var r="function"===typeof e?e.call(n,n):e,i="function"===typeof t?t.call(n,n):t;return r?Pt(r,i):i}:e?t?function(){return Pt("function"===typeof e?e.call(this,this):e,"function"===typeof t?t.call(this,this):t)}:e:t}function Wt(t,e){var n=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return n?Ht(n):n}function Ht(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}function Ut(t,e,n,r){var i=Object.create(t||null);return e?j(i,e):i}Nt.data=function(t,e,n){return n?Vt(t,e,n):e&&"function"!==typeof e?t:Vt(t,e)},W.forEach((function(t){Nt[t]=Wt})),V.forEach((function(t){Nt[t+"s"]=Ut})),Nt.watch=function(t,e,n,r){if(t===ot&&(t=void 0),e===ot&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var i={};for(var o in j(i,t),e){var a=i[o],s=e[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},Nt.props=Nt.methods=Nt.inject=Nt.computed=function(t,e,n,r){if(!t)return e;var i=Object.create(null);return j(i,t),e&&j(i,e),i},Nt.provide=Vt;var Bt=function(t,e){return void 0===e?t:e};function zt(t,e){var n=t.props;if(n){var r,i,o,a={};if(Array.isArray(n)){r=n.length;while(r--)i=n[r],"string"===typeof i&&(o=k(i),a[o]={type:null})}else if(l(n))for(var s in n)i=n[s],o=k(s),a[o]=l(i)?i:{type:i};else 0;t.props=a}}function qt(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(l(n))for(var o in n){var a=n[o];r[o]=l(a)?j({from:o},a):{from:a}}else 0}}function Jt(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"function"===typeof r&&(e[n]={bind:r,update:r})}}function Kt(t,e,n){if("function"===typeof e&&(e=e.options),zt(e,n),qt(e,n),Jt(e),!e._base&&(e.extends&&(t=Kt(t,e.extends,n)),e.mixins))for(var r=0,i=e.mixins.length;r<i;r++)t=Kt(t,e.mixins[r],n);var o,a={};for(o in t)s(o);for(o in e)b(t,o)||s(o);function s(r){var i=Nt[r]||Bt;a[r]=i(t[r],e[r],n,r)}return a}function Gt(t,e,n,r){if("string"===typeof n){var i=t[e];if(b(i,n))return i[n];var o=k(n);if(b(i,o))return i[o];var a=$(o);if(b(i,a))return i[a];var s=i[n]||i[o]||i[a];return s}}function Xt(t,e,n,r){var i=e[t],o=!b(n,t),a=n[t],s=ee(Boolean,i.type);if(s>-1)if(o&&!b(i,"default"))a=!1;else if(""===a||a===A(t)){var c=ee(String,i.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=Zt(r,i,t);var u=St;Tt(!0),It(a),Tt(u)}return a}function Zt(t,e,n){if(b(e,"default")){var r=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n]?t._props[n]:"function"===typeof r&&"Function"!==Qt(e.type)?r.call(t):r}}var Yt=/^\s*function (\w+)/;function Qt(t){var e=t&&t.toString().match(Yt);return e?e[1]:""}function te(t,e){return Qt(t)===Qt(e)}function ee(t,e){if(!Array.isArray(e))return te(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(te(e[n],t))return n;return-1}function ne(t,e,n){yt();try{if(e){var r=e;while(r=r.$parent){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{var a=!1===i[o].call(r,t,e,n);if(a)return}catch($a){ie($a,r,"errorCaptured hook")}}}ie(t,e,n)}finally{gt()}}function re(t,e,n,r,i){var o;try{o=n?t.apply(e,n):t.call(e),o&&!o._isVue&&h(o)&&!o._handled&&(o.catch((function(t){return ne(t,r,i+" (Promise/async)")})),o._handled=!0)}catch($a){ne($a,r,i)}return o}function ie(t,e,n){if(H.errorHandler)try{return H.errorHandler.call(null,t,e,n)}catch($a){$a!==t&&oe($a,null,"config.errorHandler")}oe(t,e,n)}function oe(t,e,n){if(!X&&!Z||"undefined"===typeof console)throw t;console.error(t)}var ae,se=!1,ce=[],ue=!1;function le(){ue=!1;var t=ce.slice(0);ce.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!==typeof Promise&&lt(Promise)){var fe=Promise.resolve();ae=function(){fe.then(le),rt&&setTimeout(I)},se=!0}else if(tt||"undefined"===typeof MutationObserver||!lt(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())ae="undefined"!==typeof setImmediate&&lt(setImmediate)?function(){setImmediate(le)}:function(){setTimeout(le,0)};else{var pe=1,he=new MutationObserver(le),de=document.createTextNode(String(pe));he.observe(de,{characterData:!0}),ae=function(){pe=(pe+1)%2,de.data=String(pe)},se=!0}function ve(t,e){var n;if(ce.push((function(){if(t)try{t.call(e)}catch($a){ne($a,e,"nextTick")}else n&&n(e)})),ue||(ue=!0,ae()),!t&&"undefined"!==typeof Promise)return new Promise((function(t){n=t}))}var me=new ft;function ye(t){ge(t,me),me.clear()}function ge(t,e){var n,r,i=Array.isArray(t);if(!(!i&&!c(t)||Object.isFrozen(t)||t instanceof _t)){if(t.__ob__){var o=t.__ob__.dep.id;if(e.has(o))return;e.add(o)}if(i){n=t.length;while(n--)ge(t[n],e)}else{r=Object.keys(t),n=r.length;while(n--)ge(t[r[n]],e)}}}var _e=w((function(t){var e="&"===t.charAt(0);t=e?t.slice(1):t;var n="~"===t.charAt(0);t=n?t.slice(1):t;var r="!"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}));function be(t,e){function n(){var t=arguments,r=n.fns;if(!Array.isArray(r))return re(r,null,arguments,e,"v-on handler");for(var i=r.slice(),o=0;o<i.length;o++)re(i[o],null,t,e,"v-on handler")}return n.fns=t,n}function we(t,e,n,i,a,s){var c,u,l,f;for(c in t)u=t[c],l=e[c],f=_e(c),r(u)||(r(l)?(r(u.fns)&&(u=t[c]=be(u,s)),o(f.once)&&(u=t[c]=a(f.name,u,f.capture)),n(f.name,u,f.capture,f.passive,f.params)):u!==l&&(l.fns=u,t[c]=l));for(c in e)r(t[c])&&(f=_e(c),i(f.name,e[c],f.capture))}function Ce(t,e,n){var a;t instanceof _t&&(t=t.data.hook||(t.data.hook={}));var s=t[e];function c(){n.apply(this,arguments),g(a.fns,c)}r(s)?a=be([c]):i(s.fns)&&o(s.merged)?(a=s,a.fns.push(c)):a=be([s,c]),a.merged=!0,t[e]=a}function ke(t,e,n){var o=e.options.props;if(!r(o)){var a={},s=t.attrs,c=t.props;if(i(s)||i(c))for(var u in o){var l=A(u);$e(a,c,u,l,!0)||$e(a,s,u,l,!1)}return a}}function $e(t,e,n,r,o){if(i(e)){if(b(e,n))return t[n]=e[n],o||delete e[n],!0;if(b(e,r))return t[n]=e[r],o||delete e[r],!0}return!1}function xe(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function Ae(t){return s(t)?[Ct(t)]:Array.isArray(t)?Se(t):void 0}function Oe(t){return i(t)&&i(t.text)&&a(t.isComment)}function Se(t,e){var n,a,c,u,l=[];for(n=0;n<t.length;n++)a=t[n],r(a)||"boolean"===typeof a||(c=l.length-1,u=l[c],Array.isArray(a)?a.length>0&&(a=Se(a,(e||"")+"_"+n),Oe(a[0])&&Oe(u)&&(l[c]=Ct(u.text+a[0].text),a.shift()),l.push.apply(l,a)):s(a)?Oe(u)?l[c]=Ct(u.text+a):""!==a&&l.push(Ct(a)):Oe(a)&&Oe(u)?l[c]=Ct(u.text+a.text):(o(t._isVList)&&i(a.tag)&&r(a.key)&&i(e)&&(a.key="__vlist"+e+"_"+n+"__"),l.push(a)));return l}function Te(t){var e=t.$options.provide;e&&(t._provided="function"===typeof e?e.call(t):e)}function Ee(t){var e=je(t.$options.inject,t);e&&(Tt(!1),Object.keys(e).forEach((function(n){Lt(t,n,e[n])})),Tt(!0))}function je(t,e){if(t){for(var n=Object.create(null),r=pt?Reflect.ownKeys(t):Object.keys(t),i=0;i<r.length;i++){var o=r[i];if("__ob__"!==o){var a=t[o].from,s=e;while(s){if(s._provided&&b(s._provided,a)){n[o]=s._provided[a];break}s=s.$parent}if(!s)if("default"in t[o]){var c=t[o].default;n[o]="function"===typeof c?c.call(e):c}else 0}}return n}}function Fe(t,e){if(!t||!t.length)return{};for(var n={},r=0,i=t.length;r<i;r++){var o=t[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==e&&o.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===o.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(Ie)&&delete n[u];return n}function Ie(t){return t.isComment&&!t.asyncFactory||" "===t.text}function Le(t){return t.isComment&&t.asyncFactory}function Me(t,e,r){var i,o=Object.keys(e).length>0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var c in i={},t)t[c]&&"$"!==c[0]&&(i[c]=De(e,c,t[c]))}else i={};for(var u in e)u in i||(i[u]=Re(e,u));return t&&Object.isExtensible(t)&&(t._normalized=i),z(i,"$stable",a),z(i,"$key",s),z(i,"$hasNormal",o),i}function De(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});t=t&&"object"===typeof t&&!Array.isArray(t)?[t]:Ae(t);var e=t&&t[0];return t&&(!e||1===t.length&&e.isComment&&!Le(e))?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function Re(t,e){return function(){return t[e]}}function Ne(t,e){var n,r,o,a,s;if(Array.isArray(t)||"string"===typeof t)for(n=new Array(t.length),r=0,o=t.length;r<o;r++)n[r]=e(t[r],r);else if("number"===typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(c(t))if(pt&&t[Symbol.iterator]){n=[];var u=t[Symbol.iterator](),l=u.next();while(!l.done)n.push(e(l.value,n.length)),l=u.next()}else for(a=Object.keys(t),n=new Array(a.length),r=0,o=a.length;r<o;r++)s=a[r],n[r]=e(t[s],s,r);return i(n)||(n=[]),n._isVList=!0,n}function Pe(t,e,n,r){var i,o=this.$scopedSlots[t];o?(n=n||{},r&&(n=j(j({},r),n)),i=o(n)||("function"===typeof e?e():e)):i=this.$slots[t]||("function"===typeof e?e():e);var a=n&&n.slot;return a?this.$createElement("template",{slot:a},i):i}function Ve(t){return Gt(this.$options,"filters",t,!0)||M}function We(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function He(t,e,n,r,i){var o=H.keyCodes[e]||n;return i&&r&&!H.keyCodes[e]?We(i,r):o?We(o,t):r?A(r)!==e:void 0===t}function Ue(t,e,n,r,i){if(n)if(c(n)){var o;Array.isArray(n)&&(n=F(n));var a=function(a){if("class"===a||"style"===a||y(a))o=t;else{var s=t.attrs&&t.attrs.type;o=r||H.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var c=k(a),u=A(a);if(!(c in o)&&!(u in o)&&(o[a]=n[a],i)){var l=t.on||(t.on={});l["update:"+a]=function(t){n[a]=t}}};for(var s in n)a(s)}else;return t}function Be(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e||(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),qe(r,"__static__"+t,!1)),r}function ze(t,e,n){return qe(t,"__once__"+e+(n?"_"+n:""),!0),t}function qe(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!==typeof t[r]&&Je(t[r],e+"_"+r,n);else Je(t,e,n)}function Je(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function Ke(t,e){if(e)if(l(e)){var n=t.on=t.on?j({},t.on):{};for(var r in e){var i=n[r],o=e[r];n[r]=i?[].concat(i,o):o}}else;return t}function Ge(t,e,n,r){e=e||{$stable:!n};for(var i=0;i<t.length;i++){var o=t[i];Array.isArray(o)?Ge(o,e,n):o&&(o.proxy&&(o.fn.proxy=!0),e[o.key]=o.fn)}return r&&(e.$key=r),e}function Xe(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];"string"===typeof r&&r&&(t[e[n]]=e[n+1])}return t}function Ze(t,e){return"string"===typeof t?e+t:t}function Ye(t){t._o=ze,t._n=v,t._s=d,t._l=Ne,t._t=Pe,t._q=D,t._i=R,t._m=Be,t._f=Ve,t._k=He,t._b=Ue,t._v=Ct,t._e=wt,t._u=Ge,t._g=Ke,t._d=Xe,t._p=Ze}function Qe(t,e,r,i,a){var s,c=this,u=a.options;b(i,"_uid")?(s=Object.create(i),s._original=i):(s=i,i=i._original);var l=o(u._compiled),f=!l;this.data=t,this.props=e,this.children=r,this.parent=i,this.listeners=t.on||n,this.injections=je(u.inject,i),this.slots=function(){return c.$slots||Me(t.scopedSlots,c.$slots=Fe(r,i)),c.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Me(t.scopedSlots,this.slots())}}),l&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=Me(t.scopedSlots,this.$slots)),u._scopeId?this._c=function(t,e,n,r){var o=hn(s,t,e,n,r,f);return o&&!Array.isArray(o)&&(o.fnScopeId=u._scopeId,o.fnContext=i),o}:this._c=function(t,e,n,r){return hn(s,t,e,n,r,f)}}function tn(t,e,r,o,a){var s=t.options,c={},u=s.props;if(i(u))for(var l in u)c[l]=Xt(l,u,e||n);else i(r.attrs)&&nn(c,r.attrs),i(r.props)&&nn(c,r.props);var f=new Qe(r,c,a,o,t),p=s.render.call(null,f._c,f);if(p instanceof _t)return en(p,r,f.parent,s,f);if(Array.isArray(p)){for(var h=Ae(p)||[],d=new Array(h.length),v=0;v<h.length;v++)d[v]=en(h[v],r,f.parent,s,f);return d}}function en(t,e,n,r,i){var o=kt(t);return o.fnContext=n,o.fnOptions=r,e.slot&&((o.data||(o.data={})).slot=e.slot),o}function nn(t,e){for(var n in e)t[k(n)]=e[n]}Ye(Qe.prototype);var rn={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var n=t;rn.prepatch(n,n)}else{var r=t.componentInstance=sn(t,jn);r.$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions,r=e.componentInstance=t.componentInstance;Dn(r,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Vn(n,"mounted")),t.data.keepAlive&&(e._isMounted?Qn(n):Nn(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?Pn(e,!0):e.$destroy())}},on=Object.keys(rn);function an(t,e,n,a,s){if(!r(t)){var u=n.$options._base;if(c(t)&&(t=u.extend(t)),"function"===typeof t){var l;if(r(t.cid)&&(l=t,t=kn(l,u),void 0===t))return Cn(l,e,n,a,s);e=e||{},Cr(t),i(e.model)&&ln(t.options,e);var f=ke(e,t,s);if(o(t.options.functional))return tn(t,f,e,n,a);var p=e.on;if(e.on=e.nativeOn,o(t.options.abstract)){var h=e.slot;e={},h&&(e.slot=h)}cn(e);var d=t.options.name||s,v=new _t("vue-component-"+t.cid+(d?"-"+d:""),e,void 0,void 0,void 0,n,{Ctor:t,propsData:f,listeners:p,tag:s,children:a},l);return v}}}function sn(t,e){var n={_isComponent:!0,_parentVnode:t,parent:e},r=t.data.inlineTemplate;return i(r)&&(n.render=r.render,n.staticRenderFns=r.staticRenderFns),new t.componentOptions.Ctor(n)}function cn(t){for(var e=t.hook||(t.hook={}),n=0;n<on.length;n++){var r=on[n],i=e[r],o=rn[r];i===o||i&&i._merged||(e[r]=i?un(o,i):o)}}function un(t,e){var n=function(n,r){t(n,r),e(n,r)};return n._merged=!0,n}function ln(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[n]=e.model.value;var o=e.on||(e.on={}),a=o[r],s=e.model.callback;i(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(o[r]=[s].concat(a)):o[r]=s}var fn=1,pn=2;function hn(t,e,n,r,i,a){return(Array.isArray(n)||s(n))&&(i=r,r=n,n=void 0),o(a)&&(i=pn),dn(t,e,n,r,i)}function dn(t,e,n,r,o){if(i(n)&&i(n.__ob__))return wt();if(i(n)&&i(n.is)&&(e=n.is),!e)return wt();var a,s,c;(Array.isArray(r)&&"function"===typeof r[0]&&(n=n||{},n.scopedSlots={default:r[0]},r.length=0),o===pn?r=Ae(r):o===fn&&(r=xe(r)),"string"===typeof e)?(s=t.$vnode&&t.$vnode.ns||H.getTagNamespace(e),a=H.isReservedTag(e)?new _t(H.parsePlatformTagName(e),n,r,void 0,void 0,t):n&&n.pre||!i(c=Gt(t.$options,"components",e))?new _t(e,n,r,void 0,void 0,t):an(c,n,t,r,e)):a=an(e,n,t,r);return Array.isArray(a)?a:i(a)?(i(s)&&vn(a,s),i(n)&&mn(n),a):wt()}function vn(t,e,n){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,n=!0),i(t.children))for(var a=0,s=t.children.length;a<s;a++){var c=t.children[a];i(c.tag)&&(r(c.ns)||o(n)&&"svg"!==c.tag)&&vn(c,e,n)}}function mn(t){c(t.style)&&ye(t.style),c(t.class)&&ye(t.class)}function yn(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$vnode=e._parentVnode,i=r&&r.context;t.$slots=Fe(e._renderChildren,i),t.$scopedSlots=n,t._c=function(e,n,r,i){return hn(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return hn(t,e,n,r,i,!0)};var o=r&&r.data;Lt(t,"$attrs",o&&o.attrs||n,null,!0),Lt(t,"$listeners",e._parentListeners||n,null,!0)}var gn,_n=null;function bn(t){Ye(t.prototype),t.prototype.$nextTick=function(t){return ve(t,this)},t.prototype._render=function(){var t,e=this,n=e.$options,r=n.render,i=n._parentVnode;i&&(e.$scopedSlots=Me(i.data.scopedSlots,e.$slots,e.$scopedSlots)),e.$vnode=i;try{_n=e,t=r.call(e._renderProxy,e.$createElement)}catch($a){ne($a,e,"render"),t=e._vnode}finally{_n=null}return Array.isArray(t)&&1===t.length&&(t=t[0]),t instanceof _t||(t=wt()),t.parent=i,t}}function wn(t,e){return(t.__esModule||pt&&"Module"===t[Symbol.toStringTag])&&(t=t.default),c(t)?e.extend(t):t}function Cn(t,e,n,r,i){var o=wt();return o.asyncFactory=t,o.asyncMeta={data:e,context:n,children:r,tag:i},o}function kn(t,e){if(o(t.error)&&i(t.errorComp))return t.errorComp;if(i(t.resolved))return t.resolved;var n=_n;if(n&&i(t.owners)&&-1===t.owners.indexOf(n)&&t.owners.push(n),o(t.loading)&&i(t.loadingComp))return t.loadingComp;if(n&&!i(t.owners)){var a=t.owners=[n],s=!0,u=null,l=null;n.$on("hook:destroyed",(function(){return g(a,n)}));var f=function(t){for(var e=0,n=a.length;e<n;e++)a[e].$forceUpdate();t&&(a.length=0,null!==u&&(clearTimeout(u),u=null),null!==l&&(clearTimeout(l),l=null))},p=N((function(n){t.resolved=wn(n,e),s?a.length=0:f(!0)})),d=N((function(e){i(t.errorComp)&&(t.error=!0,f(!0))})),v=t(p,d);return c(v)&&(h(v)?r(t.resolved)&&v.then(p,d):h(v.component)&&(v.component.then(p,d),i(v.error)&&(t.errorComp=wn(v.error,e)),i(v.loading)&&(t.loadingComp=wn(v.loading,e),0===v.delay?t.loading=!0:u=setTimeout((function(){u=null,r(t.resolved)&&r(t.error)&&(t.loading=!0,f(!1))}),v.delay||200)),i(v.timeout)&&(l=setTimeout((function(){l=null,r(t.resolved)&&d(null)}),v.timeout)))),s=!1,t.loading?t.loadingComp:t.resolved}}function $n(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(i(n)&&(i(n.componentOptions)||Le(n)))return n}}function xn(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Tn(t,e)}function An(t,e){gn.$on(t,e)}function On(t,e){gn.$off(t,e)}function Sn(t,e){var n=gn;return function r(){var i=e.apply(null,arguments);null!==i&&n.$off(t,r)}}function Tn(t,e,n){gn=t,we(e,n||{},An,On,Sn,t),gn=void 0}function En(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var i=0,o=t.length;i<o;i++)r.$on(t[i],n);else(r._events[t]||(r._events[t]=[])).push(n),e.test(t)&&(r._hasHookEvent=!0);return r},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,e){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(t)){for(var r=0,i=t.length;r<i;r++)n.$off(t[r],e);return n}var o,a=n._events[t];if(!a)return n;if(!e)return n._events[t]=null,n;var s=a.length;while(s--)if(o=a[s],o===e||o.fn===e){a.splice(s,1);break}return n},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?E(n):n;for(var r=E(arguments,1),i='event handler for "'+t+'"',o=0,a=n.length;o<a;o++)re(n[o],e,r,e,i)}return e}}var jn=null;function Fn(t){var e=jn;return jn=t,function(){jn=e}}function In(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){while(n.$options.abstract&&n.$parent)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function Ln(t){t.prototype._update=function(t,e){var n=this,r=n.$el,i=n._vnode,o=Fn(n);n._vnode=t,n.$el=i?n.__patch__(i,t):n.__patch__(n.$el,t,e,!1),o(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Vn(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||g(e.$children,t),t._watcher&&t._watcher.teardown();var n=t._watchers.length;while(n--)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Vn(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}function Mn(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=wt),Vn(t,"beforeMount"),r=function(){t._update(t._render(),n)},new rr(t,r,I,{before:function(){t._isMounted&&!t._isDestroyed&&Vn(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,Vn(t,"mounted")),t}function Dn(t,e,r,i,o){var a=i.data.scopedSlots,s=t.$scopedSlots,c=!!(a&&!a.$stable||s!==n&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key||!a&&t.$scopedSlots.$key),u=!!(o||t.$options._renderChildren||c);if(t.$options._parentVnode=i,t.$vnode=i,t._vnode&&(t._vnode.parent=i),t.$options._renderChildren=o,t.$attrs=i.data.attrs||n,t.$listeners=r||n,e&&t.$options.props){Tt(!1);for(var l=t._props,f=t.$options._propKeys||[],p=0;p<f.length;p++){var h=f[p],d=t.$options.props;l[h]=Xt(h,d,e,t)}Tt(!0),t.$options.propsData=e}r=r||n;var v=t.$options._parentListeners;t.$options._parentListeners=r,Tn(t,r,v),u&&(t.$slots=Fe(o,i.context),t.$forceUpdate())}function Rn(t){while(t&&(t=t.$parent))if(t._inactive)return!0;return!1}function Nn(t,e){if(e){if(t._directInactive=!1,Rn(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)Nn(t.$children[n]);Vn(t,"activated")}}function Pn(t,e){if((!e||(t._directInactive=!0,!Rn(t)))&&!t._inactive){t._inactive=!0;for(var n=0;n<t.$children.length;n++)Pn(t.$children[n]);Vn(t,"deactivated")}}function Vn(t,e){yt();var n=t.$options[e],r=e+" hook";if(n)for(var i=0,o=n.length;i<o;i++)re(n[i],t,null,t,r);t._hasHookEvent&&t.$emit("hook:"+e),gt()}var Wn=[],Hn=[],Un={},Bn=!1,zn=!1,qn=0;function Jn(){qn=Wn.length=Hn.length=0,Un={},Bn=zn=!1}var Kn=0,Gn=Date.now;if(X&&!tt){var Xn=window.performance;Xn&&"function"===typeof Xn.now&&Gn()>document.createEvent("Event").timeStamp&&(Gn=function(){return Xn.now()})}function Zn(){var t,e;for(Kn=Gn(),zn=!0,Wn.sort((function(t,e){return t.id-e.id})),qn=0;qn<Wn.length;qn++)t=Wn[qn],t.before&&t.before(),e=t.id,Un[e]=null,t.run();var n=Hn.slice(),r=Wn.slice();Jn(),tr(n),Yn(r),ut&&H.devtools&&ut.emit("flush")}function Yn(t){var e=t.length;while(e--){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&!r._isDestroyed&&Vn(r,"updated")}}function Qn(t){t._inactive=!1,Hn.push(t)}function tr(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,Nn(t[e],!0)}function er(t){var e=t.id;if(null==Un[e]){if(Un[e]=!0,zn){var n=Wn.length-1;while(n>qn&&Wn[n].id>t.id)n--;Wn.splice(n+1,0,t)}else Wn.push(t);Bn||(Bn=!0,ve(Zn))}}var nr=0,rr=function(t,e,n,r,i){this.vm=t,i&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++nr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ft,this.newDepIds=new ft,this.expression="","function"===typeof e?this.getter=e:(this.getter=J(e),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};rr.prototype.get=function(){var t;yt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch($a){if(!this.user)throw $a;ne($a,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ye(t),gt(),this.cleanupDeps()}return t},rr.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},rr.prototype.cleanupDeps=function(){var t=this.deps.length;while(t--){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},rr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():er(this)},rr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'+this.expression+'"';re(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},rr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},rr.prototype.depend=function(){var t=this.deps.length;while(t--)this.deps[t].depend()},rr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||g(this.vm._watchers,this);var t=this.deps.length;while(t--)this.deps[t].removeSub(this);this.active=!1}};var ir={enumerable:!0,configurable:!0,get:I,set:I};function or(t,e,n){ir.get=function(){return this[e][n]},ir.set=function(t){this[e][n]=t},Object.defineProperty(t,n,ir)}function ar(t){t._watchers=[];var e=t.$options;e.props&&sr(t,e.props),e.methods&&vr(t,e.methods),e.data?cr(t):It(t._data={},!0),e.computed&&fr(t,e.computed),e.watch&&e.watch!==ot&&mr(t,e.watch)}function sr(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;o||Tt(!1);var a=function(o){i.push(o);var a=Xt(o,e,n,t);Lt(r,o,a),o in t||or(t,"_props",o)};for(var s in e)a(s);Tt(!0)}function cr(t){var e=t.$options.data;e=t._data="function"===typeof e?ur(e,t):e||{},l(e)||(e={});var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);while(i--){var o=n[i];0,r&&b(r,o)||B(o)||or(t,"_data",o)}It(e,!0)}function ur(t,e){yt();try{return t.call(e,e)}catch($a){return ne($a,e,"data()"),{}}finally{gt()}}var lr={lazy:!0};function fr(t,e){var n=t._computedWatchers=Object.create(null),r=ct();for(var i in e){var o=e[i],a="function"===typeof o?o:o.get;0,r||(n[i]=new rr(t,a||I,I,lr)),i in t||pr(t,i,o)}}function pr(t,e,n){var r=!ct();"function"===typeof n?(ir.get=r?hr(e):dr(n),ir.set=I):(ir.get=n.get?r&&!1!==n.cache?hr(e):dr(n.get):I,ir.set=n.set||I),Object.defineProperty(t,e,ir)}function hr(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),vt.target&&e.depend(),e.value}}function dr(t){return function(){return t.call(this,this)}}function vr(t,e){t.$options.props;for(var n in e)t[n]="function"!==typeof e[n]?I:T(e[n],t)}function mr(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)yr(t,n,r[i]);else yr(t,n,r)}}function yr(t,e,n,r){return l(n)&&(r=n,n=n.handler),"string"===typeof n&&(n=t[n]),t.$watch(e,n,r)}function gr(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=Mt,t.prototype.$delete=Dt,t.prototype.$watch=function(t,e,n){var r=this;if(l(e))return yr(r,t,e,n);n=n||{},n.user=!0;var i=new rr(r,t,e,n);if(n.immediate){var o='callback for immediate watcher "'+i.expression+'"';yt(),re(e,r,[i.value],r,o),gt()}return function(){i.teardown()}}}var _r=0;function br(t){t.prototype._init=function(t){var e=this;e._uid=_r++,e._isVue=!0,t&&t._isComponent?wr(e,t):e.$options=Kt(Cr(e.constructor),t||{},e),e._renderProxy=e,e._self=e,In(e),xn(e),yn(e),Vn(e,"beforeCreate"),Ee(e),ar(e),Te(e),Vn(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}function wr(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}function Cr(t){var e=t.options;if(t.super){var n=Cr(t.super),r=t.superOptions;if(n!==r){t.superOptions=n;var i=kr(t);i&&j(t.extendOptions,i),e=t.options=Kt(n,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function kr(t){var e,n=t.options,r=t.sealedOptions;for(var i in n)n[i]!==r[i]&&(e||(e={}),e[i]=n[i]);return e}function $r(t){this._init(t)}function xr(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=E(arguments,1);return n.unshift(this),"function"===typeof t.install?t.install.apply(t,n):"function"===typeof t&&t.apply(null,n),e.push(t),this}}function Ar(t){t.mixin=function(t){return this.options=Kt(this.options,t),this}}function Or(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Kt(n.options,t),a["super"]=n,a.options.props&&Sr(a),a.options.computed&&Tr(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,V.forEach((function(t){a[t]=n[t]})),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=j({},a.options),i[r]=a,a}}function Sr(t){var e=t.options.props;for(var n in e)or(t.prototype,"_props",n)}function Tr(t){var e=t.options.computed;for(var n in e)pr(t.prototype,n,e[n])}function Er(t){V.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&l(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"===typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function jr(t){return t&&(t.Ctor.options.name||t.tag)}function Fr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function Ir(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=a.name;s&&!e(s)&&Lr(n,o,r,i)}}}function Lr(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,g(n,e)}br($r),gr($r),En($r),Ln($r),bn($r);var Mr=[String,RegExp,Array],Dr={name:"keep-alive",abstract:!0,props:{include:Mr,exclude:Mr,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,i=t.keyToCache;if(r){var o=r.tag,a=r.componentInstance,s=r.componentOptions;e[i]={name:jr(s),tag:o,componentInstance:a},n.push(i),this.max&&n.length>parseInt(this.max)&&Lr(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Lr(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Ir(t,(function(t){return Fr(e,t)}))})),this.$watch("exclude",(function(e){Ir(t,(function(t){return!Fr(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=$n(t),n=e&&e.componentOptions;if(n){var r=jr(n),i=this,o=i.include,a=i.exclude;if(o&&(!r||!Fr(o,r))||a&&r&&Fr(a,r))return e;var s=this,c=s.cache,u=s.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;c[l]?(e.componentInstance=c[l].componentInstance,g(u,l),u.push(l)):(this.vnodeToCache=e,this.keyToCache=l),e.data.keepAlive=!0}return e||t&&t[0]}},Rr={KeepAlive:Dr};function Nr(t){var e={get:function(){return H}};Object.defineProperty(t,"config",e),t.util={warn:ht,extend:j,mergeOptions:Kt,defineReactive:Lt},t.set=Mt,t.delete=Dt,t.nextTick=ve,t.observable=function(t){return It(t),t},t.options=Object.create(null),V.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,j(t.options.components,Rr),xr(t),Ar(t),Or(t),Er(t)}Nr($r),Object.defineProperty($r.prototype,"$isServer",{get:ct}),Object.defineProperty($r.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty($r,"FunctionalRenderContext",{value:Qe}),$r.version="2.6.14";var Pr=m("style,class"),Vr=m("input,textarea,option,select,progress"),Wr=function(t,e,n){return"value"===n&&Vr(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Hr=m("contenteditable,draggable,spellcheck"),Ur=m("events,caret,typing,plaintext-only"),Br=function(t,e){return Gr(e)||"false"===e?"false":"contenteditable"===t&&Ur(e)?e:"true"},zr=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),qr="http://www.w3.org/1999/xlink",Jr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Kr=function(t){return Jr(t)?t.slice(6,t.length):""},Gr=function(t){return null==t||!1===t};function Xr(t){var e=t.data,n=t,r=t;while(i(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Zr(r.data,e));while(i(n=n.parent))n&&n.data&&(e=Zr(e,n.data));return Yr(e.staticClass,e.class)}function Zr(t,e){return{staticClass:Qr(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function Yr(t,e){return i(t)||i(e)?Qr(t,ti(e)):""}function Qr(t,e){return t?e?t+" "+e:t:e||""}function ti(t){return Array.isArray(t)?ei(t):c(t)?ni(t):"string"===typeof t?t:""}function ei(t){for(var e,n="",r=0,o=t.length;r<o;r++)i(e=ti(t[r]))&&""!==e&&(n&&(n+=" "),n+=e);return n}function ni(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}var ri={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},ii=m("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),oi=m("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),ai=function(t){return ii(t)||oi(t)};function si(t){return oi(t)?"svg":"math"===t?"math":void 0}var ci=Object.create(null);function ui(t){if(!X)return!0;if(ai(t))return!1;if(t=t.toLowerCase(),null!=ci[t])return ci[t];var e=document.createElement(t);return t.indexOf("-")>-1?ci[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:ci[t]=/HTMLUnknownElement/.test(e.toString())}var li=m("text,number,password,search,email,tel,url");function fi(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function pi(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function hi(t,e){return document.createElementNS(ri[t],e)}function di(t){return document.createTextNode(t)}function vi(t){return document.createComment(t)}function mi(t,e,n){t.insertBefore(e,n)}function yi(t,e){t.removeChild(e)}function gi(t,e){t.appendChild(e)}function _i(t){return t.parentNode}function bi(t){return t.nextSibling}function wi(t){return t.tagName}function Ci(t,e){t.textContent=e}function ki(t,e){t.setAttribute(e,"")}var $i=Object.freeze({createElement:pi,createElementNS:hi,createTextNode:di,createComment:vi,insertBefore:mi,removeChild:yi,appendChild:gi,parentNode:_i,nextSibling:bi,tagName:wi,setTextContent:Ci,setStyleScope:ki}),xi={create:function(t,e){Ai(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Ai(t,!0),Ai(e))},destroy:function(t){Ai(t,!0)}};function Ai(t,e){var n=t.data.ref;if(i(n)){var r=t.context,o=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?g(a[n],o):a[n]===o&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(o)<0&&a[n].push(o):a[n]=[o]:a[n]=o}}var Oi=new _t("",{},[]),Si=["create","activate","update","remove","destroy"];function Ti(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&i(t.data)===i(e.data)&&Ei(t,e)||o(t.isAsyncPlaceholder)&&r(e.asyncFactory.error))}function Ei(t,e){if("input"!==t.tag)return!0;var n,r=i(n=t.data)&&i(n=n.attrs)&&n.type,o=i(n=e.data)&&i(n=n.attrs)&&n.type;return r===o||li(r)&&li(o)}function ji(t,e,n){var r,o,a={};for(r=e;r<=n;++r)o=t[r].key,i(o)&&(a[o]=r);return a}function Fi(t){var e,n,a={},c=t.modules,u=t.nodeOps;for(e=0;e<Si.length;++e)for(a[Si[e]]=[],n=0;n<c.length;++n)i(c[n][Si[e]])&&a[Si[e]].push(c[n][Si[e]]);function l(t){return new _t(u.tagName(t).toLowerCase(),{},[],void 0,t)}function f(t,e){function n(){0===--n.listeners&&p(t)}return n.listeners=e,n}function p(t){var e=u.parentNode(t);i(e)&&u.removeChild(e,t)}function h(t,e,n,r,a,s,c){if(i(t.elm)&&i(s)&&(t=s[c]=kt(t)),t.isRootInsert=!a,!d(t,e,n,r)){var l=t.data,f=t.children,p=t.tag;i(p)?(t.elm=t.ns?u.createElementNS(t.ns,p):u.createElement(p,t),C(t),_(t,f,e),i(l)&&w(t,e),g(n,t.elm,r)):o(t.isComment)?(t.elm=u.createComment(t.text),g(n,t.elm,r)):(t.elm=u.createTextNode(t.text),g(n,t.elm,r))}}function d(t,e,n,r){var a=t.data;if(i(a)){var s=i(t.componentInstance)&&a.keepAlive;if(i(a=a.hook)&&i(a=a.init)&&a(t,!1),i(t.componentInstance))return v(t,e),g(n,t.elm,r),o(s)&&y(t,e,n,r),!0}}function v(t,e){i(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,b(t)?(w(t,e),C(t)):(Ai(t),e.push(t))}function y(t,e,n,r){var o,s=t;while(s.componentInstance)if(s=s.componentInstance._vnode,i(o=s.data)&&i(o=o.transition)){for(o=0;o<a.activate.length;++o)a.activate[o](Oi,s);e.push(s);break}g(n,t.elm,r)}function g(t,e,n){i(t)&&(i(n)?u.parentNode(n)===t&&u.insertBefore(t,e,n):u.appendChild(t,e))}function _(t,e,n){if(Array.isArray(e)){0;for(var r=0;r<e.length;++r)h(e[r],n,t.elm,null,!0,e,r)}else s(t.text)&&u.appendChild(t.elm,u.createTextNode(String(t.text)))}function b(t){while(t.componentInstance)t=t.componentInstance._vnode;return i(t.tag)}function w(t,n){for(var r=0;r<a.create.length;++r)a.create[r](Oi,t);e=t.data.hook,i(e)&&(i(e.create)&&e.create(Oi,t),i(e.insert)&&n.push(t))}function C(t){var e;if(i(e=t.fnScopeId))u.setStyleScope(t.elm,e);else{var n=t;while(n)i(e=n.context)&&i(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e),n=n.parent}i(e=jn)&&e!==t.context&&e!==t.fnContext&&i(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e)}function k(t,e,n,r,i,o){for(;r<=i;++r)h(n[r],o,t,e,!1,n,r)}function $(t){var e,n,r=t.data;if(i(r))for(i(e=r.hook)&&i(e=e.destroy)&&e(t),e=0;e<a.destroy.length;++e)a.destroy[e](t);if(i(e=t.children))for(n=0;n<t.children.length;++n)$(t.children[n])}function x(t,e,n){for(;e<=n;++e){var r=t[e];i(r)&&(i(r.tag)?(A(r),$(r)):p(r.elm))}}function A(t,e){if(i(e)||i(t.data)){var n,r=a.remove.length+1;for(i(e)?e.listeners+=r:e=f(t.elm,r),i(n=t.componentInstance)&&i(n=n._vnode)&&i(n.data)&&A(n,e),n=0;n<a.remove.length;++n)a.remove[n](t,e);i(n=t.data.hook)&&i(n=n.remove)?n(t,e):e()}else p(t.elm)}function O(t,e,n,o,a){var s,c,l,f,p=0,d=0,v=e.length-1,m=e[0],y=e[v],g=n.length-1,_=n[0],b=n[g],w=!a;while(p<=v&&d<=g)r(m)?m=e[++p]:r(y)?y=e[--v]:Ti(m,_)?(T(m,_,o,n,d),m=e[++p],_=n[++d]):Ti(y,b)?(T(y,b,o,n,g),y=e[--v],b=n[--g]):Ti(m,b)?(T(m,b,o,n,g),w&&u.insertBefore(t,m.elm,u.nextSibling(y.elm)),m=e[++p],b=n[--g]):Ti(y,_)?(T(y,_,o,n,d),w&&u.insertBefore(t,y.elm,m.elm),y=e[--v],_=n[++d]):(r(s)&&(s=ji(e,p,v)),c=i(_.key)?s[_.key]:S(_,e,p,v),r(c)?h(_,o,t,m.elm,!1,n,d):(l=e[c],Ti(l,_)?(T(l,_,o,n,d),e[c]=void 0,w&&u.insertBefore(t,l.elm,m.elm)):h(_,o,t,m.elm,!1,n,d)),_=n[++d]);p>v?(f=r(n[g+1])?null:n[g+1].elm,k(t,f,n,d,g,o)):d>g&&x(e,p,v)}function S(t,e,n,r){for(var o=n;o<r;o++){var a=e[o];if(i(a)&&Ti(t,a))return o}}function T(t,e,n,s,c,l){if(t!==e){i(e.elm)&&i(s)&&(e=s[c]=kt(e));var f=e.elm=t.elm;if(o(t.isAsyncPlaceholder))i(e.asyncFactory.resolved)?F(t.elm,e,n):e.isAsyncPlaceholder=!0;else if(o(e.isStatic)&&o(t.isStatic)&&e.key===t.key&&(o(e.isCloned)||o(e.isOnce)))e.componentInstance=t.componentInstance;else{var p,h=e.data;i(h)&&i(p=h.hook)&&i(p=p.prepatch)&&p(t,e);var d=t.children,v=e.children;if(i(h)&&b(e)){for(p=0;p<a.update.length;++p)a.update[p](t,e);i(p=h.hook)&&i(p=p.update)&&p(t,e)}r(e.text)?i(d)&&i(v)?d!==v&&O(f,d,v,n,l):i(v)?(i(t.text)&&u.setTextContent(f,""),k(f,null,v,0,v.length-1,n)):i(d)?x(d,0,d.length-1):i(t.text)&&u.setTextContent(f,""):t.text!==e.text&&u.setTextContent(f,e.text),i(h)&&i(p=h.hook)&&i(p=p.postpatch)&&p(t,e)}}}function E(t,e,n){if(o(n)&&i(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}var j=m("attrs,class,staticClass,staticStyle,key");function F(t,e,n,r){var a,s=e.tag,c=e.data,u=e.children;if(r=r||c&&c.pre,e.elm=t,o(e.isComment)&&i(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(i(c)&&(i(a=c.hook)&&i(a=a.init)&&a(e,!0),i(a=e.componentInstance)))return v(e,n),!0;if(i(s)){if(i(u))if(t.hasChildNodes())if(i(a=c)&&i(a=a.domProps)&&i(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var l=!0,f=t.firstChild,p=0;p<u.length;p++){if(!f||!F(f,u[p],n,r)){l=!1;break}f=f.nextSibling}if(!l||f)return!1}else _(e,u,n);if(i(c)){var h=!1;for(var d in c)if(!j(d)){h=!0,w(e,n);break}!h&&c["class"]&&ye(c["class"])}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,n,s){if(!r(e)){var c=!1,f=[];if(r(t))c=!0,h(e,f);else{var p=i(t.nodeType);if(!p&&Ti(t,e))T(t,e,f,null,null,s);else{if(p){if(1===t.nodeType&&t.hasAttribute(P)&&(t.removeAttribute(P),n=!0),o(n)&&F(t,e,f))return E(e,f,!0),t;t=l(t)}var d=t.elm,v=u.parentNode(d);if(h(e,f,d._leaveCb?null:v,u.nextSibling(d)),i(e.parent)){var m=e.parent,y=b(e);while(m){for(var g=0;g<a.destroy.length;++g)a.destroy[g](m);if(m.elm=e.elm,y){for(var _=0;_<a.create.length;++_)a.create[_](Oi,m);var w=m.data.hook.insert;if(w.merged)for(var C=1;C<w.fns.length;C++)w.fns[C]()}else Ai(m);m=m.parent}}i(v)?x([t],0,0):i(t.tag)&&$(t)}}return E(e,f,c),e.elm}i(t)&&$(t)}}var Ii={create:Li,update:Li,destroy:function(t){Li(t,Oi)}};function Li(t,e){(t.data.directives||e.data.directives)&&Mi(t,e)}function Mi(t,e){var n,r,i,o=t===Oi,a=e===Oi,s=Ri(t.data.directives,t.context),c=Ri(e.data.directives,e.context),u=[],l=[];for(n in c)r=s[n],i=c[n],r?(i.oldValue=r.value,i.oldArg=r.arg,Pi(i,"update",e,t),i.def&&i.def.componentUpdated&&l.push(i)):(Pi(i,"bind",e,t),i.def&&i.def.inserted&&u.push(i));if(u.length){var f=function(){for(var n=0;n<u.length;n++)Pi(u[n],"inserted",e,t)};o?Ce(e,"insert",f):f()}if(l.length&&Ce(e,"postpatch",(function(){for(var n=0;n<l.length;n++)Pi(l[n],"componentUpdated",e,t)})),!o)for(n in s)c[n]||Pi(s[n],"unbind",t,t,a)}var Di=Object.create(null);function Ri(t,e){var n,r,i=Object.create(null);if(!t)return i;for(n=0;n<t.length;n++)r=t[n],r.modifiers||(r.modifiers=Di),i[Ni(r)]=r,r.def=Gt(e.$options,"directives",r.name,!0);return i}function Ni(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function Pi(t,e,n,r,i){var o=t.def&&t.def[e];if(o)try{o(n.elm,t,n,r,i)}catch($a){ne($a,n.context,"directive "+t.name+" "+e+" hook")}}var Vi=[xi,Ii];function Wi(t,e){var n=e.componentOptions;if((!i(n)||!1!==n.Ctor.options.inheritAttrs)&&(!r(t.data.attrs)||!r(e.data.attrs))){var o,a,s,c=e.elm,u=t.data.attrs||{},l=e.data.attrs||{};for(o in i(l.__ob__)&&(l=e.data.attrs=j({},l)),l)a=l[o],s=u[o],s!==a&&Hi(c,o,a,e.data.pre);for(o in(tt||nt)&&l.value!==u.value&&Hi(c,"value",l.value),u)r(l[o])&&(Jr(o)?c.removeAttributeNS(qr,Kr(o)):Hr(o)||c.removeAttribute(o))}}function Hi(t,e,n,r){r||t.tagName.indexOf("-")>-1?Ui(t,e,n):zr(e)?Gr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Hr(e)?t.setAttribute(e,Br(e,n)):Jr(e)?Gr(n)?t.removeAttributeNS(qr,Kr(e)):t.setAttributeNS(qr,e,n):Ui(t,e,n)}function Ui(t,e,n){if(Gr(n))t.removeAttribute(e);else{if(tt&&!et&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Bi={create:Wi,update:Wi};function zi(t,e){var n=e.elm,o=e.data,a=t.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=Xr(e),c=n._transitionClasses;i(c)&&(s=Qr(s,ti(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var qi,Ji={create:zi,update:zi},Ki="__r",Gi="__c";function Xi(t){if(i(t[Ki])){var e=tt?"change":"input";t[e]=[].concat(t[Ki],t[e]||[]),delete t[Ki]}i(t[Gi])&&(t.change=[].concat(t[Gi],t.change||[]),delete t[Gi])}function Zi(t,e,n){var r=qi;return function i(){var o=e.apply(null,arguments);null!==o&&to(t,i,n,r)}}var Yi=se&&!(it&&Number(it[1])<=53);function Qi(t,e,n,r){if(Yi){var i=Kn,o=e;e=o._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=i||t.timeStamp<=0||t.target.ownerDocument!==document)return o.apply(this,arguments)}}qi.addEventListener(t,e,at?{capture:n,passive:r}:n)}function to(t,e,n,r){(r||qi).removeEventListener(t,e._wrapper||e,n)}function eo(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};qi=e.elm,Xi(n),we(n,i,Qi,to,Zi,e.context),qi=void 0}}var no,ro={create:eo,update:eo};function io(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,o,a=e.elm,s=t.data.domProps||{},c=e.data.domProps||{};for(n in i(c.__ob__)&&(c=e.data.domProps=j({},c)),s)n in c||(a[n]="");for(n in c){if(o=c[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),o===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=o;var u=r(o)?"":String(o);oo(a,u)&&(a.value=u)}else if("innerHTML"===n&&oi(a.tagName)&&r(a.innerHTML)){no=no||document.createElement("div"),no.innerHTML="<svg>"+o+"</svg>";var l=no.firstChild;while(a.firstChild)a.removeChild(a.firstChild);while(l.firstChild)a.appendChild(l.firstChild)}else if(o!==s[n])try{a[n]=o}catch($a){}}}}function oo(t,e){return!t.composing&&("OPTION"===t.tagName||ao(t,e)||so(t,e))}function ao(t,e){var n=!0;try{n=document.activeElement!==t}catch($a){}return n&&t.value!==e}function so(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var co={create:io,update:io},uo=w((function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function lo(t){var e=fo(t.style);return t.staticStyle?j(t.staticStyle,e):e}function fo(t){return Array.isArray(t)?F(t):"string"===typeof t?uo(t):t}function po(t,e){var n,r={};if(e){var i=t;while(i.componentInstance)i=i.componentInstance._vnode,i&&i.data&&(n=lo(i.data))&&j(r,n)}(n=lo(t.data))&&j(r,n);var o=t;while(o=o.parent)o.data&&(n=lo(o.data))&&j(r,n);return r}var ho,vo=/^--/,mo=/\s*!important$/,yo=function(t,e,n){if(vo.test(e))t.style.setProperty(e,n);else if(mo.test(n))t.style.setProperty(A(e),n.replace(mo,""),"important");else{var r=_o(e);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)t.style[r]=n[i];else t.style[r]=n}},go=["Webkit","Moz","ms"],_o=w((function(t){if(ho=ho||document.createElement("div").style,t=k(t),"filter"!==t&&t in ho)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<go.length;n++){var r=go[n]+e;if(r in ho)return r}}));function bo(t,e){var n=e.data,o=t.data;if(!(r(n.staticStyle)&&r(n.style)&&r(o.staticStyle)&&r(o.style))){var a,s,c=e.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,p=fo(e.data.style)||{};e.data.normalizedStyle=i(p.__ob__)?j({},p):p;var h=po(e,!0);for(s in f)r(h[s])&&yo(c,s,"");for(s in h)a=h[s],a!==f[s]&&yo(c,s,null==a?"":a)}}var wo={create:bo,update:bo},Co=/\s+/;function ko(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Co).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function $o(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Co).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function xo(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&j(e,Ao(t.name||"v")),j(e,t),e}return"string"===typeof t?Ao(t):void 0}}var Ao=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Oo=X&&!et,So="transition",To="animation",Eo="transition",jo="transitionend",Fo="animation",Io="animationend";Oo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Eo="WebkitTransition",jo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Fo="WebkitAnimation",Io="webkitAnimationEnd"));var Lo=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Mo(t){Lo((function(){Lo(t)}))}function Do(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),ko(t,e))}function Ro(t,e){t._transitionClasses&&g(t._transitionClasses,e),$o(t,e)}function No(t,e,n){var r=Vo(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===So?jo:Io,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c<a&&u()}),o+1),t.addEventListener(s,l)}var Po=/\b(transform|all)(,|$)/;function Vo(t,e){var n,r=window.getComputedStyle(t),i=(r[Eo+"Delay"]||"").split(", "),o=(r[Eo+"Duration"]||"").split(", "),a=Wo(i,o),s=(r[Fo+"Delay"]||"").split(", "),c=(r[Fo+"Duration"]||"").split(", "),u=Wo(s,c),l=0,f=0;e===So?a>0&&(n=So,l=a,f=o.length):e===To?u>0&&(n=To,l=u,f=c.length):(l=Math.max(a,u),n=l>0?a>u?So:To:null,f=n?n===So?o.length:c.length:0);var p=n===So&&Po.test(r[Eo+"Property"]);return{type:n,timeout:l,propCount:f,hasTransform:p}}function Wo(t,e){while(t.length<e.length)t=t.concat(t);return Math.max.apply(null,e.map((function(e,n){return Ho(e)+Ho(t[n])})))}function Ho(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Uo(t,e){var n=t.elm;i(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var o=xo(t.data.transition);if(!r(o)&&!i(n._enterCb)&&1===n.nodeType){var a=o.css,s=o.type,u=o.enterClass,l=o.enterToClass,f=o.enterActiveClass,p=o.appearClass,h=o.appearToClass,d=o.appearActiveClass,m=o.beforeEnter,y=o.enter,g=o.afterEnter,_=o.enterCancelled,b=o.beforeAppear,w=o.appear,C=o.afterAppear,k=o.appearCancelled,$=o.duration,x=jn,A=jn.$vnode;while(A&&A.parent)x=A.context,A=A.parent;var O=!x._isMounted||!t.isRootInsert;if(!O||w||""===w){var S=O&&p?p:u,T=O&&d?d:f,E=O&&h?h:l,j=O&&b||m,F=O&&"function"===typeof w?w:y,I=O&&C||g,L=O&&k||_,M=v(c($)?$.enter:$);0;var D=!1!==a&&!et,R=qo(F),P=n._enterCb=N((function(){D&&(Ro(n,E),Ro(n,T)),P.cancelled?(D&&Ro(n,S),L&&L(n)):I&&I(n),n._enterCb=null}));t.data.show||Ce(t,"insert",(function(){var e=n.parentNode,r=e&&e._pending&&e._pending[t.key];r&&r.tag===t.tag&&r.elm._leaveCb&&r.elm._leaveCb(),F&&F(n,P)})),j&&j(n),D&&(Do(n,S),Do(n,T),Mo((function(){Ro(n,S),P.cancelled||(Do(n,E),R||(zo(M)?setTimeout(P,M):No(n,s,P)))}))),t.data.show&&(e&&e(),F&&F(n,P)),D||R||P()}}}function Bo(t,e){var n=t.elm;i(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var o=xo(t.data.transition);if(r(o)||1!==n.nodeType)return e();if(!i(n._leaveCb)){var a=o.css,s=o.type,u=o.leaveClass,l=o.leaveToClass,f=o.leaveActiveClass,p=o.beforeLeave,h=o.leave,d=o.afterLeave,m=o.leaveCancelled,y=o.delayLeave,g=o.duration,_=!1!==a&&!et,b=qo(h),w=v(c(g)?g.leave:g);0;var C=n._leaveCb=N((function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[t.key]=null),_&&(Ro(n,l),Ro(n,f)),C.cancelled?(_&&Ro(n,u),m&&m(n)):(e(),d&&d(n)),n._leaveCb=null}));y?y(k):k()}function k(){C.cancelled||(!t.data.show&&n.parentNode&&((n.parentNode._pending||(n.parentNode._pending={}))[t.key]=t),p&&p(n),_&&(Do(n,u),Do(n,f),Mo((function(){Ro(n,u),C.cancelled||(Do(n,l),b||(zo(w)?setTimeout(C,w):No(n,s,C)))}))),h&&h(n,C),_||b||C())}}function zo(t){return"number"===typeof t&&!isNaN(t)}function qo(t){if(r(t))return!1;var e=t.fns;return i(e)?qo(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Jo(t,e){!0!==e.data.show&&Uo(e)}var Ko=X?{create:Jo,activate:Jo,remove:function(t,e){!0!==t.data.show?Bo(t,e):e()}}:{},Go=[Bi,Ji,ro,co,wo,Ko],Xo=Go.concat(Vi),Zo=Fi({nodeOps:$i,modules:Xo});et&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&oa(t,"input")}));var Yo={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?Ce(n,"postpatch",(function(){Yo.componentUpdated(t,e,n)})):Qo(t,e,n.context),t._vOptions=[].map.call(t.options,na)):("textarea"===n.tag||li(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",ra),t.addEventListener("compositionend",ia),t.addEventListener("change",ia),et&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Qo(t,e,n.context);var r=t._vOptions,i=t._vOptions=[].map.call(t.options,na);if(i.some((function(t,e){return!D(t,r[e])}))){var o=t.multiple?e.value.some((function(t){return ea(t,i)})):e.value!==e.oldValue&&ea(e.value,i);o&&oa(t,"change")}}}};function Qo(t,e,n){ta(t,e,n),(tt||nt)&&setTimeout((function(){ta(t,e,n)}),0)}function ta(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=t.options.length;s<c;s++)if(a=t.options[s],i)o=R(r,na(a))>-1,a.selected!==o&&(a.selected=o);else if(D(na(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function ea(t,e){return e.every((function(e){return!D(e,t)}))}function na(t){return"_value"in t?t._value:t.value}function ra(t){t.target.composing=!0}function ia(t){t.target.composing&&(t.target.composing=!1,oa(t.target,"input"))}function oa(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function aa(t){return!t.componentInstance||t.data&&t.data.transition?t:aa(t.componentInstance._vnode)}var sa={bind:function(t,e,n){var r=e.value;n=aa(n);var i=n.data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,Uo(n,(function(){t.style.display=o}))):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value,i=e.oldValue;if(!r!==!i){n=aa(n);var o=n.data&&n.data.transition;o?(n.data.show=!0,r?Uo(n,(function(){t.style.display=t.__vOriginalDisplay})):Bo(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}},ca={model:Yo,show:sa},ua={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function la(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?la($n(e.children)):t}function fa(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[k(o)]=i[o];return e}function pa(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function ha(t){while(t=t.parent)if(t.data.transition)return!0}function da(t,e){return e.key===t.key&&e.tag===t.tag}var va=function(t){return t.tag||Le(t)},ma=function(t){return"show"===t.name},ya={name:"transition",props:ua,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(va),n.length)){0;var r=this.mode;0;var i=n[0];if(ha(this.$vnode))return i;var o=la(i);if(!o)return i;if(this._leaving)return pa(t,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var c=(o.data||(o.data={})).transition=fa(this),u=this._vnode,l=la(u);if(o.data.directives&&o.data.directives.some(ma)&&(o.data.show=!0),l&&l.data&&!da(o,l)&&!Le(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=j({},c);if("out-in"===r)return this._leaving=!0,Ce(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),pa(t,i);if("in-out"===r){if(Le(o))return u;var p,h=function(){p()};Ce(c,"afterEnter",h),Ce(c,"enterCancelled",h),Ce(f,"delayLeave",(function(t){p=t}))}}return i}}},ga=j({tag:String,moveClass:String},ua);delete ga.mode;var _a={props:ga,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var i=Fn(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,i(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=fa(this),s=0;s<i.length;s++){var c=i[s];if(c.tag)if(null!=c.key&&0!==String(c.key).indexOf("__vlist"))o.push(c),n[c.key]=c,(c.data||(c.data={})).transition=a;else;}if(r){for(var u=[],l=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?u.push(p):l.push(p)}this.kept=t(e,null,u),this.removed=l}return t(e,null,o)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(ba),t.forEach(wa),t.forEach(Ca),this._reflow=document.body.offsetHeight,t.forEach((function(t){if(t.data.moved){var n=t.elm,r=n.style;Do(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(jo,n._moveCb=function t(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(jo,t),n._moveCb=null,Ro(n,e))})}})))},methods:{hasMove:function(t,e){if(!Oo)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach((function(t){$o(n,t)})),ko(n,e),n.style.display="none",this.$el.appendChild(n);var r=Vo(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}};function ba(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function wa(t){t.data.newPos=t.elm.getBoundingClientRect()}function Ca(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}var ka={Transition:ya,TransitionGroup:_a};$r.config.mustUseProp=Wr,$r.config.isReservedTag=ai,$r.config.isReservedAttr=Pr,$r.config.getTagNamespace=si,$r.config.isUnknownElement=ui,j($r.options.directives,ca),j($r.options.components,ka),$r.prototype.__patch__=X?Zo:I,$r.prototype.$mount=function(t,e){return t=t&&X?fi(t):void 0,Mn(this,t,e)},X&&setTimeout((function(){H.devtools&&ut&&ut.emit("init",$r)}),0),e["default"]=$r}.call(this,n("c8ba"))},"8c4f":function(t,e,n){"use strict";
+/*!
+  * vue-router v3.5.2
+  * (c) 2021 Evan You
+  * @license MIT
+  */function r(t,e){0}function i(t,e){for(var n in e)t[n]=e[n];return t}var o=/[!'()*]/g,a=function(t){return"%"+t.charCodeAt(0).toString(16)},s=/%2C/g,c=function(t){return encodeURIComponent(t).replace(o,a).replace(s,",")};function u(t){try{return decodeURIComponent(t)}catch(e){0}return t}function l(t,e,n){void 0===e&&(e={});var r,i=n||p;try{r=i(t||"")}catch(s){r={}}for(var o in e){var a=e[o];r[o]=Array.isArray(a)?a.map(f):f(a)}return r}var f=function(t){return null==t||"object"===typeof t?t:String(t)};function p(t){var e={};return t=t.trim().replace(/^(\?|#|&)/,""),t?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),r=u(n.shift()),i=n.length>0?u(n.join("=")):null;void 0===e[r]?e[r]=i:Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]})),e):e}function h(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return c(e);if(Array.isArray(n)){var r=[];return n.forEach((function(t){void 0!==t&&(null===t?r.push(c(e)):r.push(c(e)+"="+c(t)))})),r.join("&")}return c(e)+"="+c(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var d=/\/?$/;function v(t,e,n,r){var i=r&&r.options.stringifyQuery,o=e.query||{};try{o=m(o)}catch(s){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:o,params:e.params||{},fullPath:_(e,i),matched:t?g(t):[]};return n&&(a.redirectedFrom=_(n,i)),Object.freeze(a)}function m(t){if(Array.isArray(t))return t.map(m);if(t&&"object"===typeof t){var e={};for(var n in t)e[n]=m(t[n]);return e}return t}var y=v(null,{path:"/"});function g(t){var e=[];while(t)e.unshift(t),t=t.parent;return e}function _(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;void 0===i&&(i="");var o=e||h;return(n||"/")+o(r)+i}function b(t,e,n){return e===y?t===e:!!e&&(t.path&&e.path?t.path.replace(d,"")===e.path.replace(d,"")&&(n||t.hash===e.hash&&w(t.query,e.query)):!(!t.name||!e.name)&&(t.name===e.name&&(n||t.hash===e.hash&&w(t.query,e.query)&&w(t.params,e.params))))}function w(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t).sort(),r=Object.keys(e).sort();return n.length===r.length&&n.every((function(n,i){var o=t[n],a=r[i];if(a!==n)return!1;var s=e[n];return null==o||null==s?o===s:"object"===typeof o&&"object"===typeof s?w(o,s):String(o)===String(s)}))}function C(t,e){return 0===t.path.replace(d,"/").indexOf(e.path.replace(d,"/"))&&(!e.hash||t.hash===e.hash)&&k(t.query,e.query)}function k(t,e){for(var n in e)if(!(n in t))return!1;return!0}function $(t){for(var e=0;e<t.matched.length;e++){var n=t.matched[e];for(var r in n.instances){var i=n.instances[r],o=n.enteredCbs[r];if(i&&o){delete n.enteredCbs[r];for(var a=0;a<o.length;a++)i._isBeingDestroyed||o[a](i)}}}}var x={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,o=e.parent,a=e.data;a.routerView=!0;var s=o.$createElement,c=n.name,u=o.$route,l=o._routerViewCache||(o._routerViewCache={}),f=0,p=!1;while(o&&o._routerRoot!==o){var h=o.$vnode?o.$vnode.data:{};h.routerView&&f++,h.keepAlive&&o._directInactive&&o._inactive&&(p=!0),o=o.$parent}if(a.routerViewDepth=f,p){var d=l[c],v=d&&d.component;return v?(d.configProps&&A(v,a,d.route,d.configProps),s(v,a,r)):s()}var m=u.matched[f],y=m&&m.components[c];if(!m||!y)return l[c]=null,s();l[c]={component:y},a.registerRouteInstance=function(t,e){var n=m.instances[c];(e&&n!==t||!e&&n===t)&&(m.instances[c]=e)},(a.hook||(a.hook={})).prepatch=function(t,e){m.instances[c]=e.componentInstance},a.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==m.instances[c]&&(m.instances[c]=t.componentInstance),$(u)};var g=m.props&&m.props[c];return g&&(i(l[c],{route:u,configProps:g}),A(y,a,u,g)),s(y,a,r)}};function A(t,e,n,r){var o=e.props=O(n,r);if(o){o=e.props=i({},o);var a=e.attrs=e.attrs||{};for(var s in o)t.props&&s in t.props||(a[s]=o[s],delete o[s])}}function O(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0;default:0}}function S(t,e,n){var r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;var i=e.split("/");n&&i[i.length-1]||i.pop();for(var o=t.replace(/^\//,"").split("/"),a=0;a<o.length;a++){var s=o[a];".."===s?i.pop():"."!==s&&i.push(s)}return""!==i[0]&&i.unshift(""),i.join("/")}function T(t){var e="",n="",r=t.indexOf("#");r>=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}function E(t){return t.replace(/\/\//g,"/")}var j=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},F=Z,I=N,L=P,M=H,D=X,R=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function N(t,e){var n,r=[],i=0,o=0,a="",s=e&&e.delimiter||"/";while(null!=(n=R.exec(t))){var c=n[0],u=n[1],l=n.index;if(a+=t.slice(o,l),o=l+c.length,u)a+=u[1];else{var f=t[o],p=n[2],h=n[3],d=n[4],v=n[5],m=n[6],y=n[7];a&&(r.push(a),a="");var g=null!=p&&null!=f&&f!==p,_="+"===m||"*"===m,b="?"===m||"*"===m,w=n[2]||s,C=d||v;r.push({name:h||i++,prefix:p||"",delimiter:w,optional:b,repeat:_,partial:g,asterisk:!!y,pattern:C?B(C):y?".*":"[^"+U(w)+"]+?"})}}return o<t.length&&(a+=t.substr(o)),a&&r.push(a),r}function P(t,e){return H(N(t,e),e)}function V(t){return encodeURI(t).replace(/[\/?#]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}))}function W(t){return encodeURI(t).replace(/[?#]/g,(function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()}))}function H(t,e){for(var n=new Array(t.length),r=0;r<t.length;r++)"object"===typeof t[r]&&(n[r]=new RegExp("^(?:"+t[r].pattern+")$",q(e)));return function(e,r){for(var i="",o=e||{},a=r||{},s=a.pretty?V:encodeURIComponent,c=0;c<t.length;c++){var u=t[c];if("string"!==typeof u){var l,f=o[u.name];if(null==f){if(u.optional){u.partial&&(i+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(j(f)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(l=s(f[p]),!n[c].test(l))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(l)+"`");i+=(0===p?u.prefix:u.delimiter)+l}}else{if(l=u.asterisk?W(f):s(f),!n[c].test(l))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+l+'"');i+=u.prefix+l}}else i+=u}return i}}function U(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function B(t){return t.replace(/([=!:$\/()])/g,"\\$1")}function z(t,e){return t.keys=e,t}function q(t){return t&&t.sensitive?"":"i"}function J(t,e){var n=t.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return z(t,e)}function K(t,e,n){for(var r=[],i=0;i<t.length;i++)r.push(Z(t[i],e,n).source);var o=new RegExp("(?:"+r.join("|")+")",q(n));return z(o,e)}function G(t,e,n){return X(N(t,n),e,n)}function X(t,e,n){j(e)||(n=e||n,e=[]),n=n||{};for(var r=n.strict,i=!1!==n.end,o="",a=0;a<t.length;a++){var s=t[a];if("string"===typeof s)o+=U(s);else{var c=U(s.prefix),u="(?:"+s.pattern+")";e.push(s),s.repeat&&(u+="(?:"+c+u+")*"),u=s.optional?s.partial?c+"("+u+")?":"(?:"+c+"("+u+"))?":c+"("+u+")",o+=u}}var l=U(n.delimiter||"/"),f=o.slice(-l.length)===l;return r||(o=(f?o.slice(0,-l.length):o)+"(?:"+l+"(?=$))?"),o+=i?"$":r&&f?"":"(?="+l+"|$)",z(new RegExp("^"+o,q(n)),e)}function Z(t,e,n){return j(e)||(n=e||n,e=[]),n=n||{},t instanceof RegExp?J(t,e):j(t)?K(t,e,n):G(t,e,n)}F.parse=I,F.compile=L,F.tokensToFunction=M,F.tokensToRegExp=D;var Y=Object.create(null);function Q(t,e,n){e=e||{};try{var r=Y[t]||(Y[t]=F.compile(t));return"string"===typeof e.pathMatch&&(e[0]=e.pathMatch),r(e,{pretty:!0})}catch(i){return""}finally{delete e[0]}}function tt(t,e,n,r){var o="string"===typeof t?{path:t}:t;if(o._normalized)return o;if(o.name){o=i({},t);var a=o.params;return a&&"object"===typeof a&&(o.params=i({},a)),o}if(!o.path&&o.params&&e){o=i({},o),o._normalized=!0;var s=i(i({},e.params),o.params);if(e.name)o.name=e.name,o.params=s;else if(e.matched.length){var c=e.matched[e.matched.length-1].path;o.path=Q(c,s,"path "+e.path)}else 0;return o}var u=T(o.path||""),f=e&&e.path||"/",p=u.path?S(u.path,f,n||o.append):f,h=l(u.query,o.query,r&&r.options.parseQuery),d=o.hash||u.hash;return d&&"#"!==d.charAt(0)&&(d="#"+d),{_normalized:!0,path:p,query:h,hash:d}}var et,nt=[String,Object],rt=[String,Array],it=function(){},ot={name:"RouterLink",props:{to:{type:nt,required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:rt,default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),a=o.location,s=o.route,c=o.href,u={},l=n.options.linkActiveClass,f=n.options.linkExactActiveClass,p=null==l?"router-link-active":l,h=null==f?"router-link-exact-active":f,d=null==this.activeClass?p:this.activeClass,m=null==this.exactActiveClass?h:this.exactActiveClass,y=s.redirectedFrom?v(null,tt(s.redirectedFrom),null,n):s;u[m]=b(r,y,this.exactPath),u[d]=this.exact||this.exactPath?u[m]:C(r,y);var g=u[m]?this.ariaCurrentValue:null,_=function(t){at(t)&&(e.replace?n.replace(a,it):n.push(a,it))},w={click:at};Array.isArray(this.event)?this.event.forEach((function(t){w[t]=_})):w[this.event]=_;var k={class:u},$=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:c,route:s,navigate:_,isActive:u[d],isExactActive:u[m]});if($){if(1===$.length)return $[0];if($.length>1||!$.length)return 0===$.length?t():t("span",{},$)}if("a"===this.tag)k.on=w,k.attrs={href:c,"aria-current":g};else{var x=st(this.$slots.default);if(x){x.isStatic=!1;var A=x.data=i({},x.data);for(var O in A.on=A.on||{},A.on){var S=A.on[O];O in w&&(A.on[O]=Array.isArray(S)?S:[S])}for(var T in w)T in A.on?A.on[T].push(w[T]):A.on[T]=_;var E=x.data.attrs=i({},x.data.attrs);E.href=c,E["aria-current"]=g}else k.on=w}return t(this.tag,k,this.$slots.default)}};function at(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function st(t){if(t)for(var e,n=0;n<t.length;n++){if(e=t[n],"a"===e.tag)return e;if(e.children&&(e=st(e.children)))return e}}function ct(t){if(!ct.installed||et!==t){ct.installed=!0,et=t;var e=function(t){return void 0!==t},n=function(t,n){var r=t.$options._parentVnode;e(r)&&e(r=r.data)&&e(r=r.registerRouteInstance)&&r(t,n)};t.mixin({beforeCreate:function(){e(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(t.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,"$route",{get:function(){return this._routerRoot._route}}),t.component("RouterView",x),t.component("RouterLink",ot);var r=t.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}}var ut="undefined"!==typeof window;function lt(t,e,n,r,i){var o=e||[],a=n||Object.create(null),s=r||Object.create(null);t.forEach((function(t){ft(o,a,s,t,i)}));for(var c=0,u=o.length;c<u;c++)"*"===o[c]&&(o.push(o.splice(c,1)[0]),u--,c--);return{pathList:o,pathMap:a,nameMap:s}}function ft(t,e,n,r,i,o){var a=r.path,s=r.name;var c=r.pathToRegexpOptions||{},u=ht(a,i,c.strict);"boolean"===typeof r.caseSensitive&&(c.sensitive=r.caseSensitive);var l={path:u,regex:pt(u,c),components:r.components||{default:r.component},alias:r.alias?"string"===typeof r.alias?[r.alias]:r.alias:[],instances:{},enteredCbs:{},name:s,parent:i,matchAs:o,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};if(r.children&&r.children.forEach((function(r){var i=o?E(o+"/"+r.path):void 0;ft(t,e,n,r,l,i)})),e[l.path]||(t.push(l.path),e[l.path]=l),void 0!==r.alias)for(var f=Array.isArray(r.alias)?r.alias:[r.alias],p=0;p<f.length;++p){var h=f[p];0;var d={path:h,children:r.children};ft(t,e,n,d,i,l.path||"/")}s&&(n[s]||(n[s]=l))}function pt(t,e){var n=F(t,[],e);return n}function ht(t,e,n){return n||(t=t.replace(/\/$/,"")),"/"===t[0]||null==e?t:E(e.path+"/"+t)}function dt(t,e){var n=lt(t),r=n.pathList,i=n.pathMap,o=n.nameMap;function a(t){lt(t,r,i,o)}function s(t,e){var n="object"!==typeof t?o[t]:void 0;lt([e||t],r,i,o,n),n&&n.alias.length&&lt(n.alias.map((function(t){return{path:t,children:[e]}})),r,i,o,n)}function c(){return r.map((function(t){return i[t]}))}function u(t,n,a){var s=tt(t,n,!1,e),c=s.name;if(c){var u=o[c];if(!u)return p(null,s);var l=u.regex.keys.filter((function(t){return!t.optional})).map((function(t){return t.name}));if("object"!==typeof s.params&&(s.params={}),n&&"object"===typeof n.params)for(var f in n.params)!(f in s.params)&&l.indexOf(f)>-1&&(s.params[f]=n.params[f]);return s.path=Q(u.path,s.params,'named route "'+c+'"'),p(u,s,a)}if(s.path){s.params={};for(var h=0;h<r.length;h++){var d=r[h],v=i[d];if(vt(v.regex,s.path,s.params))return p(v,s,a)}}return p(null,s)}function l(t,n){var r=t.redirect,i="function"===typeof r?r(v(t,n,null,e)):r;if("string"===typeof i&&(i={path:i}),!i||"object"!==typeof i)return p(null,n);var a=i,s=a.name,c=a.path,l=n.query,f=n.hash,h=n.params;if(l=a.hasOwnProperty("query")?a.query:l,f=a.hasOwnProperty("hash")?a.hash:f,h=a.hasOwnProperty("params")?a.params:h,s){o[s];return u({_normalized:!0,name:s,query:l,hash:f,params:h},void 0,n)}if(c){var d=mt(c,t),m=Q(d,h,'redirect route with path "'+d+'"');return u({_normalized:!0,path:m,query:l,hash:f},void 0,n)}return p(null,n)}function f(t,e,n){var r=Q(n,e.params,'aliased route with path "'+n+'"'),i=u({_normalized:!0,path:r});if(i){var o=i.matched,a=o[o.length-1];return e.params=i.params,p(a,e)}return p(null,e)}function p(t,n,r){return t&&t.redirect?l(t,r||n):t&&t.matchAs?f(t,n,t.matchAs):v(t,n,r,e)}return{match:u,addRoute:s,getRoutes:c,addRoutes:a}}function vt(t,e,n){var r=e.match(t);if(!r)return!1;if(!n)return!0;for(var i=1,o=r.length;i<o;++i){var a=t.keys[i-1];a&&(n[a.name||"pathMatch"]="string"===typeof r[i]?u(r[i]):r[i])}return!0}function mt(t,e){return S(t,e.parent?e.parent.path:"/",!0)}var yt=ut&&window.performance&&window.performance.now?window.performance:Date;function gt(){return yt.now().toFixed(3)}var _t=gt();function bt(){return _t}function wt(t){return _t=t}var Ct=Object.create(null);function kt(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual");var t=window.location.protocol+"//"+window.location.host,e=window.location.href.replace(t,""),n=i({},window.history.state);return n.key=bt(),window.history.replaceState(n,"",e),window.addEventListener("popstate",At),function(){window.removeEventListener("popstate",At)}}function $t(t,e,n,r){if(t.app){var i=t.options.scrollBehavior;i&&t.app.$nextTick((function(){var o=Ot(),a=i.call(t,e,n,r?o:null);a&&("function"===typeof a.then?a.then((function(t){Lt(t,o)})).catch((function(t){0})):Lt(a,o))}))}}function xt(){var t=bt();t&&(Ct[t]={x:window.pageXOffset,y:window.pageYOffset})}function At(t){xt(),t.state&&t.state.key&&wt(t.state.key)}function Ot(){var t=bt();if(t)return Ct[t]}function St(t,e){var n=document.documentElement,r=n.getBoundingClientRect(),i=t.getBoundingClientRect();return{x:i.left-r.left-e.x,y:i.top-r.top-e.y}}function Tt(t){return Ft(t.x)||Ft(t.y)}function Et(t){return{x:Ft(t.x)?t.x:window.pageXOffset,y:Ft(t.y)?t.y:window.pageYOffset}}function jt(t){return{x:Ft(t.x)?t.x:0,y:Ft(t.y)?t.y:0}}function Ft(t){return"number"===typeof t}var It=/^#\d/;function Lt(t,e){var n="object"===typeof t;if(n&&"string"===typeof t.selector){var r=It.test(t.selector)?document.getElementById(t.selector.slice(1)):document.querySelector(t.selector);if(r){var i=t.offset&&"object"===typeof t.offset?t.offset:{};i=jt(i),e=St(r,i)}else Tt(t)&&(e=Et(t))}else n&&Tt(t)&&(e=Et(t));e&&("scrollBehavior"in document.documentElement.style?window.scrollTo({left:e.x,top:e.y,behavior:t.behavior}):window.scrollTo(e.x,e.y))}var Mt=ut&&function(){var t=window.navigator.userAgent;return(-1===t.indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&(window.history&&"function"===typeof window.history.pushState)}();function Dt(t,e){xt();var n=window.history;try{if(e){var r=i({},n.state);r.key=bt(),n.replaceState(r,"",t)}else n.pushState({key:wt(gt())},"",t)}catch(o){window.location[e?"replace":"assign"](t)}}function Rt(t){Dt(t,!0)}function Nt(t,e,n){var r=function(i){i>=t.length?n():t[i]?e(t[i],(function(){r(i+1)})):r(i+1)};r(0)}var Pt={redirected:2,aborted:4,cancelled:8,duplicated:16};function Vt(t,e){return Bt(t,e,Pt.redirected,'Redirected when going from "'+t.fullPath+'" to "'+qt(e)+'" via a navigation guard.')}function Wt(t,e){var n=Bt(t,e,Pt.duplicated,'Avoided redundant navigation to current location: "'+t.fullPath+'".');return n.name="NavigationDuplicated",n}function Ht(t,e){return Bt(t,e,Pt.cancelled,'Navigation cancelled from "'+t.fullPath+'" to "'+e.fullPath+'" with a new navigation.')}function Ut(t,e){return Bt(t,e,Pt.aborted,'Navigation aborted from "'+t.fullPath+'" to "'+e.fullPath+'" via a navigation guard.')}function Bt(t,e,n,r){var i=new Error(r);return i._isRouter=!0,i.from=t,i.to=e,i.type=n,i}var zt=["params","query","hash"];function qt(t){if("string"===typeof t)return t;if("path"in t)return t.path;var e={};return zt.forEach((function(n){n in t&&(e[n]=t[n])})),JSON.stringify(e,null,2)}function Jt(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function Kt(t,e){return Jt(t)&&t._isRouter&&(null==e||t.type===e)}function Gt(t){return function(e,n,r){var i=!1,o=0,a=null;Xt(t,(function(t,e,n,s){if("function"===typeof t&&void 0===t.cid){i=!0,o++;var c,u=te((function(e){Qt(e)&&(e=e.default),t.resolved="function"===typeof e?e:et.extend(e),n.components[s]=e,o--,o<=0&&r()})),l=te((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Jt(t)?t:new Error(e),r(a))}));try{c=t(u,l)}catch(p){l(p)}if(c)if("function"===typeof c.then)c.then(u,l);else{var f=c.component;f&&"function"===typeof f.then&&f.then(u,l)}}})),i||r()}}function Xt(t,e){return Zt(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Zt(t){return Array.prototype.concat.apply([],t)}var Yt="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;function Qt(t){return t.__esModule||Yt&&"Module"===t[Symbol.toStringTag]}function te(t){var e=!1;return function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var ee=function(t,e){this.router=t,this.base=ne(e),this.current=y,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function ne(t){if(!t)if(ut){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function re(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n<r;n++)if(t[n]!==e[n])break;return{updated:e.slice(0,n),activated:e.slice(n),deactivated:t.slice(n)}}function ie(t,e,n,r){var i=Xt(t,(function(t,r,i,o){var a=oe(t,e);if(a)return Array.isArray(a)?a.map((function(t){return n(t,r,i,o)})):n(a,r,i,o)}));return Zt(r?i.reverse():i)}function oe(t,e){return"function"!==typeof t&&(t=et.extend(t)),t.options[e]}function ae(t){return ie(t,"beforeRouteLeave",ce,!0)}function se(t){return ie(t,"beforeRouteUpdate",ce)}function ce(t,e){if(e)return function(){return t.apply(e,arguments)}}function ue(t){return ie(t,"beforeRouteEnter",(function(t,e,n,r){return le(t,n,r)}))}function le(t,e,n){return function(r,i,o){return t(r,i,(function(t){"function"===typeof t&&(e.enteredCbs[n]||(e.enteredCbs[n]=[]),e.enteredCbs[n].push(t)),o(t)}))}}ee.prototype.listen=function(t){this.cb=t},ee.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},ee.prototype.onError=function(t){this.errorCbs.push(t)},ee.prototype.transitionTo=function(t,e,n){var r,i=this;try{r=this.router.match(t,this.current)}catch(a){throw this.errorCbs.forEach((function(t){t(a)})),a}var o=this.current;this.confirmTransition(r,(function(){i.updateRoute(r),e&&e(r),i.ensureURL(),i.router.afterHooks.forEach((function(t){t&&t(r,o)})),i.ready||(i.ready=!0,i.readyCbs.forEach((function(t){t(r)})))}),(function(t){n&&n(t),t&&!i.ready&&(Kt(t,Pt.redirected)&&o===y||(i.ready=!0,i.readyErrorCbs.forEach((function(e){e(t)}))))}))},ee.prototype.confirmTransition=function(t,e,n){var i=this,o=this.current;this.pending=t;var a=function(t){!Kt(t)&&Jt(t)&&(i.errorCbs.length?i.errorCbs.forEach((function(e){e(t)})):(r(!1,"uncaught error during route navigation:"),console.error(t))),n&&n(t)},s=t.matched.length-1,c=o.matched.length-1;if(b(t,o)&&s===c&&t.matched[s]===o.matched[c])return this.ensureURL(),a(Wt(o,t));var u=re(this.current.matched,t.matched),l=u.updated,f=u.deactivated,p=u.activated,h=[].concat(ae(f),this.router.beforeHooks,se(l),p.map((function(t){return t.beforeEnter})),Gt(p)),d=function(e,n){if(i.pending!==t)return a(Ht(o,t));try{e(t,o,(function(e){!1===e?(i.ensureURL(!0),a(Ut(o,t))):Jt(e)?(i.ensureURL(!0),a(e)):"string"===typeof e||"object"===typeof e&&("string"===typeof e.path||"string"===typeof e.name)?(a(Vt(o,t)),"object"===typeof e&&e.replace?i.replace(e):i.push(e)):n(e)}))}catch(r){a(r)}};Nt(h,d,(function(){var n=ue(p),r=n.concat(i.router.resolveHooks);Nt(r,d,(function(){if(i.pending!==t)return a(Ht(o,t));i.pending=null,e(t),i.router.app&&i.router.app.$nextTick((function(){$(t)}))}))}))},ee.prototype.updateRoute=function(t){this.current=t,this.cb&&this.cb(t)},ee.prototype.setupListeners=function(){},ee.prototype.teardown=function(){this.listeners.forEach((function(t){t()})),this.listeners=[],this.current=y,this.pending=null};var fe=function(t){function e(e,n){t.call(this,e,n),this._startLocation=pe(this.base)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,n=e.options.scrollBehavior,r=Mt&&n;r&&this.listeners.push(kt());var i=function(){var n=t.current,i=pe(t.base);t.current===y&&i===t._startLocation||t.transitionTo(i,(function(t){r&&$t(e,t,n,!0)}))};window.addEventListener("popstate",i),this.listeners.push((function(){window.removeEventListener("popstate",i)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,(function(t){Dt(E(r.base+t.fullPath)),$t(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,(function(t){Rt(E(r.base+t.fullPath)),$t(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(pe(this.base)!==this.current.fullPath){var e=E(this.base+this.current.fullPath);t?Dt(e):Rt(e)}},e.prototype.getCurrentLocation=function(){return pe(this.base)},e}(ee);function pe(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLowerCase();return!t||n!==r&&0!==n.indexOf(E(r+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var he=function(t){function e(e,n,r){t.call(this,e,n),r&&de(this.base)||ve()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router,n=e.options.scrollBehavior,r=Mt&&n;r&&this.listeners.push(kt());var i=function(){var e=t.current;ve()&&t.transitionTo(me(),(function(n){r&&$t(t.router,n,e,!0),Mt||_e(n.fullPath)}))},o=Mt?"popstate":"hashchange";window.addEventListener(o,i),this.listeners.push((function(){window.removeEventListener(o,i)}))}},e.prototype.push=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,(function(t){ge(t.fullPath),$t(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,i=this,o=i.current;this.transitionTo(t,(function(t){_e(t.fullPath),$t(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;me()!==e&&(t?ge(e):_e(e))},e.prototype.getCurrentLocation=function(){return me()},e}(ee);function de(t){var e=pe(t);if(!/^\/#/.test(e))return window.location.replace(E(t+"/#"+e)),!0}function ve(){var t=me();return"/"===t.charAt(0)||(_e("/"+t),!1)}function me(){var t=window.location.href,e=t.indexOf("#");return e<0?"":(t=t.slice(e+1),t)}function ye(t){var e=window.location.href,n=e.indexOf("#"),r=n>=0?e.slice(0,n):e;return r+"#"+t}function ge(t){Mt?Dt(ye(t)):window.location.hash=t}function _e(t){Mt?Rt(ye(t)):window.location.replace(ye(t))}var be=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var t=e.current;e.index=n,e.updateRoute(r),e.router.afterHooks.forEach((function(e){e&&e(r,t)}))}),(function(t){Kt(t,Pt.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(ee),we=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=dt(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Mt&&!1!==t.fallback,this.fallback&&(e="hash"),ut||(e="abstract"),this.mode=e,e){case"history":this.history=new fe(this,t.base);break;case"hash":this.history=new he(this,t.base,this.fallback);break;case"abstract":this.history=new be(this,t.base);break;default:0}},Ce={currentRoute:{configurable:!0}};function ke(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function $e(t,e,n){var r="hash"===n?"#"+e:e;return t?E(t+"/"+r):r}we.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Ce.currentRoute.get=function(){return this.history&&this.history.current},we.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof fe||n instanceof he){var r=function(t){var r=n.current,i=e.options.scrollBehavior,o=Mt&&i;o&&"fullPath"in t&&$t(e,t,r,!1)},i=function(t){n.setupListeners(),r(t)};n.transitionTo(n.getCurrentLocation(),i,i)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},we.prototype.beforeEach=function(t){return ke(this.beforeHooks,t)},we.prototype.beforeResolve=function(t){return ke(this.resolveHooks,t)},we.prototype.afterEach=function(t){return ke(this.afterHooks,t)},we.prototype.onReady=function(t,e){this.history.onReady(t,e)},we.prototype.onError=function(t){this.history.onError(t)},we.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},we.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},we.prototype.go=function(t){this.history.go(t)},we.prototype.back=function(){this.go(-1)},we.prototype.forward=function(){this.go(1)},we.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},we.prototype.resolve=function(t,e,n){e=e||this.history.current;var r=tt(t,e,n,this),i=this.match(r,e),o=i.redirectedFrom||i.fullPath,a=this.history.base,s=$e(a,o,this.mode);return{location:r,route:i,href:s,normalizedTo:r,resolved:i}},we.prototype.getRoutes=function(){return this.matcher.getRoutes()},we.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==y&&this.history.transitionTo(this.history.getCurrentLocation())},we.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==y&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(we.prototype,Ce),we.install=ct,we.version="3.5.2",we.isNavigationFailure=Kt,we.NavigationFailureType=Pt,we.START_LOCATION=y,ut&&window.Vue&&window.Vue.use(we),e["a"]=we},a925:function(t,e,n){"use strict";
+/*!
+ * vue-i18n v8.28.2 
+ * (c) 2022 kazuya kawaguchi
+ * Released under the MIT License.
+ */var r=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"],i=["dateStyle","timeStyle","calendar","localeMatcher","hour12","hourCycle","timeZone","formatMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName"];function o(t,e){"undefined"!==typeof console&&(console.warn("[vue-i18n] "+t),e&&console.warn(e.stack))}function a(t,e){"undefined"!==typeof console&&(console.error("[vue-i18n] "+t),e&&console.error(e.stack))}var s=Array.isArray;function c(t){return null!==t&&"object"===typeof t}function u(t){return"boolean"===typeof t}function l(t){return"string"===typeof t}var f=Object.prototype.toString,p="[object Object]";function h(t){return f.call(t)===p}function d(t){return null===t||void 0===t}function v(t){return"function"===typeof t}function m(){var t=[],e=arguments.length;while(e--)t[e]=arguments[e];var n=null,r=null;return 1===t.length?c(t[0])||s(t[0])?r=t[0]:"string"===typeof t[0]&&(n=t[0]):2===t.length&&("string"===typeof t[0]&&(n=t[0]),(c(t[1])||s(t[1]))&&(r=t[1])),{locale:n,params:r}}function y(t){return JSON.parse(JSON.stringify(t))}function g(t,e){if(t.delete(e))return t}function _(t){var e=[];return t.forEach((function(t){return e.push(t)})),e}function b(t,e){return!!~t.indexOf(e)}var w=Object.prototype.hasOwnProperty;function C(t,e){return w.call(t,e)}function k(t){for(var e=arguments,n=Object(t),r=1;r<arguments.length;r++){var i=e[r];if(void 0!==i&&null!==i){var o=void 0;for(o in i)C(i,o)&&(c(i[o])?n[o]=k(n[o],i[o]):n[o]=i[o])}}return n}function $(t,e){if(t===e)return!0;var n=c(t),r=c(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var i=s(t),o=s(e);if(i&&o)return t.length===e.length&&t.every((function(t,n){return $(t,e[n])}));if(i||o)return!1;var a=Object.keys(t),u=Object.keys(e);return a.length===u.length&&a.every((function(n){return $(t[n],e[n])}))}catch(l){return!1}}function x(t){return t.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function A(t){return null!=t&&Object.keys(t).forEach((function(e){"string"==typeof t[e]&&(t[e]=x(t[e]))})),t}function O(t){t.prototype.hasOwnProperty("$i18n")||Object.defineProperty(t.prototype,"$i18n",{get:function(){return this._i18n}}),t.prototype.$t=function(t){var e=[],n=arguments.length-1;while(n-- >0)e[n]=arguments[n+1];var r=this.$i18n;return r._t.apply(r,[t,r.locale,r._getMessages(),this].concat(e))},t.prototype.$tc=function(t,e){var n=[],r=arguments.length-2;while(r-- >0)n[r]=arguments[r+2];var i=this.$i18n;return i._tc.apply(i,[t,i.locale,i._getMessages(),this,e].concat(n))},t.prototype.$te=function(t,e){var n=this.$i18n;return n._te(t,n.locale,n._getMessages(),e)},t.prototype.$d=function(t){var e,n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];return(e=this.$i18n).d.apply(e,[t].concat(n))},t.prototype.$n=function(t){var e,n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];return(e=this.$i18n).n.apply(e,[t].concat(n))}}function S(t){function e(){this!==this.$root&&this.$options.__INTLIFY_META__&&this.$el&&this.$el.setAttribute("data-intlify",this.$options.__INTLIFY_META__)}return void 0===t&&(t=!1),t?{mounted:e}:{beforeCreate:function(){var t=this.$options;if(t.i18n=t.i18n||(t.__i18nBridge||t.__i18n?{}:null),t.i18n)if(t.i18n instanceof At){if(t.__i18nBridge||t.__i18n)try{var e=t.i18n&&t.i18n.messages?t.i18n.messages:{},n=t.__i18nBridge||t.__i18n;n.forEach((function(t){e=k(e,JSON.parse(t))})),Object.keys(e).forEach((function(n){t.i18n.mergeLocaleMessage(n,e[n])}))}catch(c){0}this._i18n=t.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(h(t.i18n)){var r=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof At?this.$root.$i18n:null;if(r&&(t.i18n.root=this.$root,t.i18n.formatter=r.formatter,t.i18n.fallbackLocale=r.fallbackLocale,t.i18n.formatFallbackMessages=r.formatFallbackMessages,t.i18n.silentTranslationWarn=r.silentTranslationWarn,t.i18n.silentFallbackWarn=r.silentFallbackWarn,t.i18n.pluralizationRules=r.pluralizationRules,t.i18n.preserveDirectiveContent=r.preserveDirectiveContent),t.__i18nBridge||t.__i18n)try{var i=t.i18n&&t.i18n.messages?t.i18n.messages:{},o=t.__i18nBridge||t.__i18n;o.forEach((function(t){i=k(i,JSON.parse(t))})),t.i18n.messages=i}catch(c){0}var a=t.i18n,s=a.sharedMessages;s&&h(s)&&(t.i18n.messages=k(t.i18n.messages,s)),this._i18n=new At(t.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(void 0===t.i18n.sync||t.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),r&&r.onComponentInstanceCreated(this._i18n)}else 0;else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof At?this._i18n=this.$root.$i18n:t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof At&&(this._i18n=t.parent.$i18n)},beforeMount:function(){var t=this.$options;t.i18n=t.i18n||(t.__i18nBridge||t.__i18n?{}:null),t.i18n?(t.i18n instanceof At||h(t.i18n))&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof At||t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof At)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},mounted:e,beforeDestroy:function(){if(this._i18n){var t=this;this.$nextTick((function(){t._subscribing&&(t._i18n.unsubscribeDataChanging(t),delete t._subscribing),t._i18nWatcher&&(t._i18nWatcher(),t._i18n.destroyVM(),delete t._i18nWatcher),t._localeWatcher&&(t._localeWatcher(),delete t._localeWatcher)}))}}}}var T={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(t,e){var n=e.data,r=e.parent,i=e.props,o=e.slots,a=r.$i18n;if(a){var s=i.path,c=i.locale,u=i.places,l=o(),f=a.i(s,c,E(l)||u?j(l.default,u):l),p=i.tag&&!0!==i.tag||!1===i.tag?i.tag:"span";return p?t(p,n,f):f}}};function E(t){var e;for(e in t)if("default"!==e)return!1;return Boolean(e)}function j(t,e){var n=e?F(e):{};if(!t)return n;t=t.filter((function(t){return t.tag||""!==t.text.trim()}));var r=t.every(M);return t.reduce(r?I:L,n)}function F(t){return Array.isArray(t)?t.reduce(L,{}):Object.assign({},t)}function I(t,e){return e.data&&e.data.attrs&&e.data.attrs.place&&(t[e.data.attrs.place]=e),t}function L(t,e,n){return t[n]=e,t}function M(t){return Boolean(t.data&&t.data.attrs&&t.data.attrs.place)}var D,R={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(t,e){var n=e.props,i=e.parent,o=e.data,a=i.$i18n;if(!a)return null;var s=null,u=null;l(n.format)?s=n.format:c(n.format)&&(n.format.key&&(s=n.format.key),u=Object.keys(n.format).reduce((function(t,e){var i;return b(r,e)?Object.assign({},t,(i={},i[e]=n.format[e],i)):t}),null));var f=n.locale||a.locale,p=a._ntp(n.value,f,s,u),h=p.map((function(t,e){var n,r=o.scopedSlots&&o.scopedSlots[t.type];return r?r((n={},n[t.type]=t.value,n.index=e,n.parts=p,n)):t.value})),d=n.tag&&!0!==n.tag||!1===n.tag?n.tag:"span";return d?t(d,{attrs:o.attrs,class:o["class"],staticClass:o.staticClass},h):h}};function N(t,e,n){W(t,n)&&U(t,e,n)}function P(t,e,n,r){if(W(t,n)){var i=n.context.$i18n;H(t,n)&&$(e.value,e.oldValue)&&$(t._localeMessage,i.getLocaleMessage(i.locale))||U(t,e,n)}}function V(t,e,n,r){var i=n.context;if(i){var a=n.context.$i18n||{};e.modifiers.preserve||a.preserveDirectiveContent||(t.textContent=""),t._vt=void 0,delete t["_vt"],t._locale=void 0,delete t["_locale"],t._localeMessage=void 0,delete t["_localeMessage"]}else o("Vue instance does not exists in VNode context")}function W(t,e){var n=e.context;return n?!!n.$i18n||(o("VueI18n instance does not exists in Vue instance"),!1):(o("Vue instance does not exists in VNode context"),!1)}function H(t,e){var n=e.context;return t._locale===n.$i18n.locale}function U(t,e,n){var r,i,a=e.value,s=B(a),c=s.path,u=s.locale,l=s.args,f=s.choice;if(c||u||l)if(c){var p=n.context;t._vt=t.textContent=null!=f?(r=p.$i18n).tc.apply(r,[c,f].concat(z(u,l))):(i=p.$i18n).t.apply(i,[c].concat(z(u,l))),t._locale=p.$i18n.locale,t._localeMessage=p.$i18n.getLocaleMessage(p.$i18n.locale)}else o("`path` is required in v-t directive");else o("value type not supported")}function B(t){var e,n,r,i;return l(t)?e=t:h(t)&&(e=t.path,n=t.locale,r=t.args,i=t.choice),{path:e,locale:n,args:r,choice:i}}function z(t,e){var n=[];return t&&n.push(t),e&&(Array.isArray(e)||h(e))&&n.push(e),n}function q(t,e){void 0===e&&(e={bridge:!1}),q.installed=!0,D=t;D.version&&Number(D.version.split(".")[0]);O(D),D.mixin(S(e.bridge)),D.directive("t",{bind:N,update:P,unbind:V}),D.component(T.name,T),D.component(R.name,R);var n=D.config.optionMergeStrategies;n.i18n=function(t,e){return void 0===e?t:e}}var J=function(){this._caches=Object.create(null)};J.prototype.interpolate=function(t,e){if(!e)return[t];var n=this._caches[t];return n||(n=X(t),this._caches[t]=n),Z(n,e)};var K=/^(?:\d)+/,G=/^(?:\w)+/;function X(t){var e=[],n=0,r="";while(n<t.length){var i=t[n++];if("{"===i){r&&e.push({type:"text",value:r}),r="";var o="";i=t[n++];while(void 0!==i&&"}"!==i)o+=i,i=t[n++];var a="}"===i,s=K.test(o)?"list":a&&G.test(o)?"named":"unknown";e.push({value:o,type:s})}else"%"===i?"{"!==t[n]&&(r+=i):r+=i}return r&&e.push({type:"text",value:r}),e}function Z(t,e){var n=[],r=0,i=Array.isArray(e)?"list":c(e)?"named":"unknown";if("unknown"===i)return n;while(r<t.length){var o=t[r];switch(o.type){case"text":n.push(o.value);break;case"list":n.push(e[parseInt(o.value,10)]);break;case"named":"named"===i&&n.push(e[o.value]);break;case"unknown":0;break}r++}return n}var Y=0,Q=1,tt=2,et=3,nt=0,rt=1,it=2,ot=3,at=4,st=5,ct=6,ut=7,lt=8,ft=[];ft[nt]={ws:[nt],ident:[ot,Y],"[":[at],eof:[ut]},ft[rt]={ws:[rt],".":[it],"[":[at],eof:[ut]},ft[it]={ws:[it],ident:[ot,Y],0:[ot,Y],number:[ot,Y]},ft[ot]={ident:[ot,Y],0:[ot,Y],number:[ot,Y],ws:[rt,Q],".":[it,Q],"[":[at,Q],eof:[ut,Q]},ft[at]={"'":[st,Y],'"':[ct,Y],"[":[at,tt],"]":[rt,et],eof:lt,else:[at,Y]},ft[st]={"'":[at,Y],eof:lt,else:[st,Y]},ft[ct]={'"':[at,Y],eof:lt,else:[ct,Y]};var pt=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function ht(t){return pt.test(t)}function dt(t){var e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e!==n||34!==e&&39!==e?t:t.slice(1,-1)}function vt(t){if(void 0===t||null===t)return"eof";var e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:return t;case 95:case 36:case 45:return"ident";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return"ident"}function mt(t){var e=t.trim();return("0"!==t.charAt(0)||!isNaN(t))&&(ht(e)?dt(e):"*"+e)}function yt(t){var e,n,r,i,o,a,s,c=[],u=-1,l=nt,f=0,p=[];function h(){var e=t[u+1];if(l===st&&"'"===e||l===ct&&'"'===e)return u++,r="\\"+e,p[Y](),!0}p[Q]=function(){void 0!==n&&(c.push(n),n=void 0)},p[Y]=function(){void 0===n?n=r:n+=r},p[tt]=function(){p[Y](),f++},p[et]=function(){if(f>0)f--,l=at,p[Y]();else{if(f=0,void 0===n)return!1;if(n=mt(n),!1===n)return!1;p[Q]()}};while(null!==l)if(u++,e=t[u],"\\"!==e||!h()){if(i=vt(e),s=ft[l],o=s[i]||s["else"]||lt,o===lt)return;if(l=o[0],a=p[o[1]],a&&(r=o[2],r=void 0===r?e:r,!1===a()))return;if(l===ut)return c}}var gt=function(){this._cache=Object.create(null)};gt.prototype.parsePath=function(t){var e=this._cache[t];return e||(e=yt(t),e&&(this._cache[t]=e)),e||[]},gt.prototype.getPathValue=function(t,e){if(!c(t))return null;var n=this.parsePath(e);if(0===n.length)return null;var r=n.length,i=t,o=0;while(o<r){var a=i[n[o]];if(void 0===a||null===a)return null;i=a,o++}return i};var _t,bt=/<\/?[\w\s="/.':;#-\/]+>/,wt=/(?:@(?:\.[a-zA-Z]+)?:(?:[\w\-_|./]+|\([\w\-_:|./]+\)))/g,Ct=/^@(?:\.([a-zA-Z]+))?:/,kt=/[()]/g,$t={upper:function(t){return t.toLocaleUpperCase()},lower:function(t){return t.toLocaleLowerCase()},capitalize:function(t){return""+t.charAt(0).toLocaleUpperCase()+t.substr(1)}},xt=new J,At=function(t){var e=this;void 0===t&&(t={}),!D&&"undefined"!==typeof window&&window.Vue&&q(window.Vue);var n=t.locale||"en-US",r=!1!==t.fallbackLocale&&(t.fallbackLocale||"en-US"),i=t.messages||{},o=t.dateTimeFormats||t.datetimeFormats||{},a=t.numberFormats||{};this._vm=null,this._formatter=t.formatter||xt,this._modifiers=t.modifiers||{},this._missing=t.missing||null,this._root=t.root||null,this._sync=void 0===t.sync||!!t.sync,this._fallbackRoot=void 0===t.fallbackRoot||!!t.fallbackRoot,this._fallbackRootWithEmptyString=void 0===t.fallbackRootWithEmptyString||!!t.fallbackRootWithEmptyString,this._formatFallbackMessages=void 0!==t.formatFallbackMessages&&!!t.formatFallbackMessages,this._silentTranslationWarn=void 0!==t.silentTranslationWarn&&t.silentTranslationWarn,this._silentFallbackWarn=void 0!==t.silentFallbackWarn&&!!t.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new gt,this._dataListeners=new Set,this._componentInstanceCreatedListener=t.componentInstanceCreatedListener||null,this._preserveDirectiveContent=void 0!==t.preserveDirectiveContent&&!!t.preserveDirectiveContent,this.pluralizationRules=t.pluralizationRules||{},this._warnHtmlInMessage=t.warnHtmlInMessage||"off",this._postTranslation=t.postTranslation||null,this._escapeParameterHtml=t.escapeParameterHtml||!1,"__VUE_I18N_BRIDGE__"in t&&(this.__VUE_I18N_BRIDGE__=t.__VUE_I18N_BRIDGE__),this.getChoiceIndex=function(t,n){var r=Object.getPrototypeOf(e);if(r&&r.getChoiceIndex){var i=r.getChoiceIndex;return i.call(e,t,n)}var o=function(t,e){return t=Math.abs(t),2===e?t?t>1?1:0:1:t?Math.min(t,2):0};return e.locale in e.pluralizationRules?e.pluralizationRules[e.locale].apply(e,[t,n]):o(t,n)},this._exist=function(t,n){return!(!t||!n)&&(!d(e._path.getPathValue(t,n))||!!t[n])},"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||Object.keys(i).forEach((function(t){e._checkLocaleMessage(t,e._warnHtmlInMessage,i[t])})),this._initVM({locale:n,fallbackLocale:r,messages:i,dateTimeFormats:o,numberFormats:a})},Ot={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0},sync:{configurable:!0}};At.prototype._checkLocaleMessage=function(t,e,n){var r=[],i=function(t,e,n,r){if(h(n))Object.keys(n).forEach((function(o){var a=n[o];h(a)?(r.push(o),r.push("."),i(t,e,a,r),r.pop(),r.pop()):(r.push(o),i(t,e,a,r),r.pop())}));else if(s(n))n.forEach((function(n,o){h(n)?(r.push("["+o+"]"),r.push("."),i(t,e,n,r),r.pop(),r.pop()):(r.push("["+o+"]"),i(t,e,n,r),r.pop())}));else if(l(n)){var c=bt.test(n);if(c){var u="Detected HTML in message '"+n+"' of keypath '"+r.join("")+"' at '"+e+"'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp";"warn"===t?o(u):"error"===t&&a(u)}}};i(e,t,n,r)},At.prototype._initVM=function(t){var e=D.config.silent;D.config.silent=!0,this._vm=new D({data:t,__VUE18N__INSTANCE__:!0}),D.config.silent=e},At.prototype.destroyVM=function(){this._vm.$destroy()},At.prototype.subscribeDataChanging=function(t){this._dataListeners.add(t)},At.prototype.unsubscribeDataChanging=function(t){g(this._dataListeners,t)},At.prototype.watchI18nData=function(){var t=this;return this._vm.$watch("$data",(function(){var e=_(t._dataListeners),n=e.length;while(n--)D.nextTick((function(){e[n]&&e[n].$forceUpdate()}))}),{deep:!0})},At.prototype.watchLocale=function(t){if(t){if(!this.__VUE_I18N_BRIDGE__)return null;var e=this,n=this._vm;return this.vm.$watch("locale",(function(r){n.$set(n,"locale",r),e.__VUE_I18N_BRIDGE__&&t&&(t.locale.value=r),n.$forceUpdate()}),{immediate:!0})}if(!this._sync||!this._root)return null;var r=this._vm;return this._root.$i18n.vm.$watch("locale",(function(t){r.$set(r,"locale",t),r.$forceUpdate()}),{immediate:!0})},At.prototype.onComponentInstanceCreated=function(t){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(t,this)},Ot.vm.get=function(){return this._vm},Ot.messages.get=function(){return y(this._getMessages())},Ot.dateTimeFormats.get=function(){return y(this._getDateTimeFormats())},Ot.numberFormats.get=function(){return y(this._getNumberFormats())},Ot.availableLocales.get=function(){return Object.keys(this.messages).sort()},Ot.locale.get=function(){return this._vm.locale},Ot.locale.set=function(t){this._vm.$set(this._vm,"locale",t)},Ot.fallbackLocale.get=function(){return this._vm.fallbackLocale},Ot.fallbackLocale.set=function(t){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",t)},Ot.formatFallbackMessages.get=function(){return this._formatFallbackMessages},Ot.formatFallbackMessages.set=function(t){this._formatFallbackMessages=t},Ot.missing.get=function(){return this._missing},Ot.missing.set=function(t){this._missing=t},Ot.formatter.get=function(){return this._formatter},Ot.formatter.set=function(t){this._formatter=t},Ot.silentTranslationWarn.get=function(){return this._silentTranslationWarn},Ot.silentTranslationWarn.set=function(t){this._silentTranslationWarn=t},Ot.silentFallbackWarn.get=function(){return this._silentFallbackWarn},Ot.silentFallbackWarn.set=function(t){this._silentFallbackWarn=t},Ot.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},Ot.preserveDirectiveContent.set=function(t){this._preserveDirectiveContent=t},Ot.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},Ot.warnHtmlInMessage.set=function(t){var e=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=t,n!==t&&("warn"===t||"error"===t)){var r=this._getMessages();Object.keys(r).forEach((function(t){e._checkLocaleMessage(t,e._warnHtmlInMessage,r[t])}))}},Ot.postTranslation.get=function(){return this._postTranslation},Ot.postTranslation.set=function(t){this._postTranslation=t},Ot.sync.get=function(){return this._sync},Ot.sync.set=function(t){this._sync=t},At.prototype._getMessages=function(){return this._vm.messages},At.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},At.prototype._getNumberFormats=function(){return this._vm.numberFormats},At.prototype._warnDefault=function(t,e,n,r,i,o){if(!d(n))return n;if(this._missing){var a=this._missing.apply(null,[t,e,r,i]);if(l(a))return a}else 0;if(this._formatFallbackMessages){var s=m.apply(void 0,i);return this._render(e,o,s.params,e)}return e},At.prototype._isFallbackRoot=function(t){return(this._fallbackRootWithEmptyString?!t:d(t))&&!d(this._root)&&this._fallbackRoot},At.prototype._isSilentFallbackWarn=function(t){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(t):this._silentFallbackWarn},At.prototype._isSilentFallback=function(t,e){return this._isSilentFallbackWarn(e)&&(this._isFallbackRoot()||t!==this.fallbackLocale)},At.prototype._isSilentTranslationWarn=function(t){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(t):this._silentTranslationWarn},At.prototype._interpolate=function(t,e,n,r,i,o,a){if(!e)return null;var c,u=this._path.getPathValue(e,n);if(s(u)||h(u))return u;if(d(u)){if(!h(e))return null;if(c=e[n],!l(c)&&!v(c))return null}else{if(!l(u)&&!v(u))return null;c=u}return l(c)&&(c.indexOf("@:")>=0||c.indexOf("@.")>=0)&&(c=this._link(t,e,c,r,"raw",o,a)),this._render(c,i,o,n)},At.prototype._link=function(t,e,n,r,i,o,a){var c=n,u=c.match(wt);for(var l in u)if(u.hasOwnProperty(l)){var f=u[l],p=f.match(Ct),h=p[0],d=p[1],v=f.replace(h,"").replace(kt,"");if(b(a,v))return c;a.push(v);var m=this._interpolate(t,e,v,r,"raw"===i?"string":i,"raw"===i?void 0:o,a);if(this._isFallbackRoot(m)){if(!this._root)throw Error("unexpected error");var y=this._root.$i18n;m=y._translate(y._getMessages(),y.locale,y.fallbackLocale,v,r,i,o)}m=this._warnDefault(t,v,m,r,s(o)?o:[o],i),this._modifiers.hasOwnProperty(d)?m=this._modifiers[d](m):$t.hasOwnProperty(d)&&(m=$t[d](m)),a.pop(),c=m?c.replace(f,m):c}return c},At.prototype._createMessageContext=function(t,e,n,r){var i=this,o=s(t)?t:[],a=c(t)?t:{},u=function(t){return o[t]},l=function(t){return a[t]},f=this._getMessages(),p=this.locale;return{list:u,named:l,values:t,formatter:e,path:n,messages:f,locale:p,linked:function(t){return i._interpolate(p,f[p]||{},t,null,r,void 0,[t])}}},At.prototype._render=function(t,e,n,r){if(v(t))return t(this._createMessageContext(n,this._formatter||xt,r,e));var i=this._formatter.interpolate(t,n,r);return i||(i=xt.interpolate(t,n,r)),"string"!==e||l(i)?i:i.join("")},At.prototype._appendItemToChain=function(t,e,n){var r=!1;return b(t,e)||(r=!0,e&&(r="!"!==e[e.length-1],e=e.replace(/!/g,""),t.push(e),n&&n[e]&&(r=n[e]))),r},At.prototype._appendLocaleToChain=function(t,e,n){var r,i=e.split("-");do{var o=i.join("-");r=this._appendItemToChain(t,o,n),i.splice(-1,1)}while(i.length&&!0===r);return r},At.prototype._appendBlockToChain=function(t,e,n){for(var r=!0,i=0;i<e.length&&u(r);i++){var o=e[i];l(o)&&(r=this._appendLocaleToChain(t,o,n))}return r},At.prototype._getLocaleChain=function(t,e){if(""===t)return[];this._localeChainCache||(this._localeChainCache={});var n=this._localeChainCache[t];if(!n){e||(e=this.fallbackLocale),n=[];var r,i=[t];while(s(i))i=this._appendBlockToChain(n,i,e);r=s(e)?e:c(e)?e["default"]?e["default"]:null:e,i=l(r)?[r]:r,i&&this._appendBlockToChain(n,i,null),this._localeChainCache[t]=n}return n},At.prototype._translate=function(t,e,n,r,i,o,a){for(var s,c=this._getLocaleChain(e,n),u=0;u<c.length;u++){var l=c[u];if(s=this._interpolate(l,t[l],r,i,o,a,[r]),!d(s))return s}return null},At.prototype._t=function(t,e,n,r){var i,o=[],a=arguments.length-4;while(a-- >0)o[a]=arguments[a+4];if(!t)return"";var s=m.apply(void 0,o);this._escapeParameterHtml&&(s.params=A(s.params));var c=s.locale||e,u=this._translate(n,c,this.fallbackLocale,t,r,"string",s.params);if(this._isFallbackRoot(u)){if(!this._root)throw Error("unexpected error");return(i=this._root).$t.apply(i,[t].concat(o))}return u=this._warnDefault(c,t,u,r,o,"string"),this._postTranslation&&null!==u&&void 0!==u&&(u=this._postTranslation(u,t)),u},At.prototype.t=function(t){var e,n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];return(e=this)._t.apply(e,[t,this.locale,this._getMessages(),null].concat(n))},At.prototype._i=function(t,e,n,r,i){var o=this._translate(n,e,this.fallbackLocale,t,r,"raw",i);if(this._isFallbackRoot(o)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(t,e,i)}return this._warnDefault(e,t,o,r,[i],"raw")},At.prototype.i=function(t,e,n){return t?(l(e)||(e=this.locale),this._i(t,e,this._getMessages(),null,n)):""},At.prototype._tc=function(t,e,n,r,i){var o,a=[],s=arguments.length-5;while(s-- >0)a[s]=arguments[s+5];if(!t)return"";void 0===i&&(i=1);var c={count:i,n:i},u=m.apply(void 0,a);return u.params=Object.assign(c,u.params),a=null===u.locale?[u.params]:[u.locale,u.params],this.fetchChoice((o=this)._t.apply(o,[t,e,n,r].concat(a)),i)},At.prototype.fetchChoice=function(t,e){if(!t||!l(t))return null;var n=t.split("|");return e=this.getChoiceIndex(e,n.length),n[e]?n[e].trim():t},At.prototype.tc=function(t,e){var n,r=[],i=arguments.length-2;while(i-- >0)r[i]=arguments[i+2];return(n=this)._tc.apply(n,[t,this.locale,this._getMessages(),null,e].concat(r))},At.prototype._te=function(t,e,n){var r=[],i=arguments.length-3;while(i-- >0)r[i]=arguments[i+3];var o=m.apply(void 0,r).locale||e;return this._exist(n[o],t)},At.prototype.te=function(t,e){return this._te(t,this.locale,this._getMessages(),e)},At.prototype.getLocaleMessage=function(t){return y(this._vm.messages[t]||{})},At.prototype.setLocaleMessage=function(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,e)},At.prototype.mergeLocaleMessage=function(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,k("undefined"!==typeof this._vm.messages[t]&&Object.keys(this._vm.messages[t]).length?Object.assign({},this._vm.messages[t]):{},e))},At.prototype.getDateTimeFormat=function(t){return y(this._vm.dateTimeFormats[t]||{})},At.prototype.setDateTimeFormat=function(t,e){this._vm.$set(this._vm.dateTimeFormats,t,e),this._clearDateTimeFormat(t,e)},At.prototype.mergeDateTimeFormat=function(t,e){this._vm.$set(this._vm.dateTimeFormats,t,k(this._vm.dateTimeFormats[t]||{},e)),this._clearDateTimeFormat(t,e)},At.prototype._clearDateTimeFormat=function(t,e){for(var n in e){var r=t+"__"+n;this._dateTimeFormatters.hasOwnProperty(r)&&delete this._dateTimeFormatters[r]}},At.prototype._localizeDateTime=function(t,e,n,r,i,o){for(var a=e,s=r[a],c=this._getLocaleChain(e,n),u=0;u<c.length;u++){var l=c[u];if(s=r[l],a=l,!d(s)&&!d(s[i]))break}if(d(s)||d(s[i]))return null;var f,p=s[i];if(o)f=new Intl.DateTimeFormat(a,Object.assign({},p,o));else{var h=a+"__"+i;f=this._dateTimeFormatters[h],f||(f=this._dateTimeFormatters[h]=new Intl.DateTimeFormat(a,p))}return f.format(t)},At.prototype._d=function(t,e,n,r){if(!n){var i=r?new Intl.DateTimeFormat(e,r):new Intl.DateTimeFormat(e);return i.format(t)}var o=this._localizeDateTime(t,e,this.fallbackLocale,this._getDateTimeFormats(),n,r);if(this._isFallbackRoot(o)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.d(t,n,e)}return o||""},At.prototype.d=function(t){var e=[],n=arguments.length-1;while(n-- >0)e[n]=arguments[n+1];var r=this.locale,o=null,a=null;return 1===e.length?(l(e[0])?o=e[0]:c(e[0])&&(e[0].locale&&(r=e[0].locale),e[0].key&&(o=e[0].key)),a=Object.keys(e[0]).reduce((function(t,n){var r;return b(i,n)?Object.assign({},t,(r={},r[n]=e[0][n],r)):t}),null)):2===e.length&&(l(e[0])&&(o=e[0]),l(e[1])&&(r=e[1])),this._d(t,r,o,a)},At.prototype.getNumberFormat=function(t){return y(this._vm.numberFormats[t]||{})},At.prototype.setNumberFormat=function(t,e){this._vm.$set(this._vm.numberFormats,t,e),this._clearNumberFormat(t,e)},At.prototype.mergeNumberFormat=function(t,e){this._vm.$set(this._vm.numberFormats,t,k(this._vm.numberFormats[t]||{},e)),this._clearNumberFormat(t,e)},At.prototype._clearNumberFormat=function(t,e){for(var n in e){var r=t+"__"+n;this._numberFormatters.hasOwnProperty(r)&&delete this._numberFormatters[r]}},At.prototype._getNumberFormatter=function(t,e,n,r,i,o){for(var a=e,s=r[a],c=this._getLocaleChain(e,n),u=0;u<c.length;u++){var l=c[u];if(s=r[l],a=l,!d(s)&&!d(s[i]))break}if(d(s)||d(s[i]))return null;var f,p=s[i];if(o)f=new Intl.NumberFormat(a,Object.assign({},p,o));else{var h=a+"__"+i;f=this._numberFormatters[h],f||(f=this._numberFormatters[h]=new Intl.NumberFormat(a,p))}return f},At.prototype._n=function(t,e,n,r){if(!At.availabilities.numberFormat)return"";if(!n){var i=r?new Intl.NumberFormat(e,r):new Intl.NumberFormat(e);return i.format(t)}var o=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,r),a=o&&o.format(t);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.n(t,Object.assign({},{key:n,locale:e},r))}return a||""},At.prototype.n=function(t){var e=[],n=arguments.length-1;while(n-- >0)e[n]=arguments[n+1];var i=this.locale,o=null,a=null;return 1===e.length?l(e[0])?o=e[0]:c(e[0])&&(e[0].locale&&(i=e[0].locale),e[0].key&&(o=e[0].key),a=Object.keys(e[0]).reduce((function(t,n){var i;return b(r,n)?Object.assign({},t,(i={},i[n]=e[0][n],i)):t}),null)):2===e.length&&(l(e[0])&&(o=e[0]),l(e[1])&&(i=e[1])),this._n(t,i,o,a)},At.prototype._ntp=function(t,e,n,r){if(!At.availabilities.numberFormat)return[];if(!n){var i=r?new Intl.NumberFormat(e,r):new Intl.NumberFormat(e);return i.formatToParts(t)}var o=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,r),a=o&&o.formatToParts(t);if(this._isFallbackRoot(a)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(t,e,n,r)}return a||[]},Object.defineProperties(At.prototype,Ot),Object.defineProperty(At,"availabilities",{get:function(){if(!_t){var t="undefined"!==typeof Intl;_t={dateTimeFormat:t&&"undefined"!==typeof Intl.DateTimeFormat,numberFormat:t&&"undefined"!==typeof Intl.NumberFormat}}return _t}}),At.install=q,At.version="8.28.2",e["a"]=At},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},e7a5:function(t,e,n){(function(e){(function(e,n){t.exports=n(e)})("undefined"!=typeof e?e:this,(function(t){if(t.CSS&&t.CSS.escape)return t.CSS.escape;var e=function(t){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");var e,n=String(t),r=n.length,i=-1,o="",a=n.charCodeAt(0);while(++i<r)e=n.charCodeAt(i),o+=0!=e?e>=1&&e<=31||127==e||0==i&&e>=48&&e<=57||1==i&&e>=48&&e<=57&&45==a?"\\"+e.toString(16)+" ":(0!=i||1!=r||45!=e)&&(e>=128||45==e||95==e||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)?n.charAt(i):"\\"+n.charAt(i):"�";return o};return t.CSS||(t.CSS={}),t.CSS.escape=e,e}))}).call(this,n("c8ba"))}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/documentation-topic.57e91f8a.js b/document/MixSdk.doccarchive/js/documentation-topic.57e91f8a.js
new file mode 100644 (file)
index 0000000..629d8b6
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["documentation-topic"],{"00f2":function(e,t,n){"use strict";n("2089")},"0b72":function(e,t,n){},"115d":function(e,t,n){"use strict";n("20dd")},1347:function(e,t,n){"use strict";n("367e")},"14d4":function(e,t,n){},"18f4":function(e,t,n){},"1a39":function(e,t,n){"use strict";n("a7e9")},"1e0b":function(e,t,n){"use strict";n("412b")},"1fde":function(e,t,n){},2089:function(e,t,n){},"20dd":function(e,t,n){},"22f6":function(e,t,n){},2482:function(e,t,n){},2521:function(e,t,n){},"252c":function(e,t,n){"use strict";(function(e){function i(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var i=e.indexOf("rv:");return parseInt(e.substring(i+3,e.indexOf(".",i)),10)}var a=e.indexOf("Edge/");return a>0?parseInt(e.substring(a+5,e.indexOf(".",a)),10):-1}n.d(t,"a",(function(){return r}));var a=void 0;function s(){s.init||(s.init=!0,a=-1!==i())}var r={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})},staticRenderFns:[],_scopeId:"data-v-b329ee4c",name:"resize-observer",methods:{compareAndNotify:function(){this._w===this.$el.offsetWidth&&this._h===this.$el.offsetHeight||(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.$emit("notify"))},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!a&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),delete this._resizeObject.onload)}},mounted:function(){var e=this;s(),this.$nextTick((function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight}));var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",a&&this.$el.appendChild(t),t.data="about:blank",a||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()}};function o(e){e.component("resize-observer",r),e.component("ResizeObserver",r)}var l={version:"0.4.5",install:o},c=null;"undefined"!==typeof window?c=window.Vue:"undefined"!==typeof e&&(c=e.Vue),c&&c.use(l)}).call(this,n("c8ba"))},2591:function(e,t,n){"use strict";n("f6d7")},"260a":function(e,t,n){"use strict";n("9a8a")},"264a":function(e,t,n){},2822:function(e,t,n){"use strict";n("2521")},"2c54":function(e,t,n){},"2ca2":function(e,t,n){"use strict";n("98e2")},"2d12":function(e,t,n){"use strict";n("b324")},"2eeb":function(e,t,n){},"2f87":function(e,t,n){"use strict";n("b0a0")},3396:function(e,t,n){"use strict";n("cdce")},"367e":function(e,t,n){},3702:function(e,t,n){},"370f":function(e,t,n){},"374e":function(e,t,n){"use strict";n("0b72")},"37dc":function(e,t,n){},"39d3":function(e,t,n){"use strict";n("2c54")},"3c37":function(e,t,n){},"3d94":function(e,t,n){},"3e80":function(e,t,n){},4125:function(e,t,n){},"412b":function(e,t,n){},"45b2":function(e,t,n){"use strict";n("264a")},"464f":function(e,t,n){},"46c5":function(e,t,n){"use strict";n("dff0")},5079:function(e,t,n){},"509b":function(e,t,n){},"51f2":function(e,t,n){},5208:function(e,t,n){"use strict";n("3d94")},5228:function(e,t,n){},"533e":function(e,t,n){},5561:function(e,t,n){"use strict";n("a2cc")},"5a73":function(e,t,n){"use strict";n("f9c9")},"5c57":function(e,t,n){"use strict";n("f0ff")},"645a":function(e,t,n){},6513:function(e,t,n){},6742:function(e,t,n){},"6a35":function(e,t,n){"use strict";n("d436")},"6ca9":function(e,t,n){"use strict";n("8429")},"6d05":function(e,t,n){"use strict";n("d7f6")},"719b":function(e,t,n){"use strict";n("8b3c")},"72a9":function(e,t,n){"use strict";n("d551")},7309:function(e,t,n){"use strict";n("c227")},"73a8":function(e,t,n){"use strict";n("3c37")},7649:function(e,t,n){"use strict";n("37dc")},"7a2c":function(e,t,n){"use strict";n("c4c1")},8429:function(e,t,n){},"857c":function(e,t,n){"use strict";n("645a")},"85fe":function(e,t,n){"use strict";(function(e){function i(e){return i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function r(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e}function o(e){return l(e)||c(e)||d()}function l(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}function c(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function d(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function u(e){var t;return t="function"===typeof e?{callback:e}:e,t}function h(e,t){var n,i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=function(r){for(var l=arguments.length,c=new Array(l>1?l-1:0),d=1;d<l;d++)c[d-1]=arguments[d];if(a=c,!n||r!==i){var u=s.leading;"function"===typeof u&&(u=u(r,i)),n&&r===i||!u||e.apply(void 0,[r].concat(o(a))),i=r,clearTimeout(n),n=setTimeout((function(){e.apply(void 0,[r].concat(o(a))),n=0}),t)}};return r._clear=function(){clearTimeout(n),n=null},r}function p(e,t){if(e===t)return!0;if("object"===i(e)){for(var n in e)if(!p(e[n],t[n]))return!1;return!0}return!1}n.d(t,"a",(function(){return v}));var g=function(){function e(t,n,i){a(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,i)}return r(e,[{key:"createObserver",value:function(e,t){var n=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=u(e),this.callback=function(e,t){n.options.callback(e,t),e&&n.options.once&&(n.frozen=!0,n.destroyObserver())},this.callback&&this.options.throttle){var i=this.options.throttleOptions||{},a=i.leading;this.callback=h(this.callback,this.options.throttle,{leading:function(e){return"both"===a||"visible"===a&&e||"hidden"===a&&!e}})}this.oldResult=void 0,this.observer=new IntersectionObserver((function(e){var t=e[0];if(e.length>1){var i=e.find((function(e){return e.isIntersecting}));i&&(t=i)}if(n.callback){var a=t.isIntersecting&&t.intersectionRatio>=n.threshold;if(a===n.oldResult)return;n.oldResult=a,n.callback(a,t)}}),this.options.intersection),t.context.$nextTick((function(){n.observer&&n.observer.observe(n.el)}))}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&this.options.intersection.threshold||0}}]),e}();function f(e,t,n){var i=t.value;if(i)if("undefined"===typeof IntersectionObserver)console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var a=new g(e,i,n);e._vue_visibilityState=a}}function m(e,t,n){var i=t.value,a=t.oldValue;if(!p(i,a)){var s=e._vue_visibilityState;i?s?s.createObserver(i,n):f(e,{value:i},n):y(e)}}function y(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var v={bind:f,update:m,unbind:y};function b(e){e.directive("observe-visibility",v)}var T={version:"0.4.6",install:b},S=null;"undefined"!==typeof window?S=window.Vue:"undefined"!==typeof e&&(S=e.Vue),S&&S.use(T)}).call(this,n("c8ba"))},"8b3c":function(e,t,n){},"8e4d":function(e,t,n){"use strict";n("bdc3")},9475:function(e,t,n){"use strict";n("1fde")},"98e2":function(e,t,n){},"9a8a":function(e,t,n){},"9c7e":function(e,t,n){"use strict";n("5228")},"9c92":function(e,t,n){},"9cea":function(e,t,n){"use strict";n("a61f")},"9f0d":function(e,t,n){},"9f11":function(e,t,n){},"9f17":function(e,t,n){"use strict";n("6742")},a2cc:function(e,t,n){},a34a:function(e,t,n){"use strict";n("51f2")},a61f:function(e,t,n){},a7e9:function(e,t,n){},b0a0:function(e,t,n){},b324:function(e,t,n){},b32a:function(e,t,n){"use strict";n("3e80")},b39c:function(e,t,n){"use strict";n("18f4")},b831:function(e,t,n){"use strict";n("533e")},b857:function(e,t,n){"use strict";n("3702")},bdc3:function(e,t,n){},c1f5:function(e,t,n){"use strict";n("f4ae")},c227:function(e,t,n){},c4bc:function(e,t,n){"use strict";n("2eeb")},c4c1:function(e,t,n){},c61f:function(e,t,n){"use strict";n("509b")},c80b:function(e,t,n){"use strict";n("6513")},ca3d:function(e,t,n){"use strict";n("5079")},cb1f:function(e,t,n){"use strict";n("dd53")},cd88:function(e,t,n){},cdce:function(e,t,n){},d1ac:function(e,t,n){"use strict";n("9f11")},d1b4:function(e,t,n){"use strict";n("4125")},d436:function(e,t,n){},d551:function(e,t,n){},d71b:function(e,t,n){"use strict";n("9f0d")},d7f6:function(e,t,n){},dd53:function(e,t,n){},dfa5:function(e,t,n){"use strict";n("2482")},dff0:function(e,t,n){},e47c:function(e,t,n){"use strict";n("cd88")},e508:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return L})),n.d(t,"b",(function(){return M})),n.d(t,"c",(function(){return z}));var i=n("252c"),a=n("85fe"),s=n("ed83"),r=n.n(s),o=n("2b0e"),l={itemsLimit:1e3};const c={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:e=>["vertical","horizontal"].includes(e)},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function d(){return this.items.length&&"object"!==typeof this.items[0]}let u=!1;if("undefined"!==typeof window){u=!1;try{var h=Object.defineProperty({},"passive",{get(){u=!0}});window.addEventListener("test",null,h)}catch(H){}}let p=0;var g={name:"RecycleScroller",components:{ResizeObserver:i["a"]},directives:{ObserveVisibility:a["a"]},props:{...c,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(null===this.itemSize){const e={"-1":{accumulator:0}},t=this.items,n=this.sizeField,i=this.minItemSize;let a,s=1e4,r=0;for(let o=0,l=t.length;o<l;o++)a=t[o][n]||i,a<s&&(s=a),r+=a,e[o]={accumulator:r,size:a};return this.$_computedMinItemSize=s,e}return[]},simpleArray:d},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;"number"===typeof e&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeDestroy(){this.removeListeners()},methods:{addView(e,t,n,i,a){const s={item:n,position:0},r={id:p++,index:t,used:!0,key:i,type:a};return Object.defineProperty(s,"nr",{configurable:!1,value:r}),e.push(s),s},unuseView(e,t=!1){const n=this.$_unusedViews,i=e.nr.type;let a=n.get(i);a||(a=[],n.set(i,a)),a.push(e),t||(e.nr.used=!1,e.position=-9999,this.$_views.delete(e.nr.key))},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){this.$_scrollDirty||(this.$_scrollDirty=!0,requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:e}=this.updateVisibleItems(!1,!0);e||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,100))}))},handleVisibilityChange(e,t){this.ready&&(e||0!==t.boundingClientRect.width||0!==t.boundingClientRect.height?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const n=this.itemSize,i=this.gridItems||1,a=this.itemSecondarySize||n,s=this.$_computedMinItemSize,r=this.typeField,o=this.simpleArray?null:this.keyField,c=this.items,d=c.length,u=this.sizes,h=this.$_views,p=this.$_unusedViews,g=this.pool;let f,m,y,v,b,T;if(d)if(this.$_prerender)f=v=0,m=b=Math.min(this.prerender,c.length),y=null;else{const e=this.getScroll();if(t){let t=e.start-this.$_lastUpdateScrollPosition;if(t<0&&(t=-t),null===n&&t<s||t<n)return{continuous:!0}}this.$_lastUpdateScrollPosition=e.start;const a=this.buffer;e.start-=a,e.end+=a;let r=0;if(this.$refs.before&&(r=this.$refs.before.scrollHeight,e.start-=r),this.$refs.after){const t=this.$refs.after.scrollHeight;e.end+=t}if(null===n){let t,n,i=0,a=d-1,s=~~(d/2);do{n=s,t=u[s].accumulator,t<e.start?i=s:s<d-1&&u[s+1].accumulator>e.start&&(a=s),s=~~((i+a)/2)}while(s!==n);for(s<0&&(s=0),f=s,y=u[d-1].accumulator,m=s;m<d&&u[m].accumulator<e.end;m++);for(-1===m?m=c.length-1:(m++,m>d&&(m=d)),v=f;v<d&&r+u[v].accumulator<e.start;v++);for(b=v;b<d&&r+u[b].accumulator<e.end;b++);}else{f=~~(e.start/n*i);const t=f%i;f-=t,m=Math.ceil(e.end/n*i),v=Math.max(0,Math.floor((e.start-r)/n*i)),b=Math.floor((e.end-r)/n*i),f<0&&(f=0),m>d&&(m=d),v<0&&(v=0),b>d&&(b=d),y=Math.ceil(d/i)*n}}else f=m=v=b=y=0;m-f>l.itemsLimit&&this.itemsLimitError(),this.totalSize=y;const S=f<=this.$_endIndex&&m>=this.$_startIndex;if(this.$_continuous!==S){if(S){h.clear(),p.clear();for(let e=0,t=g.length;e<t;e++)T=g[e],this.unuseView(T)}this.$_continuous=S}else if(S)for(let l=0,x=g.length;l<x;l++)T=g[l],T.nr.used&&(e&&(T.nr.index=c.indexOf(T.item)),(-1===T.nr.index||T.nr.index<f||T.nr.index>=m)&&this.unuseView(T));const _=S?null:new Map;let C,k,w,I;for(let l=f;l<m;l++){C=c[l];const e=o?C[o]:C;if(null==e)throw new Error(`Key is ${e} on item (keyField is '${o}')`);T=h.get(e),n||u[l].size?(T?(T.nr.used=!0,T.item=C):(l===c.length-1&&this.$emit("scroll-end"),0===l&&this.$emit("scroll-start"),k=C[r],w=p.get(k),S?w&&w.length?(T=w.pop(),T.item=C,T.nr.used=!0,T.nr.index=l,T.nr.key=e,T.nr.type=k):T=this.addView(g,l,C,e,k):(I=_.get(k)||0,(!w||I>=w.length)&&(T=this.addView(g,l,C,e,k),this.unuseView(T,!0),w=p.get(k)),T=w[I],T.item=C,T.nr.used=!0,T.nr.index=l,T.nr.key=e,T.nr.type=k,_.set(k,I+1),I++),h.set(e,T)),null===n?(T.position=u[l-1].accumulator,T.offset=0):(T.position=Math.floor(l/i)*n,T.offset=l%i*a)):T&&this.unuseView(T)}return this.$_startIndex=f,this.$_endIndex=m,this.emitUpdate&&this.$emit("update",f,m,v,b),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,300),{continuous:S}},getListenerTarget(){let e=r()(this.$el);return!window.document||e!==window.document.documentElement&&e!==window.document.body||(e=window),e},getScroll(){const{$el:e,direction:t}=this,n="vertical"===t;let i;if(this.pageMode){const t=e.getBoundingClientRect(),a=n?t.height:t.width;let s=-(n?t.top:t.left),r=n?window.innerHeight:window.innerWidth;s<0&&(r+=s,s=0),s+r>a&&(r=a-s),i={start:s,end:s+r}}else i=n?{start:e.scrollTop,end:e.scrollTop+e.clientHeight}:{start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return i},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,!!u&&{passive:!0}),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;t=null===this.itemSize?e>0?this.sizes[e-1].accumulator:0:Math.floor(e/this.gridItems)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t="vertical"===this.direction?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let n,i,a;if(this.pageMode){const s=r()(this.$el),o="HTML"===s.tagName?0:s[t.scroll],l=s.getBoundingClientRect(),c=this.$el.getBoundingClientRect(),d=c[t.start]-l[t.start];n=s,i=t.scroll,a=e+o+d}else n=this.$el,i=t.scroll,a=e;n[i]=a},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};function f(e,t,n,i,a,s,r,o,l,c){"boolean"!==typeof r&&(l=o,o=r,r=!1);const d="function"===typeof n?n.options:n;let u;if(e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,a&&(d.functional=!0)),i&&(d._scopeId=i),s?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(s)},d._ssrRegister=u):t&&(u=r?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,o(e))}),u)if(d.functional){const e=d.render;d.render=function(t,n){return u.call(n),e(t,n)}}else{const e=d.beforeCreate;d.beforeCreate=e?[].concat(e,u):[u]}return n}const m=g;var y=function(){var e,t,n=this,i=n.$createElement,a=n._self._c||i;return a("div",{directives:[{name:"observe-visibility",rawName:"v-observe-visibility",value:n.handleVisibilityChange,expression:"handleVisibilityChange"}],staticClass:"vue-recycle-scroller",class:(e={ready:n.ready,"page-mode":n.pageMode},e["direction-"+n.direction]=!0,e),on:{"&scroll":function(e){return n.handleScroll.apply(null,arguments)}}},[n.$slots.before?a("div",{ref:"before",staticClass:"vue-recycle-scroller__slot"},[n._t("before")],2):n._e(),n._v(" "),a(n.listTag,{ref:"wrapper",tag:"component",staticClass:"vue-recycle-scroller__item-wrapper",class:n.listClass,style:(t={},t["vertical"===n.direction?"minHeight":"minWidth"]=n.totalSize+"px",t)},[n._l(n.pool,(function(e){return a(n.itemTag,n._g({key:e.nr.id,tag:"component",staticClass:"vue-recycle-scroller__item-view",class:[n.itemClass,{hover:!n.skipHover&&n.hoverKey===e.nr.key}],style:n.ready?{transform:"translate"+("vertical"===n.direction?"Y":"X")+"("+e.position+"px) translate"+("vertical"===n.direction?"X":"Y")+"("+e.offset+"px)",width:n.gridItems?("vertical"===n.direction&&n.itemSecondarySize||n.itemSize)+"px":void 0,height:n.gridItems?("horizontal"===n.direction&&n.itemSecondarySize||n.itemSize)+"px":void 0}:null},n.skipHover?{}:{mouseenter:function(){n.hoverKey=e.nr.key},mouseleave:function(){n.hoverKey=null}}),[n._t("default",null,{item:e.item,index:e.nr.index,active:e.nr.used})],2)})),n._v(" "),n._t("empty")],2),n._v(" "),n.$slots.after?a("div",{ref:"after",staticClass:"vue-recycle-scroller__slot"},[n._t("after")],2):n._e(),n._v(" "),a("ResizeObserver",{on:{notify:n.handleResize}})],1)},v=[];y._withStripped=!0;const b=void 0,T=void 0,S=void 0,_=!1,C=f({render:y,staticRenderFns:v},b,m,T,_,S,!1,void 0,void 0,void 0);var k={name:"DynamicScroller",components:{RecycleScroller:C},provide(){return"undefined"!==typeof ResizeObserver&&(this.$_resizeObserver=new ResizeObserver(e=>{requestAnimationFrame(()=>{if(Array.isArray(e))for(const t of e)if(t.target){const e=new CustomEvent("resize",{detail:{contentRect:t.contentRect}});t.target.dispatchEvent(e)}})})),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},inheritAttrs:!1,props:{...c,minItemSize:{type:[Number,String],required:!0}},data(){return{vscrollData:{active:!0,sizes:{},validSizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:d,itemsWithSize(){const e=[],{items:t,keyField:n,simpleArray:i}=this,a=this.vscrollData.sizes,s=t.length;for(let r=0;r<s;r++){const s=t[r],o=i?r:s[n];let l=a[o];"undefined"!==typeof l||this.$_undefinedMap[o]||(l=0),e.push({item:s,id:o,size:l})}return e},listeners(){const e={};for(const t in this.$listeners)"resize"!==t&&"visible"!==t&&(e[t]=this.$listeners[t]);return e}},watch:{items(){this.forceUpdate(!1)},simpleArray:{handler(e){this.vscrollData.simpleArray=e},immediate:!0},direction(e){this.forceUpdate(!0)},itemsWithSize(e,t){const n=this.$el.scrollTop;let i=0,a=0;const s=Math.min(e.length,t.length);for(let o=0;o<s;o++){if(i>=n)break;i+=t[o].size||this.minItemSize,a+=e[o].size||this.minItemSize}const r=a-i;0!==r&&(this.$el.scrollTop+=r)}},beforeCreate(){this.$_updates=[],this.$_undefinedSizes=0,this.$_undefinedMap={}},activated(){this.vscrollData.active=!0},deactivated(){this.vscrollData.active=!1},methods:{onScrollerResize(){const e=this.$refs.scroller;e&&this.forceUpdate(),this.$emit("resize")},onScrollerVisible(){this.$emit("vscroll:update",{force:!1}),this.$emit("visible")},forceUpdate(e=!0){(e||this.simpleArray)&&(this.vscrollData.validSizes={}),this.$emit("vscroll:update",{force:!0})},scrollToItem(e){const t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize(e,t){const n=this.simpleArray?null!=t?t:this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[n]||0},scrollToBottom(){if(this.$_scrollingToBottom)return;this.$_scrollingToBottom=!0;const e=this.$el;this.$nextTick(()=>{e.scrollTop=e.scrollHeight+5e3;const t=()=>{e.scrollTop=e.scrollHeight+5e3,requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight+5e3,0===this.$_undefinedSizes?this.$_scrollingToBottom=!1:requestAnimationFrame(t)})};requestAnimationFrame(t)})}}};const w=k;var I=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RecycleScroller",e._g(e._b({ref:"scroller",attrs:{items:e.itemsWithSize,"min-item-size":e.minItemSize,direction:e.direction,"key-field":"id","list-tag":e.listTag,"item-tag":e.itemTag},on:{resize:e.onScrollerResize,visible:e.onScrollerVisible},scopedSlots:e._u([{key:"default",fn:function(t){var n=t.item,i=t.index,a=t.active;return[e._t("default",null,null,{item:n.item,index:i,active:a,itemWithSize:n})]}}],null,!0)},"RecycleScroller",e.$attrs,!1),e.listeners),[e._v(" "),n("template",{slot:"before"},[e._t("before")],2),e._v(" "),n("template",{slot:"after"},[e._t("after")],2),e._v(" "),n("template",{slot:"empty"},[e._t("empty")],2)],2)},x=[];I._withStripped=!0;const $=void 0,O=void 0,D=void 0,P=!1,L=f({render:I,staticRenderFns:x},$,w,O,P,D,!1,void 0,void 0,void 0);var A={name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},computed:{id(){if(this.vscrollData.simpleArray)return this.index;if(this.item.hasOwnProperty(this.vscrollData.keyField))return this.item[this.vscrollData.keyField];throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`)},size(){return this.vscrollData.validSizes[this.id]&&this.vscrollData.sizes[this.id]||0},finalActive(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id(){this.size||this.onDataUpdate()},finalActive(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created(){if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){for(const e in this.sizeDependencies)this.$watch(()=>this.sizeDependencies[e],this.onDataUpdate);this.vscrollParent.$on("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$on("vscroll:update-size",this.onVscrollUpdateSize)}},mounted(){this.vscrollData.active&&(this.updateSize(),this.observeSize())},beforeDestroy(){this.vscrollParent.$off("vscroll:update",this.onVscrollUpdate),this.vscrollParent.$off("vscroll:update-size",this.onVscrollUpdateSize),this.unobserveSize()},methods:{updateSize(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData(){this.watchData&&!this.vscrollResizeObserver?this.$_watchData=this.$watch("item",()=>{this.onDataUpdate()},{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate({force:e}){!this.finalActive&&e&&(this.$_pendingVScrollUpdate=this.id),this.$_forceNextVScrollUpdate!==this.id&&!e&&this.size||this.updateSize()},onDataUpdate(){this.updateSize()},computeSize(e){this.$nextTick(()=>{if(this.id===e){const e=this.$el.offsetWidth,t=this.$el.offsetHeight;this.applySize(e,t)}this.$_pendingSizeUpdate=null})},applySize(e,t){const n=~~("vertical"===this.vscrollParent.direction?t:e);n&&this.size!==n&&(this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.$set(this.vscrollData.sizes,this.id,n),this.$set(this.vscrollData.validSizes,this.id,!0),this.emitResize&&this.$emit("resize",this.id))},observeSize(){this.vscrollResizeObserver&&this.$el.parentNode&&(this.vscrollResizeObserver.observe(this.$el.parentNode),this.$el.parentNode.addEventListener("resize",this.onResize))},unobserveSize(){this.vscrollResizeObserver&&(this.vscrollResizeObserver.unobserve(this.$el.parentNode),this.$el.parentNode.removeEventListener("resize",this.onResize))},onResize(e){const{width:t,height:n}=e.detail.contentRect;this.applySize(t,n)}},render(e){return e(this.tag,this.$slots.default)}};const N=A,E=void 0,j=void 0,B=void 0,R=void 0,M=f({},E,N,j,R,B,!1,void 0,void 0,void 0);function z({idProp:e=(e=>e.item.id)}={}){const t={},n=new o["default"]({data(){return{store:t}}});return{data(){return{idState:null}},created(){this.$_id=null,this.$_getId="function"===typeof e?()=>e.call(this,this):()=>this[e],this.$watch(this.$_getId,{handler(e){this.$nextTick(()=>{this.$_id=e})},immediate:!0}),this.$_updateIdState()},beforeUpdate(){this.$_updateIdState()},methods:{$_idStateInit(e){const i=this.$options.idState;if("function"===typeof i){const a=i.call(this,this);return n.$set(t,e,a),this.$_id=e,a}throw new Error("[mixin IdState] Missing `idState` function on component definition.")},$_updateIdState(){const n=this.$_getId();null==n&&console.warn(`No id found for IdState with idProp: '${e}'.`),n!==this.$_id&&(t[n]||this.$_idStateInit(n),this.idState=t[n])}}}}function K(e,t){e.component(t+"recycle-scroller",C),e.component(t+"RecycleScroller",C),e.component(t+"dynamic-scroller",L),e.component(t+"DynamicScroller",L),e.component(t+"dynamic-scroller-item",M),e.component(t+"DynamicScrollerItem",M)}const q={version:"1.1.2",install(e,t){const n=Object.assign({},{installComponents:!0,componentsPrefix:""},t);for(const i in n)"undefined"!==typeof n[i]&&(l[i]=n[i]);n.installComponents&&K(e,n.componentsPrefix)}};let F=null;"undefined"!==typeof window?F=window.Vue:"undefined"!==typeof e&&(F=e.Vue),F&&F.use(q)}).call(this,n("c8ba"))},e615:function(e,t,n){"use strict";n("14d4")},e81e:function(e,t,n){"use strict";n("370f")},eb6d:function(e,t,n){"use strict";n("9c92")},ed83:function(e,t,n){var i,a,s;(function(n,r){a=[],i=r,s="function"===typeof i?i.apply(t,a):i,void 0===s||(e.exports=s)})(0,(function(){var e=/(auto|scroll)/,t=function(e,n){return null===e.parentNode?n:t(e.parentNode,n.concat([e]))},n=function(e,t){return getComputedStyle(e,null).getPropertyValue(t)},i=function(e){return n(e,"overflow")+n(e,"overflow-y")+n(e,"overflow-x")},a=function(t){return e.test(i(t))},s=function(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var n=t(e.parentNode,[]),i=0;i<n.length;i+=1)if(a(n[i]))return n[i];return document.scrollingElement||document.documentElement}};return s}))},ede5:function(e,t,n){"use strict";n("f679")},f055:function(e,t,n){"use strict";n("464f")},f0ff:function(e,t,n){},f4ae:function(e,t,n){},f679:function(e,t,n){},f6d7:function(e,t,n){},f7c0:function(e,t,n){"use strict";n("22f6")},f8ac:function(e,t,n){"use strict";n.r(t);var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("CodeTheme",{staticClass:"doc-topic-view"},[e.topicData?[n(e.enableNavigator?"AdjustableSidebarWidth":"StaticContentWidth",e._g(e._b({tag:"component",staticClass:"full-width-container topic-wrapper",scopedSlots:e._u([{key:"aside",fn:function(t){var i=t.scrollLockID,a=t.breakpoint;return[n("NavigatorDataProvider",{ref:"NavigatorDataProvider",attrs:{"interface-language":e.topicProps.interfaceLanguage,technologyUrl:e.technology.url,"api-changes-version":e.store.state.selectedAPIChangesVersion},scopedSlots:e._u([{key:"default",fn:function(t){return[n("div",{staticClass:"doc-topic-aside"},[e.enableQuickNavigation?n("QuickNavigationModal",{attrs:{children:t.flatChildren,showQuickNavigationModal:e.showQuickNavigationModal,technology:e.technology.title},on:{"update:showQuickNavigationModal":function(t){e.showQuickNavigationModal=t},"update:show-quick-navigation-modal":function(t){e.showQuickNavigationModal=t}}}):e._e(),n("transition",{attrs:{name:"delay-hiding"}},[n("Navigator",{directives:[{name:"show",rawName:"v-show",value:e.sidenavVisibleOnMobile||a===e.BreakpointName.large,expression:"sidenavVisibleOnMobile || breakpoint === BreakpointName.large"}],attrs:{flatChildren:t.flatChildren,"parent-topic-identifiers":e.parentTopicIdentifiers,technology:t.technology||e.technology,"is-fetching":t.isFetching,"error-fetching":t.errorFetching,"api-changes":t.apiChanges,references:e.topicProps.references,"navigator-references":t.references,scrollLockID:i,"render-filter-on-top":a!==e.BreakpointName.large},on:{close:function(t){return e.handleToggleSidenav(a)}},scopedSlots:e._u([e.enableQuickNavigation?{key:"filter",fn:function(){return[n("QuickNavigationButton",{nativeOn:{click:function(t){return e.openQuickNavigationModal.apply(null,arguments)}}})]},proxy:!0}:null],null,!0)})],1)],1)]}}],null,!0)})]}}],null,!1,2308467884)},"component",e.sidebarProps,!1),e.sidebarListeners),[n("PortalTarget",{attrs:{name:"modal-destination",multiple:""}}),e.isTargetIDE?e._e():n("Nav",{attrs:{title:e.topicProps.title,diffAvailability:e.topicProps.diffAvailability,interfaceLanguage:e.topicProps.interfaceLanguage,objcPath:e.objcPath,swiftPath:e.swiftPath,parentTopicIdentifiers:e.parentTopicIdentifiers,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,currentTopicTags:e.topicProps.tags,references:e.topicProps.references,displaySidenav:e.enableNavigator,sidenavHiddenOnLarge:e.sidenavHiddenOnLarge},on:{"toggle-sidenav":e.handleToggleSidenav}}),n("Topic",e._b({key:e.topicKey,attrs:{objcPath:e.objcPath,swiftPath:e.swiftPath,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,languagePaths:e.languagePaths,enableOnThisPageNav:e.enableOnThisPageNav,enableMinimized:e.enableMinimized}},"Topic",e.topicProps,!1))],1)]:e._e()],2)},a=[];const s="/";function r(e){return e.replace(/~[0,1]/g,e=>({"~0":"~","~1":"/"}[e]||e))}function*o(e){const t=1;if(e.length<t||e.charAt(0)!==s)return;let n="",i=t;while(i<e.length){const t=e.charAt(i);t===s?(yield r(n),n=""):n+=t,i+=1}yield r(n)}const l=10,c="-",d="object";class u extends Error{constructor(e){super("invalid pointer "+e),this.pointer=e}}function h(e,{length:t}){if(e===c)return t||0;const n=parseInt(e,l);if(!Number.isInteger(n)||n>t)throw new Error("invalid array index "+e);return n}function*p(e,t,n={strict:!1}){let i=e;for(const a of o(t)){if(n.strict&&!Object.prototype.hasOwnProperty.call(i,a))throw new u(t);i=i[a],yield{node:i,token:a}}}function g(e,t){let n=e;for(const{node:i}of p(e,t,{strict:!0}))n=i;return n}function f(e,t,n){let i=null,a=e,s=null;for(const{node:o,token:l}of p(e,t))i=a,a=o,s=l;if(!i)throw new u(t);if(Array.isArray(i))try{const e=h(s,i);i.splice(e,0,n)}catch(r){throw new u(t)}else Object.assign(i,{[s]:n});return e}function m(e,t){let n=null,i=e,a=null;for(const{node:r,token:o}of p(e,t))n=i,i=r,a=o;if(!n)throw new u(t);if(Array.isArray(n))try{const e=h(a,n);n.splice(e,1)}catch(s){throw new u(t)}else{if(!i)throw new u(t);delete n[a]}return e}function y(e,t,n){return m(e,t),f(e,t,n),e}function v(e,t,n){const i=g(e,t);return m(e,t),f(e,n,i),e}function b(e,t,n){return f(e,n,g(e,t)),e}function T(e,t,n){function i(e,t){const n=typeof e,a=typeof t;if(n!==a)return!1;switch(n){case d:{const n=Object.keys(e),a=Object.keys(t);return n.length===a.length&&n.every((n,s)=>n===a[s]&&i(e[n],t[n]))}default:return e===t}}const a=g(e,t);if(!i(n,a))throw new Error("test failed");return e}const S={add:(e,{path:t,value:n})=>f(e,t,n),copy:(e,{from:t,path:n})=>b(e,t,n),move:(e,{from:t,path:n})=>v(e,t,n),remove:(e,{path:t})=>m(e,t),replace:(e,{path:t,value:n})=>y(e,t,n),test:(e,{path:t,value:n})=>T(e,t,n)};function _(e,{op:t,...n}){const i=S[t];if(!i)throw new Error("unknown operation");return i(e,n)}function C(e,t){return t.reduce(_,e)}var k=n("66cd"),w=n("25a9"),I=n("2b88"),x=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"doc-topic",class:{"with-on-this-page":e.enableOnThisPageNav&&e.isOnThisPageNavVisible}},[n(e.isTargetIDE?"div":"main",{tag:"component",staticClass:"main",attrs:{id:"main"}},[n("DocumentationHero",{attrs:{role:e.role,enhanceBackground:e.enhanceBackground,enableMinimized:e.enableMinimized,shortHero:e.shortHero,shouldShowLanguageSwitcher:e.shouldShowLanguageSwitcher,iconOverride:e.references[e.pageIcon],standardColorIdentifier:e.standardColorIdentifier},scopedSlots:e._u([{key:"above-content",fn:function(){return[e._t("above-hero-content")]},proxy:!0}],null,!0)},[e._t("above-title"),e.shouldShowLanguageSwitcher?n("LanguageSwitcher",{attrs:{interfaceLanguage:e.interfaceLanguage,objcPath:e.objcPath,swiftPath:e.swiftPath}}):e._e(),n("Title",{class:{"minimized-title":e.enableMinimized},attrs:{eyebrow:e.enableMinimized?null:e.roleHeading}},[n(e.titleBreakComponent,{tag:"component"},[e._v(e._s(e.title))]),e.isSymbolDeprecated||e.isSymbolBeta?n("small",{class:e.tagName,attrs:{slot:"after","data-tag-name":e.tagName},slot:"after"}):e._e()],1),e.abstract?n("Abstract",{class:{"minimized-abstract":e.enableMinimized},attrs:{content:e.abstract}}):e._e(),e.sampleCodeDownload?n("div",[n("DownloadButton",{staticClass:"sample-download",attrs:{action:e.sampleCodeDownload.action}})],1):e._e(),e.shouldShowAvailability?n("Availability",{attrs:{platforms:e.platforms,technologies:e.technologies}}):e._e(),e.declarations.length?n("div",{staticClass:"declarations-container",class:{"minimized-container":e.enableMinimized}},e._l(e.declarations,(function(t,i){return n("Declaration",{key:i,attrs:{conformance:e.conformance,declarations:t.declarations,source:e.remoteSource}})})),1):e._e()],2),n("div",{staticClass:"doc-content-wrapper"},[n("div",{staticClass:"doc-content",class:{"no-primary-content":!e.hasPrimaryContent&&e.enhanceBackground}},[e.hasPrimaryContent?n("div",{class:["container",{"minimized-container":e.enableMinimized}]},[n("div",{staticClass:"description",class:{"after-enhanced-hero":e.enhanceBackground}},[e.isRequirement?n("RequirementMetadata",{attrs:{defaultImplementationsCount:e.defaultImplementationsCount}}):e._e(),e.deprecationSummary&&e.deprecationSummary.length?n("Aside",{attrs:{kind:"deprecated"}},[n("ContentNode",{attrs:{content:e.deprecationSummary}})],1):e._e(),e.downloadNotAvailableSummary&&e.downloadNotAvailableSummary.length?n("Aside",{attrs:{kind:"note"}},[n("ContentNode",{attrs:{content:e.downloadNotAvailableSummary}})],1):e._e()],1),e.primaryContentSectionsSanitized&&e.primaryContentSectionsSanitized.length?n("PrimaryContent",{class:{"with-border":!e.enhanceBackground},attrs:{conformance:e.conformance,source:e.remoteSource,sections:e.primaryContentSectionsSanitized}}):e._e(),e.shouldShowViewMoreLink?n("ViewMore",{attrs:{url:e.viewMoreLink}}):e._e()],1):e._e(),e.shouldRenderTopicSection?n("Topics",{attrs:{sections:e.topicSections,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,topicStyle:e.topicSectionsStyle}}):e._e(),e.defaultImplementationsSections&&!e.enableMinimized?n("DefaultImplementations",{attrs:{sections:e.defaultImplementationsSections,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta}}):e._e(),e.relationshipsSections&&!e.enableMinimized?n("Relationships",{attrs:{sections:e.relationshipsSections}}):e._e(),e.seeAlsoSections&&!e.enableMinimized?n("SeeAlso",{attrs:{sections:e.seeAlsoSections}}):e._e()],1),e.enableOnThisPageNav?[n("OnThisPageStickyContainer",{directives:[{name:"show",rawName:"v-show",value:e.isOnThisPageNavVisible,expression:"isOnThisPageNavVisible"}]},[e.topicState.onThisPageSections.length>2?n("OnThisPageNav"):e._e()],1)]:e._e()],2),!e.isTargetIDE&&e.hasBetaContent?n("BetaLegalText"):e._e()],1),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"polite"}},[e._v(" "+e._s(e.$t("documentation.current-page",{title:e.pageTitle}))+" ")])],1)},$=[],O=n("8649"),D=n("bf08"),P=n("d26a"),L=n("748c"),A=n("e425"),N=n("e3ab"),E=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"betainfo"},[n("div",{staticClass:"betainfo-container"},[n("GridRow",[n("GridColumn",{attrs:{span:{large:12}}},[n("p",{staticClass:"betainfo-label"},[e._v(e._s(e.$t("metadata.beta.software")))]),n("div",{staticClass:"betainfo-content"},[e._t("content",(function(){return[n("p",[e._v(e._s(e.$t("metadata.beta.legal")))])]}))],2),e._t("after")],2)],1)],1)])},j=[],B=n("0f00"),R=n("620a"),M={name:"BetaLegalText",components:{GridColumn:R["a"],GridRow:B["a"]}},z=M,K=(n("9cea"),n("2877")),q=Object(K["a"])(z,E,j,!1,null,"e8fd2a92",null),F=q.exports,H=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Section",{staticClass:"language",attrs:{role:"complementary","aria-label":e.$t("language")}},[n("Title",[e._v(e._s(e.$t("formats.colon",{content:e.$t("language")})))]),n("div",{staticClass:"language-list"},[n("LanguageSwitcherLink",{staticClass:"language-option swift",class:{active:e.swift.active},attrs:{url:e.swift.active?null:e.swift.url},on:{click:function(t){return e.chooseLanguage(e.swift)}}},[e._v(" "+e._s(e.swift.name)+" ")]),n("LanguageSwitcherLink",{staticClass:"language-option objc",class:{active:e.objc.active},attrs:{url:e.objc.active?null:e.objc.url},on:{click:function(t){return e.chooseLanguage(e.objc)}}},[e._v(" "+e._s(e.objc.name)+" ")])],1)],1)},V=[],W=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.url?n("a",{attrs:{href:e.url},on:{click:function(t){return t.preventDefault(),e.$emit("click")}}},[e._t("default")],2):n("span",[e._t("default")],2)},U=[],G={name:"LanguageSwitcherLink",props:{url:[String,Object]}},Q=G,X=Object(K["a"])(Q,W,U,!1,null,null,null),Y=X.exports,J=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"summary-section"},[e._t("default")],2)},Z=[],ee={name:"Section"},te=ee,ne=(n("1347"),Object(K["a"])(te,J,Z,!1,null,"3aa6f694",null)),ie=ne.exports,ae=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",{staticClass:"title"},[e._t("default")],2)},se=[],re={name:"Title"},oe=re,le=(n("ede5"),Object(K["a"])(oe,ae,se,!1,null,"6796f6ea",null)),ce=le.exports,de={name:"LanguageSwitcher",components:{LanguageSwitcherLink:Y,Section:ie,Title:ce},inject:{isTargetIDE:{default:()=>!1},store:{default(){return{setPreferredLanguage(){}}}}},props:{interfaceLanguage:{type:String,required:!0},objcPath:{type:String,required:!0},swiftPath:{type:String,required:!0}},computed:{objc:({interfaceLanguage:e,objcPath:t,$route:{query:n}})=>({...O["a"].objectiveC,active:O["a"].objectiveC.key.api===e,url:Object(P["b"])(Object(L["d"])(t),{...n,language:O["a"].objectiveC.key.url})}),swift:({interfaceLanguage:e,swiftPath:t,$route:{query:n}})=>({...O["a"].swift,active:O["a"].swift.key.api===e,url:Object(P["b"])(Object(L["d"])(t),{...n,language:void 0})})},methods:{chooseLanguage(e){this.isTargetIDE||this.store.setPreferredLanguage(e.key.url),this.$router.push(e.url)}}},ue=de,he=(n("a34a"),Object(K["a"])(ue,H,V,!1,null,"1a36493d",null)),pe=he.exports,ge=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"view-more-link"},[n("router-link",{staticClass:"base-link",attrs:{to:e.url}},[e._t("default",(function(){return[e._v("View more")]}))],2)],1)},fe=[],me={name:"ViewMore",props:{url:{type:String,required:!0}}},ye=me,ve=(n("2591"),Object(K["a"])(ye,ge,fe,!1,null,"0d14b62a",null)),be=ve.exports,Te=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["documentation-hero",{"documentation-hero--disabled":!e.enhanceBackground,"theme-dark":e.enhanceBackground}],style:e.styles},[n("div",{staticClass:"icon"},[e.enhanceBackground?n("TopicTypeIcon",{key:"first",staticClass:"background-icon first-icon",attrs:{type:e.type,"image-override":e.iconOverride,"with-colors":""}}):e._e()],1),n("div",{staticClass:"documentation-hero__above-content"},[e._t("above-content")],2),n("div",{staticClass:"documentation-hero__content",class:{"short-hero":e.shortHero,"extra-bottom-padding":e.shouldShowLanguageSwitcher,"minimized-hero":e.enableMinimized}},[e._t("default")],2)])},Se=[],_e=n("f12c"),Ce=n("31d4"),ke=n("2cae");const we={red:"red",orange:"orange",yellow:"yellow",blue:"blue",green:"green",purple:"purple",gray:"gray"};var Ie={name:"DocumentationHero",components:{TopicTypeIcon:_e["a"]},props:{role:{type:String,required:!0},enhanceBackground:{type:Boolean,required:!0},enableMinimized:{type:Boolean,default:!1},shortHero:{type:Boolean,required:!0},shouldShowLanguageSwitcher:{type:Boolean,required:!0},iconOverride:{type:Object,required:!1},standardColorIdentifier:{type:String,required:!1,validator:e=>Object.prototype.hasOwnProperty.call(we,e)}},computed:{color:({type:e})=>ke["b"][Ce["a"][e]||e]||ke["a"].teal,styles:({color:e,standardColorIdentifier:t})=>({"--accent-color":`var(--color-documentation-intro-accent, var(--color-type-icon-${e}))`,"--standard-accent-color":t&&`var(--color-standard-${t}-documentation-intro-fill, var(--color-standard-${t}))`}),type:({role:e})=>{switch(e){case k["a"].collection:return Ce["b"].module;case k["a"].collectionGroup:return Ce["b"].collection;default:return e}}}},xe=Ie,$e=(n("c80b"),Object(K["a"])(xe,Te,Se,!1,null,"6540c364",null)),Oe=$e.exports,De=n("7b1f"),Pe=n("12b1"),Le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"OnThisPageNav"},[n("ul",{staticClass:"items"},e._l(e.onThisPageSections,(function(t){return n("li",{key:t.anchor,class:e.getItemClasses(t)},[n("router-link",{staticClass:"base-link",attrs:{to:t.url},nativeOn:{click:function(n){return e.handleFocusAndScroll(t.anchor)}}},[n(e.getWrapperComponent(t),{tag:"component"},[e._v(" "+e._s(e.getTextContent(t))+" ")])],1)],1)})),0)])},Ae=[];function Ne(e,t){let n,i;return function(...a){const s=this;if(!i)return e.apply(s,a),void(i=Date.now());clearTimeout(n),n=setTimeout(()=>{Date.now()-i>=t&&(e.apply(s,a),i=Date.now())},t-(Date.now()-i))}}var Ee=n("3908"),je=n("8a61"),Be={name:"OnThisPageNav",components:{WordBreak:De["a"]},mixins:[je["a"]],inject:{store:{default(){return{state:{onThisPageSections:[],currentPageAnchor:null}}}}},computed:{onThisPageSections:({store:e,$route:t})=>e.state.onThisPageSections.map(e=>({...e,url:Object(P["b"])("#"+e.anchor,t.query)})),currentPageAnchor:({store:e})=>e.state.currentPageAnchor},async mounted(){window.addEventListener("scroll",this.onScroll,!1),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("scroll",this.onScroll)})},watch:{onThisPageSections:{immediate:!0,async handler(){await Object(Ee["b"])(8),this.onScroll()}}},methods:{onScroll:Ne((function(){const e=this.onThisPageSections.length;if(!e)return;const{scrollY:t,innerHeight:n}=window,{scrollHeight:i}=document.body,a=t+n>=i,s=t<=0,r=.3*n+t;if(s||a){const t=s?0:e-1;return void this.store.setCurrentPageSection(this.onThisPageSections[t].anchor)}let o,l,c=null;for(o=0;o<e;o+=1){l=this.onThisPageSections[o];const{offsetTop:e}=document.getElementById(l.anchor);if(!(e<r))break;c=l.anchor}null!==c&&this.store.setCurrentPageSection(c)}),100),checkIsActive(e){return e.anchor===this.currentPageAnchor},getItemClasses(e){return{active:this.checkIsActive(e),"parent-item":e.level<=2,"child-item":3===e.level}},getTextContent(e){return e.i18n?this.$t(e.title):e.title},getWrapperComponent(e){return e.isSymbol?De["a"]:"span"}}},Re=Be,Me=(n("e47c"),Object(K["a"])(Re,Le,Ae,!1,null,"068842ec",null)),ze=Me.exports;const Ke={content:"content",declarations:"declarations",details:"details",parameters:"parameters",possibleValues:"possibleValues",properties:"properties",restBody:"restBody",restCookies:"restCookies",restEndpoint:"restEndpoint",restHeaders:"restHeaders",restParameters:"restParameters",restResponses:"restResponses"};var qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"declaration"},[e.hasModifiedChanges?[n("DeclarationDiff",{class:[e.changeClasses,e.multipleLinesClass],attrs:{changes:e.declarationChanges,changeType:e.changeType}})]:e._l(e.declarations,(function(t,i){return n("DeclarationGroup",{key:i,class:e.changeClasses,attrs:{declaration:t,shouldCaption:e.hasPlatformVariants,changeType:e.changeType}})})),e.source?n("DeclarationSourceLink",{attrs:{url:e.source.url,fileName:e.source.fileName}}):e._e(),e.conformance?n("ConditionalConstraints",{attrs:{constraints:e.conformance.constraints,prefix:e.conformance.availabilityPrefix}}):e._e()],2)},Fe=[],He=n("64cf"),Ve=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"apiChangesDiff",staticClass:"declaration-group",class:e.classes},[e.shouldCaption?n("p",{staticClass:"platforms"},[n("strong",[e._v(e._s(e.caption))])]):e._e(),n("Source",{attrs:{tokens:e.declaration.tokens,language:e.interfaceLanguage}})],1)},We=[],Ue=function(){var e,t=this,n=t.$createElement,i=t._self._c||n;return i("pre",{ref:"declarationGroup",staticClass:"source",class:(e={},e[t.multipleLinesClass]=t.displaysMultipleLines,e["has-multiple-lines"]=t.hasMultipleLines,e)},[i("CodeBlock",{ref:"code"},t._l(t.formattedTokens,(function(e,n){return i("Token",t._b({key:n},"Token",t.propsFor(e),!1))})),1)],1)},Ge=[];function Qe(e){const t=e.getElementsByClassName("token-identifier");if(t.length<2)return;const n=e.textContent.indexOf(":")+1;for(let i=1;i<t.length;i++){const e=t[i].innerHTML.trim(),a=t[i].textContent.trim(),s=a.length,r=Math.max(0,n-s);t[i].innerHTML=`\n${" ".repeat(r)}${e}`}"\n"!==e.innerHTML.charAt(e.innerHTML.length-1)&&(e.innerHTML=e.innerHTML+"\n")}function Xe(e,t){const n=e.innerHTML;try{switch(t){case O["a"].objectiveC.key.api:Qe(e);break}}catch(i){e.innerHTML=n}}var Ye=n("beb1"),Je=n("9055"),Ze=n("6842"),et=n("800b"),tt=n("00b4");const{TokenKind:nt}=tt["a"].constants,it=4;var at={name:"DeclarationSource",data(){return{displaysMultipleLines:!1,multipleLinesClass:Je["a"]}},components:{Token:tt["a"],CodeBlock:et["a"]},props:{tokens:{type:Array,required:!0},language:{type:String,required:!1}},computed:{indentationWidth:()=>Object(Ze["c"])(["theme","code","indentationWidth"],it),formattedTokens:({language:e,formattedSwiftTokens:t,tokens:n})=>e===O["a"].swift.key.api?t:n,formattedSwiftTokens:({indentationWidth:e,tokens:t})=>{const n=" ".repeat(e);let i=!1;const a=[];let s=0,r=null,o=null,l=null,c=null,d=0,u=null;while(s<t.length){const e=t[s],h={...e},p=t[s-1],g=t[s+1];if(u||e.kind!==nt.keyword||(u=s),null!==u){const t=(e.text||"").length;for(let n=0;n<t;n++)if("("===e.text.charAt(n)&&(d+=1,null==o&&(o=n,r=s)),")"===e.text.charAt(n)&&(d-=1,null!==r&&null==l&&0===d)){c=n,l=s;break}}e.kind===nt.text&&0===d&&p&&p.kind===nt.attribute&&g&&g.kind===nt.keyword&&(h.text=e.text.trimEnd()+"\n");const f=({kind:e})=>e===nt.attribute||e===nt.externalParam;e.text&&e.text.endsWith(", ")&&g&&f(g)&&(h.text=`${e.text.trimEnd()}\n${n}`,i=!0),a.push(h),s+=1}if(i&&null!==r){const e=a[r].text;a[r].text=`${e}\n${n}`}if(i&&null!==l){const e=a[l].text,t=e.slice(0,c),n=e.slice(c),i=`${t}\n${n}`;a[l].text=i}return a},hasMultipleLines({formattedTokens:e}){return e.reduce((t,n,i)=>{let a=/\n/g;return i===e.length-1&&(a=/\n(?!$)/g),n.text?t+(n.text.match(a)||[]).length:t},1)>=2}},methods:{propsFor(e){return{kind:e.kind,identifier:e.identifier,text:e.text,tokens:e.tokens}},handleWindowResize(){this.displaysMultipleLines=Object(Ye["a"])(this.$refs.declarationGroup)}},async mounted(){window.addEventListener("resize",this.handleWindowResize),this.language===O["a"].objectiveC.key.api&&(await this.$nextTick(),Xe(this.$refs.code.$el,this.language)),this.handleWindowResize()},beforeDestroy(){window.removeEventListener("resize",this.handleWindowResize)}},st=at,rt=(n("72a9"),Object(K["a"])(st,Ue,Ge,!1,null,"d22a3f50",null)),ot=rt.exports,lt=n("5d59"),ct={name:"DeclarationGroup",components:{Source:ot},mixins:[lt["a"]],inject:{languages:{default:()=>new Set},interfaceLanguage:{default:()=>O["a"].swift.key.api},symbolKind:{default:()=>{}}},props:{declaration:{type:Object,required:!0},shouldCaption:{type:Boolean,default:!1},changeType:{type:String,required:!1}},computed:{classes:({changeType:e,multipleLinesClass:t,displaysMultipleLinesAfterAPIChanges:n})=>({["declaration-group--changed declaration-group--"+e]:e,[t]:n}),caption(){return this.declaration.platforms.join(", ")},isSwift:({interfaceLanguage:e})=>e===O["a"].swift.key.api}},dt=ct,ut=(n("c4bc"),Object(K["a"])(dt,Ve,We,!1,null,"4f51d8d2",null)),ht=ut.exports,pt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"declaration-diff"},[n("div",{staticClass:"declaration-diff-current"},[n("div",{staticClass:"declaration-diff-version"},[e._v("Current")]),e._l(e.currentDeclarations,(function(t,i){return n("DeclarationGroup",{key:i,attrs:{declaration:t,"should-caption":e.currentDeclarations.length>1,changeType:e.changeType}})}))],2),n("div",{staticClass:"declaration-diff-previous"},[n("div",{staticClass:"declaration-diff-version"},[e._v("Previous")]),e._l(e.previousDeclarations,(function(t,i){return n("DeclarationGroup",{key:i,attrs:{declaration:t,"should-caption":e.previousDeclarations.length>1,changeType:e.changeType}})}))],2)])},gt=[],ft={name:"DeclarationDiff",components:{DeclarationGroup:ht},props:{changes:{type:Object,required:!0},changeType:{type:String,required:!0}},computed:{previousDeclarations:({changes:e})=>e.declaration.previous||[],currentDeclarations:({changes:e})=>e.declaration.new||[]}},mt=ft,yt=(n("7a2c"),Object(K["a"])(mt,pt,gt,!1,null,"b3e21c4a",null)),vt=yt.exports,bt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"declaration-source-link",attrs:{href:e.url,title:"Open source file for "+e.fileName,target:"_blank"}},[e.isSwiftFile?n("SwiftFileIcon",{staticClass:"declaration-icon"}):e._e(),n("WordBreak",[e._v(e._s(e.fileName))])],1)},Tt=[],St=n("a88f"),_t={name:"DeclarationSourceLink",components:{WordBreak:De["a"],SwiftFileIcon:St["a"]},props:{url:{type:String,required:!0},fileName:{type:String,required:!0}},computed:{isSwiftFile:({fileName:e})=>e.endsWith(".swift")}},Ct=_t,kt=(n("e615"),Object(K["a"])(Ct,bt,Tt,!1,null,"5863919c",null)),wt=kt.exports,It=n("b5cf"),xt={name:"Declaration",components:{DeclarationDiff:vt,DeclarationGroup:ht,DeclarationSourceLink:wt,ConditionalConstraints:He["a"]},constants:{ChangeTypes:It["c"],multipleLinesClass:Je["a"]},inject:["identifier","store"],data:({store:{state:e}})=>({state:e,multipleLinesClass:Je["a"]}),props:{conformance:{type:Object,required:!1},source:{type:Object,required:!1},declarations:{type:Array,required:!0}},computed:{hasPlatformVariants(){return this.declarations.length>1},hasModifiedChanges({declarationChanges:e}){if(!e||!e.declaration)return!1;const t=e.declaration;return!(!(t.new||[]).length||!(t.previous||[]).length)},declarationChanges:({state:{apiChanges:e},identifier:t})=>e&&e[t],changeType:({declarationChanges:e,hasModifiedChanges:t})=>{if(!e)return;const n=e.declaration;return n?t?It["c"].modified:e.change:e.change===It["c"].added?It["c"].added:void 0},changeClasses:({changeType:e})=>({["changed changed-"+e]:e})}},$t=xt,Ot=(n("39d3"),Object(K["a"])($t,qe,Fe,!1,null,"2ab6251b",null)),Dt=Ot.exports,Pt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentNode",e._b({staticClass:"abstract"},"ContentNode",e.$props,!1))},Lt=[],At=n("6359"),Nt={name:"Abstract",components:{ContentNode:At["a"]},props:At["a"].props},Et=Nt,jt=(n("374e"),Object(K["a"])(Et,Pt,Lt,!1,null,"702ec04e",null)),Bt=jt.exports,Rt=n("c081"),Mt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TopicsTable",{attrs:{anchor:e.contentSectionData.anchor,title:e.$t(e.contentSectionData.title),isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,sections:e.sections,wrapTitle:!0}})},zt=[];const Kt={topics:{title:"sections.topics",anchor:"topics",level:2},defaultImplementations:{title:"sections.default-implementations",anchor:"default-implementations",level:2},relationships:{title:"sections.relationships",anchor:"relationships",level:2},seeAlso:{title:"sections.see-also",anchor:"see-also",level:2}},qt={[Ke.details]:{title:"sections.details",anchor:"details",level:2},[Ke.parameters]:{title:"sections.parameters",anchor:"parameters",level:2},[Ke.possibleValues]:{title:"sections.possible-values",anchor:"possibleValues",level:2}};var Ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentTable",{attrs:{anchor:e.anchor,title:e.title}},e._l(e.sectionsWithTopics,(function(t,i){return n("ContentTableSection",{key:t.title+"_"+i,class:{"no-title":!t.title},attrs:{title:t.title,anchor:t.anchor},scopedSlots:e._u([t.title&&e.wrapTitle?{key:"title",fn:function(i){var a=i.className;return[n("LinkableHeading",{class:a,attrs:{level:3,anchor:t.anchor}},[n("WordBreak",[e._v(e._s(t.title))])],1)]}}:null],null,!0)},[t.abstract?n("template",{slot:"abstract"},[n("ContentNode",{attrs:{content:t.abstract}})],1):e._e(),t.discussion?n("template",{slot:"discussion"},[n("ContentNode",{attrs:{content:t.discussion.content}})],1):e._e(),e.shouldRenderList?e._l(t.topics,(function(t){return n("TopicsLinkBlock",{key:t.identifier,staticClass:"topic",attrs:{topic:t,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta}})})):n("TopicsLinkCardGrid",{staticClass:"topic",attrs:{items:t.topics,topicStyle:e.topicStyle}})],2)})),1)},Ht=[],Vt=n("70fb"),Wt=n("5dcc"),Ut=n("2f34"),Gt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"contenttable alt-light"},[n("div",{staticClass:"container"},[n("LinkableHeading",{staticClass:"title",attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),e._t("default")],2)])},Qt=[],Xt={name:"ContentTable",components:{LinkableHeading:Wt["a"]},props:{anchor:{type:String,required:!0},title:{type:String,required:!0}}},Yt=Xt,Jt=(n("e81e"),Object(K["a"])(Yt,Gt,Qt,!1,null,"6e075935",null)),Zt=Jt.exports,en=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"contenttable-section"},[n("div",{staticClass:"section-title"},[e._t("title",(function(){return[e.title?n("LinkableHeading",{class:e.className,attrs:{level:3,anchor:e.anchorComputed}},[e._v(e._s(e.title))]):e._e()]}),{className:e.className})],2),n("div",{staticClass:"section-content"},[e._t("abstract"),e._t("discussion"),e._t("default")],2)])},tn=[],nn=n("002d");const an="contenttable-title";var sn={name:"ContentTableSection",components:{LinkableHeading:Wt["a"]},props:{title:{type:String,required:!1},anchor:{type:String,default:null}},computed:{anchorComputed:({title:e,anchor:t})=>t||Object(nn["a"])(e||""),className:()=>an}},rn=sn,on=(n("46c5"),Object(K["a"])(rn,en,tn,!1,null,"4aae1079",null)),ln=on.exports,cn=n("2a18"),dn={name:"TopicsTable",mixins:[Ut["a"]],components:{TopicsLinkCardGrid:Vt["a"],WordBreak:De["a"],ContentTable:Zt,TopicsLinkBlock:cn["default"],ContentNode:At["a"],ContentTableSection:ln,LinkableHeading:Wt["a"]},props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,sections:{type:Array,required:!0},title:{type:String,required:!1,default(){return"Topics"}},anchor:{type:String,required:!1,default(){return"topics"}},wrapTitle:{type:Boolean,default:!1},topicStyle:{type:String,default:Pe["a"].list}},computed:{shouldRenderList:({topicStyle:e})=>e===Pe["a"].list,sectionsWithTopics(){return this.sections.map(e=>({...e,topics:e.identifiers.reduce((e,t)=>this.references[t]?e.concat(this.references[t]):e,[])}))}}},un=dn,hn=(n("00f2"),Object(K["a"])(un,Ft,Ht,!1,null,"3ccf02e9",null)),pn=hn.exports,gn={name:"DefaultImplementations",components:{TopicsTable:pn},computed:{contentSectionData:()=>Kt.defaultImplementations},props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,sections:pn.props.sections}},fn=gn,mn=Object(K["a"])(fn,Mt,zt,!1,null,null,null),yn=mn.exports,vn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"primary-content"},e._l(e.sections,(function(t,i){return n(e.componentFor(t),e._b({key:i,tag:"component"},"component",e.propsFor(t),!1))})),1)},bn=[],Tn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.contentSectionData.anchor}},[e._v(" "+e._s(e.$t(e.contentSectionData.title))+" ")]),n("dl",{staticClass:"datalist"},[e._l(e.values,(function(t){return[n("dt",{key:t.name+":name",staticClass:"param-name"},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(t.name))])],1),t.content?n("dd",{key:t.name+":content",staticClass:"value-content"},[n("ContentNode",{attrs:{content:t.content}})],1):e._e()]}))],2)],1)},Sn=[],_n=n("5677"),Cn={name:"PossibleValues",components:{ContentNode:_n["default"],LinkableHeading:Wt["a"],WordBreak:De["a"]},props:{values:{type:Array,required:!0}},computed:{contentSectionData:()=>qt[Ke.possibleValues]}},kn=Cn,wn=(n("719b"),Object(K["a"])(kn,Tn,Sn,!1,null,null,null)),In=wn.exports,xn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("DeclarationSource",{attrs:{tokens:e.tokens}})],1)},$n=[],On={name:"RestEndpoint",components:{DeclarationSource:ot,LinkableHeading:Wt["a"]},props:{title:{type:String,required:!0},tokens:{type:Array,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e)}},Dn=On,Pn=Object(K["a"])(Dn,xn,$n,!1,null,null,null),Ln=Pn.exports,An=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"details"},[n("LinkableHeading",{attrs:{anchor:e.contentSectionData.anchor}},[e._v(" "+e._s(e.$t(e.contentSectionData.title))+" ")]),n("dl",[e.isSymbol?[n("dt",{key:e.details.name+":name",staticClass:"detail-type"},[e._v(" "+e._s(e.$t("metadata.details.name"))+" ")]),n("dd",{key:e.details.ideTitle+":content",staticClass:"detail-content"},[e._v(" "+e._s(e.details.ideTitle)+" ")])]:e._e(),e.isTitle?[n("dt",{key:e.details.name+":key",staticClass:"detail-type"},[e._v(" "+e._s(e.$t("metadata.details.key"))+" ")]),n("dd",{key:e.details.ideTitle+":content",staticClass:"detail-content"},[e._v(" "+e._s(e.details.name)+" ")])]:e._e(),n("dt",{key:e.details.name+":type",staticClass:"detail-type"},[e._v(" "+e._s(e.$t("metadata.details.type"))+" ")]),n("dd",{staticClass:"detail-content"},[n("PropertyListKeyType",{attrs:{types:e.details.value}})],1)],2)],1)},Nn=[],En=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"type"},[e._v(e._s(e.typeOutput))])},jn=[],Bn={name:"PropertyListKeyType",props:{types:{type:Array,required:!0}},computed:{englishTypes(){return this.types.map(({arrayMode:e,baseType:t="*"})=>e?"array of "+this.pluralizeKeyType(t):t)},typeOutput(){return this.englishTypes.length>2?[this.englishTypes.slice(0,this.englishTypes.length-1).join(", "),this.englishTypes[this.englishTypes.length-1]].join(", or "):this.englishTypes.join(" or ")}},methods:{pluralizeKeyType(e){switch(e){case"dictionary":return"dictionaries";case"array":case"number":case"string":return e+"s";default:return e}}}},Rn=Bn,Mn=(n("f7c0"),Object(K["a"])(Rn,En,jn,!1,null,"791bac44",null)),zn=Mn.exports,Kn={name:"PropertyListKeyDetails",components:{PropertyListKeyType:zn,LinkableHeading:Wt["a"]},props:{details:{type:Object,required:!0}},computed:{contentSectionData:()=>qt[Ke.details],isTitle(){return"title"===this.details.titleStyle&&this.details.ideTitle},isSymbol(){return"symbol"===this.details.titleStyle&&this.details.ideTitle}}},qn=Kn,Fn=(n("45b2"),Object(K["a"])(qn,An,Nn,!1,null,"d66cd00c",null)),Hn=Fn.exports,Vn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"parameters"},[n("LinkableHeading",{attrs:{anchor:e.contentSectionData.anchor}},[e._v(" "+e._s(e.$t(e.contentSectionData.title))+" ")]),n("dl",[e._l(e.parameters,(function(t){return[n("dt",{key:t.name+":name",staticClass:"param-name"},[n("code",[e._v(e._s(t.name))])]),n("dd",{key:t.name+":content",staticClass:"param-content"},[n("ContentNode",{attrs:{content:t.content}})],1)]}))],2)],1)},Wn=[],Un={name:"Parameters",components:{ContentNode:At["a"],LinkableHeading:Wt["a"]},props:{parameters:{type:Array,required:!0}},computed:{contentSectionData:()=>qt[Ke.parameters]}},Gn=Un,Qn=(n("1a39"),Object(K["a"])(Gn,Vn,Wn,!1,null,"53cac581",null)),Xn=Qn.exports,Yn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("ParametersTable",{staticClass:"property-table",attrs:{parameters:e.properties,changes:e.propertyChanges},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.name,a=t.type,s=t.content,r=t.changes,o=t.deprecated;return[n("div",{staticClass:"property-name",class:{deprecated:o}},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(i))])],1),e.shouldShiftType({name:i,content:s})?e._e():n("PossiblyChangedType",{attrs:{type:a,changes:r.type}})]}},{key:"description",fn:function(t){var i=t.name,a=t.type,s=t.attributes,r=t.content,o=t.required,l=t.changes,c=t.deprecated,d=t.readOnly;return[e.shouldShiftType({name:i,content:r})?n("PossiblyChangedType",{attrs:{type:a,changes:l.type}}):e._e(),c?[n("Badge",{staticClass:"property-deprecated",attrs:{variant:"deprecated"}}),e._v("  ")]:e._e(),n("PossiblyChangedTextAttribute",{attrs:{changes:l.required,value:o}},[e._v(" "+e._s(e.$t("formats.parenthesis",{content:e.$t("required")}))+" ")]),n("PossiblyChangedTextAttribute",{attrs:{changes:l.readOnly,value:d}},[e._v(" "+e._s(e.$t("formats.parenthesis",{content:e.$t("read-only")}))+" ")]),r?n("ContentNode",{attrs:{content:r}}):e._e(),n("ParameterAttributes",{attrs:{attributes:s,changes:l.attributes}})]}}])})],1)},Jn=[],Zn={inject:["identifier","store"],data:({store:{state:e}})=>({state:e}),computed:{apiChanges:({state:{apiChanges:e},identifier:t})=>e&&e[t]}},ei=n("a0fd"),ti=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"parameters-table"},e._l(e.parameters,(function(t){return n("Row",{key:t[e.keyBy],staticClass:"param",class:e.changedClasses(t[e.keyBy])},[n("Column",{staticClass:"param-symbol",attrs:{span:{large:3,small:12}}},[e._t("symbol",null,null,e.getProps(t,e.changes[t[e.keyBy]]))],2),n("Column",{staticClass:"param-content",attrs:{span:{large:9,small:12}}},[e._t("description",null,null,e.getProps(t,e.changes[t[e.keyBy]]))],2)],1)})),1)},ni=[],ii={name:"ParametersTable",components:{Row:B["a"],Column:R["a"]},props:{parameters:{type:Array,required:!0},changes:{type:Object,default:()=>({})},keyBy:{type:String,default:"name"}},methods:{getProps(e,t={}){return{...e,changes:t}},changedClasses(e){const{changes:t}=this,{change:n}=t[e]||{};return{["changed changed-"+n]:n}}}},ai=ii,si=(n("5561"),Object(K["a"])(ai,ti,ni,!1,null,"3f89f723",null)),ri=si.exports,oi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"parameter-attributes"},[e.shouldRender(e.AttributeKind.default)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.default")}))),n("code",[e._v(e._s(i.value))])]}}],null,!1,2998238055)},"ParameterMetaAttribute",{kind:e.AttributeKind.default,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.minimum)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.minimum")}))),n("code",[e._v(e._s(i.value))])]}}],null,!1,859757818)},"ParameterMetaAttribute",{kind:e.AttributeKind.minimum,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.minimumExclusive)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.minimum")}))),n("code",[e._v("> "+e._s(i.value))])]}}],null,!1,770347247)},"ParameterMetaAttribute",{kind:e.AttributeKind.minimumExclusive,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.maximum)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.maximum")}))),n("code",[e._v(e._s(i.value))])]}}],null,!1,1190666532)},"ParameterMetaAttribute",{kind:e.AttributeKind.maximum,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.maximumExclusive)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:i.title||e.$t("parameters.maximum")}))),n("code",[e._v("< "+e._s(i.value))])]}}],null,!1,1156490099)},"ParameterMetaAttribute",{kind:e.AttributeKind.maximumExclusive,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.allowedTypes)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:e.$tc("parameters.possible-types",e.fallbackToValues(i).length)}))),n("code",[e._l(e.fallbackToValues(i),(function(t,a){return[e._l(t,(function(t,s){return[n("DeclarationToken",e._b({key:a+"-"+s},"DeclarationToken",t,!1)),a+1<e.fallbackToValues(i).length?[e._v(", ")]:e._e()]}))]}))],2)]}}],null,!1,387374398)},"ParameterMetaAttribute",{kind:e.AttributeKind.allowedTypes,attributes:e.attributesObject,changes:e.changes},!1)):e._e(),e.shouldRender(e.AttributeKind.allowedValues)?n("ParameterMetaAttribute",e._b({scopedSlots:e._u([{key:"default",fn:function(t){var i=t.attribute;return[e._v(" "+e._s(e.$t("formats.colon",{content:e.$tc("parameters.possible-values",e.fallbackToValues(i).length)}))),n("code",[e._v(e._s(e.fallbackToValues(i).join(", ")))])]}}],null,!1,3308368915)},"ParameterMetaAttribute",{kind:e.AttributeKind.allowedValues,attributes:e.attributesObject,changes:e.changes},!1)):e._e()],1)},li=[],ci=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RenderChanged",{attrs:{value:e.attributes[e.kind],changes:e.changes[e.kind]},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.value;return n("div",{staticClass:"property-metadata"},[e._t("default",null,{attribute:i})],2)}}],null,!0)})},di=[];const ui={added:"change-added",removed:"change-removed"};var hi,pi,gi={name:"RenderChanged",constants:{ChangedClasses:ui},props:{changes:{type:Object,default:()=>({new:null,previous:null})},value:{type:[Object,Array,String,Boolean],default:null},wrapChanges:{type:Boolean,default:!0},renderSingleChange:{type:Boolean,default:!1}},render(e){const{value:t,changes:n={},wrapChanges:i,renderSingleChange:a}=this,{new:s,previous:r}=n,o=(t,n)=>{const a=this.$scopedSlots.default({value:t});return n&&i?e("div",{class:n},[a]):a?a[0]:null};if(s||r){const t=o(s,ui.added),n=o(r,ui.removed);return a?s&&!r?t:n:e("div",{class:"property-changegroup"},[s?t:"",r?n:""])}return o(t)}},fi=gi,mi=Object(K["a"])(fi,hi,pi,!1,null,null,null),yi=mi.exports,vi={name:"ParameterMetaAttribute",components:{RenderChanged:yi},props:{kind:{type:String,required:!0},attributes:{type:Object,required:!0},changes:{type:Object,default:()=>({})}}},bi=vi,Ti=(n("2822"),Object(K["a"])(bi,ci,di,!1,null,"8590589e",null)),Si=Ti.exports;const _i={allowedTypes:"allowedTypes",allowedValues:"allowedValues",default:"default",maximum:"maximum",maximumExclusive:"maximumExclusive",minimum:"minimum",minimumExclusive:"minimumExclusive"};var Ci={name:"ParameterAttributes",components:{ParameterMetaAttribute:Si,DeclarationToken:tt["a"]},constants:{AttributeKind:_i},props:{attributes:{type:Array,default:()=>[]},changes:{type:Object,default:()=>({})}},computed:{AttributeKind:()=>_i,attributesObject:({attributes:e})=>e.reduce((e,t)=>({...e,[t.kind]:t}),{})},methods:{shouldRender(e){return Object.prototype.hasOwnProperty.call(this.attributesObject,e)},fallbackToValues:e=>{const t=e||[];return Array.isArray(t)?t:t.values}}},ki=Ci,wi=Object(K["a"])(ki,oi,li,!1,null,null,null),Ii=wi.exports,xi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RenderChanged",{attrs:{renderSingleChange:"",value:e.value,changes:e.changes},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.value;return i?n("span",{staticClass:"property-text"},[e._t("default")],2):e._e()}}],null,!0)})},$i=[],Oi={name:"PossiblyChangedTextAttribute",components:{RenderChanged:yi},props:{changes:{type:Object,required:!1},value:{type:Boolean,default:!1}}},Di=Oi,Pi=(n("5c57"),Object(K["a"])(Di,xi,$i,!1,null,null,null)),Li=Pi.exports,Ai=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RenderChanged",{attrs:{value:e.type,wrapChanges:!1,changes:e.changes},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.value;return n("DeclarationTokenGroup",{staticClass:"property-metadata property-type",attrs:{type:e.getValues(i)}})}}])})},Ni=[],Ei=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.type&&e.type.length?n("div",[n("code",e._l(e.type,(function(t,i){return n("DeclarationToken",e._b({key:i},"DeclarationToken",t,!1))})),1)]):e._e()},ji=[],Bi={name:"DeclarationTokenGroup",components:{DeclarationToken:tt["a"]},props:{type:{type:Array,default:()=>[],required:!1}}},Ri=Bi,Mi=Object(K["a"])(Ri,Ei,ji,!1,null,null,null),zi=Mi.exports,Ki={name:"PossiblyChangedType",components:{DeclarationTokenGroup:zi,RenderChanged:yi},props:{type:{type:Array,required:!0},changes:{type:Object,required:!1}},methods:{getValues(e){return Array.isArray(e)?e:e.values}}},qi=Ki,Fi=(n("2f87"),Object(K["a"])(qi,Ai,Ni,!1,null,"0a648a1e",null)),Hi=Fi.exports,Vi={name:"PropertyTable",mixins:[Zn],components:{Badge:ei["a"],WordBreak:De["a"],PossiblyChangedTextAttribute:Li,PossiblyChangedType:Hi,ParameterAttributes:Ii,ContentNode:At["a"],ParametersTable:ri,LinkableHeading:Wt["a"]},props:{title:{type:String,required:!0},properties:{type:Array,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e),propertyChanges:({apiChanges:e})=>(e||{}).properties},methods:{shouldShiftType:({content:e=[],name:t})=>!e.length&&t}},Wi=Vi,Ui=(n("d71b"),Object(K["a"])(Wi,Yn,Jn,!1,null,"310f0b2c",null)),Gi=Ui.exports,Qi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("ParametersTable",{attrs:{parameters:[e.bodyParam],changes:e.bodyChanges,keyBy:"key"},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.type,a=t.content,s=t.changes,r=t.name;return[e.shouldShiftType({name:r,content:a})?e._e():n("PossiblyChangedType",{attrs:{type:i,changes:s.type}})]}},{key:"description",fn:function(t){var i=t.name,a=t.content,s=t.mimeType,r=t.type,o=t.changes;return[e.shouldShiftType({name:i,content:a})?n("PossiblyChangedType",{attrs:{type:r,changes:o.type}}):e._e(),a?n("ContentNode",{attrs:{content:a}}):e._e(),s?n("PossiblyChangedMimetype",{attrs:{mimetype:s,changes:o.mimetype,change:o.change}}):e._e()]}}])}),e.parts.length?[n("h3",[e._v(e._s(e.$t("sections.parts")))]),n("ParametersTable",{staticClass:"parts",attrs:{parameters:e.parts,changes:e.partsChanges},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.name,a=t.type,s=t.content,r=t.changes;return[n("div",{staticClass:"part-name"},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(i))])],1),s?n("PossiblyChangedType",{attrs:{type:a,changes:r.type}}):e._e()]}},{key:"description",fn:function(t){var i=t.content,a=t.mimeType,s=t.required,r=t.type,o=t.attributes,l=t.changes,c=t.readOnly;return[n("div",[i?e._e():n("PossiblyChangedType",{attrs:{type:r,changes:l.type}}),n("PossiblyChangedTextAttribute",{attrs:{changes:l.required,value:s}},[e._v("(Required) ")]),n("PossiblyChangedTextAttribute",{attrs:{changes:l.readOnly,value:c}},[e._v("(Read only) ")]),i?n("ContentNode",{attrs:{content:i}}):e._e(),a?n("PossiblyChangedMimetype",{attrs:{mimetype:a,changes:l.mimetype,change:l.change}}):e._e(),n("ParameterAttributes",{attrs:{attributes:o,changes:l.attributes}})],1)]}}],null,!1,1779956822)})]:e._e()],2)},Xi=[],Yi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("RenderChanged",{attrs:{changes:e.changeValues,value:e.mimetype},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.value;return n("div",{staticClass:"response-mimetype"},[e._v(" "+e._s(e.$t("content-type",{value:i}))+" ")])}}])})},Ji=[],Zi={name:"PossiblyChangedMimetype",components:{RenderChanged:yi},props:{mimetype:{type:String,required:!0},changes:{type:[Object,String],required:!1},change:{type:String,required:!1}},computed:{changeValues({change:e,changes:t}){return e===It["c"].modified&&"string"!==typeof t?t:void 0}}},ea=Zi,ta=(n("d1ac"),Object(K["a"])(ea,Yi,Ji,!1,null,"20293786",null)),na=ta.exports;const ia="restRequestBody";var aa={name:"RestBody",mixins:[Zn],components:{PossiblyChangedMimetype:na,PossiblyChangedTextAttribute:Li,PossiblyChangedType:Hi,WordBreak:De["a"],ParameterAttributes:Ii,ContentNode:At["a"],ParametersTable:ri,LinkableHeading:Wt["a"]},constants:{ChangesKey:ia},props:{bodyContentType:{type:Array,required:!0},content:{type:Array},mimeType:{type:String,required:!0},parts:{type:Array,default:()=>[]},title:{type:String,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e),bodyParam:({bodyContentType:e,content:t,mimeType:n})=>({key:ia,content:t,mimeType:n,type:e}),bodyChanges:({apiChanges:e})=>e||{},partsChanges:({bodyChanges:e})=>(e[ia]||{}).parts},methods:{shouldShiftType:({content:e=[],name:t})=>!e.length&&t}},sa=aa,ra=(n("6a35"),Object(K["a"])(sa,Qi,Xi,!1,null,"021cd63d",null)),oa=ra.exports,la=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("ParametersTable",{attrs:{parameters:e.parameters,changes:e.parameterChanges},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.name,a=t.type,s=t.content,r=t.changes,o=t.deprecated;return[n("div",{staticClass:"param-name",class:{deprecated:o}},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(i))])],1),e.shouldShiftType({content:s,name:i})?e._e():n("PossiblyChangedType",{attrs:{type:a,changes:r.type}})]}},{key:"description",fn:function(t){var i=t.name,a=t.type,s=t.content,r=t.required,o=t.attributes,l=t.changes,c=t.deprecated,d=t.readOnly;return[n("div",[e.shouldShiftType({content:s,name:i})?n("PossiblyChangedType",{attrs:{type:a,changes:l.type}}):e._e(),c?[n("Badge",{staticClass:"param-deprecated",attrs:{variant:"deprecated"}}),e._v("  ")]:e._e(),n("PossiblyChangedTextAttribute",{attrs:{changes:l.required,value:r}},[e._v(" "+e._s(e.$t("formats.parenthesis",{content:e.$t("required")}))+" ")]),n("PossiblyChangedTextAttribute",{attrs:{changes:l.readOnly,value:d}},[e._v(" "+e._s(e.$t("formats.parenthesis",{content:e.$t("read-only")}))+" ")]),s?n("ContentNode",{attrs:{content:s}}):e._e(),n("ParameterAttributes",{attrs:{attributes:o,changes:l}})],2)]}}])})],1)},ca=[],da={name:"RestParameters",mixins:[Zn],components:{Badge:ei["a"],PossiblyChangedType:Hi,PossiblyChangedTextAttribute:Li,ParameterAttributes:Ii,WordBreak:De["a"],ContentNode:At["a"],ParametersTable:ri,LinkableHeading:Wt["a"]},props:{title:{type:String,required:!0},parameters:{type:Array,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e),parameterChanges:({apiChanges:e})=>(e||{}).restParameters},methods:{shouldShiftType:({content:e=[],name:t})=>!e.length&&t}},ua=da,ha=(n("eb6d"),Object(K["a"])(ua,la,ca,!1,null,"03478142",null)),pa=ha.exports,ga=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[n("LinkableHeading",{attrs:{anchor:e.anchor}},[e._v(e._s(e.title))]),n("ParametersTable",{attrs:{parameters:e.responses,changes:e.propertyChanges,"key-by":"status"},scopedSlots:e._u([{key:"symbol",fn:function(t){var i=t.status,a=t.type,s=t.reason,r=t.content,o=t.changes;return[n("div",{staticClass:"response-name"},[n("code",[e._v(" "+e._s(i)+" "),n("span",{staticClass:"reason"},[e._v(e._s(s))])])]),e.shouldShiftType({content:r,reason:s,status:i})?e._e():n("PossiblyChangedType",{attrs:{type:a,changes:o.type}})]}},{key:"description",fn:function(t){var i=t.content,a=t.mimetype,s=t.reason,r=t.type,o=t.status,l=t.changes;return[e.shouldShiftType({content:i,reason:s,status:o})?n("PossiblyChangedType",{attrs:{type:r,changes:l.type}}):e._e(),n("div",{staticClass:"response-reason"},[n("code",[e._v(e._s(s))])]),i?n("ContentNode",{attrs:{content:i}}):e._e(),a?n("PossiblyChangedMimetype",{attrs:{mimetype:a,changes:l.mimetype,change:l.change}}):e._e()]}}])})],1)},fa=[],ma={name:"RestResponses",mixins:[Zn],components:{PossiblyChangedMimetype:na,PossiblyChangedType:Hi,ContentNode:At["a"],ParametersTable:ri,LinkableHeading:Wt["a"]},props:{title:{type:String,required:!0},responses:{type:Array,required:!0}},computed:{anchor:({title:e})=>Object(nn["a"])(e),propertyChanges:({apiChanges:e})=>(e||{}).restResponses},methods:{shouldShiftType:({content:e=[],reason:t,status:n})=>!(e.length||t)&&n}},ya=ma,va=(n("7649"),Object(K["a"])(ya,ga,fa,!1,null,"881189f4",null)),ba=va.exports,Ta={name:"PrimaryContent",components:{ContentNode:At["a"],Parameters:Xn,PropertyListKeyDetails:Hn,PropertyTable:Gi,RestBody:oa,RestEndpoint:Ln,RestParameters:pa,RestResponses:ba,PossibleValues:In},constants:{SectionKind:Ke},props:{sections:{type:Array,required:!0,validator:e=>e.every(({kind:e})=>Object.prototype.hasOwnProperty.call(Ke,e))}},computed:{span(){return{large:9,medium:9,small:12}}},methods:{componentFor(e){return{[Ke.content]:At["a"],[Ke.details]:Hn,[Ke.parameters]:Xn,[Ke.properties]:Gi,[Ke.restBody]:oa,[Ke.restParameters]:pa,[Ke.restHeaders]:pa,[Ke.restCookies]:pa,[Ke.restEndpoint]:Ln,[Ke.restResponses]:ba,[Ke.possibleValues]:In}[e.kind]},propsFor(e){const{bodyContentType:t,content:n,details:i,items:a,kind:s,mimeType:r,parameters:o,title:l,tokens:c,values:d}=e;return{[Ke.content]:{content:n},[Ke.details]:{details:i},[Ke.parameters]:{parameters:o},[Ke.possibleValues]:{values:d},[Ke.properties]:{properties:a,title:l},[Ke.restBody]:{bodyContentType:t,content:n,mimeType:r,parts:o,title:l},[Ke.restCookies]:{parameters:a,title:l},[Ke.restEndpoint]:{tokens:c,title:l},[Ke.restHeaders]:{parameters:a,title:l},[Ke.restParameters]:{parameters:a,title:l},[Ke.restResponses]:{responses:a,title:l}}[s]}}},Sa=Ta,_a=(n("73a8"),Object(K["a"])(Sa,vn,bn,!1,null,"2baae7e0",null)),Ca=_a.exports,ka=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentTable",{attrs:{anchor:e.contentSectionData.anchor,title:e.$t(e.contentSectionData.title)}},e._l(e.sectionsWithSymbols,(function(e){return n("Section",{key:e.type,attrs:{title:e.title,anchor:e.anchor}},[n("List",{attrs:{symbols:e.symbols,type:e.type}})],1)})),1)},wa=[],Ia=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{ref:"apiChangesDiff",staticClass:"relationships-list",class:e.classes},e._l(e.symbols,(function(t){return n("li",{key:t.identifier,staticClass:"relationships-item"},[t.url?n("router-link",{staticClass:"link",attrs:{to:e.buildUrl(t.url,e.$route.query)}},[n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(t.title))])],1):n("WordBreak",{attrs:{tag:"code"}},[e._v(e._s(t.title))]),t.conformance?n("ConditionalConstraints",{attrs:{constraints:t.conformance.constraints,prefix:t.conformance.conformancePrefix}}):e._e()],1)})),0)},xa=[];const $a=3,Oa={conformsTo:"conformance",inheritsFrom:"inheritance",inheritedBy:"inheritedBy"};var Da={name:"RelationshipsList",components:{ConditionalConstraints:He["a"],WordBreak:De["a"]},inject:["store","identifier"],mixins:[lt["b"],lt["a"]],props:{symbols:{type:Array,required:!0},type:{type:String,required:!0}},data(){return{state:this.store.state}},computed:{classes({changeType:e,multipleLinesClass:t,displaysMultipleLinesAfterAPIChanges:n}){return[{inline:this.shouldDisplayInline,column:!this.shouldDisplayInline,["changed changed-"+e]:!!e,[t]:n}]},hasAvailabilityConstraints(){return this.symbols.some(e=>!!(e.conformance||{}).constraints)},changes({identifier:e,state:{apiChanges:t}}){return(t||{})[e]||{}},changeType({changes:e,type:t}){const n=Oa[t];if(e.change!==It["c"].modified)return e.change;const i=e[n];if(!i)return;const a=(e,t)=>e.map((e,n)=>[e,t[n]]),s=a(i.previous,i.new).some(([e,t])=>e.content?0===e.content.length&&t.content.length>0:!!t.content);return s?It["c"].added:It["c"].modified},shouldDisplayInline(){const{hasAvailabilityConstraints:e,symbols:t}=this;return t.length<=$a&&!e}},methods:{buildUrl:P["b"]}},Pa=Da,La=(n("9475"),Object(K["a"])(Pa,Ia,xa,!1,null,"4c67b8c7",null)),Aa=La.exports,Na={name:"Relationships",mixins:[Ut["a"]],components:{ContentTable:Zt,List:Aa,Section:ln},props:{sections:{type:Array,required:!0}},computed:{contentSectionData:()=>Kt.relationships,sectionsWithSymbols(){return this.sections.map(e=>({...e,symbols:e.identifiers.reduce((e,t)=>this.references[t]?e.concat(this.references[t]):e,[])}))}}},Ea=Na,ja=Object(K["a"])(Ea,ka,wa,!1,null,null,null),Ba=ja.exports,Ra=n("e8ea"),Ma=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Section",{staticClass:"availability",attrs:{role:"complementary","aria-label":e.$t("sections.availability")}},[e._l(e.technologies,(function(t){return n("Badge",{key:t,staticClass:"technology"},[n("TechnologyIcon",{staticClass:"tech-icon"}),e._v(" "+e._s(t)+" ")],1)})),e._l(e.platforms,(function(t){return n("Badge",{key:t.name,staticClass:"platform",class:e.changesClassesFor(t.name)},[n("AvailabilityRange",{attrs:{deprecatedAt:t.deprecatedAt,introducedAt:t.introducedAt,platformName:t.name}}),t.deprecatedAt?n("span",{staticClass:"deprecated"},[e._v(" "+e._s(e.$t("aside-kind.deprecated"))+" ")]):t.beta?n("span",{staticClass:"beta"},[e._v(e._s(e.$t("aside-kind.beta")))]):e._e()],1)}))],2)},za=[],Ka=n("3024"),qa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{attrs:{role:"text","aria-label":e.ariaLabel,title:e.description}},[e._v(" "+e._s(e.text)+" ")])},Fa=[],Ha={name:"AvailabilityRange",props:{deprecatedAt:{type:String,required:!1},introducedAt:{type:String,required:!0},platformName:{type:String,required:!0}},computed:{ariaLabel(){const{deprecatedAt:e,description:t,text:n}=this;return[n].concat(e?this.$t("change-type.deprecated"):[]).concat(t).join(", ")},description(){const{deprecatedAt:e,introducedAt:t,platformName:n}=this;return e?this.$t("availability.introduced-and-deprecated",{name:n,introducedAt:t,deprecatedAt:e}):this.$t("availability.available-on",{name:n,introducedAt:t})},text(){const{deprecatedAt:e,introducedAt:t,platformName:n}=this;return e?`${n} ${t}–${e}`:`${n} ${t}+`}}},Va=Ha,Wa=Object(K["a"])(Va,qa,Fa,!1,null,null,null),Ua=Wa.exports,Ga={name:"Availability",mixins:[lt["b"]],inject:["identifier","store"],components:{Badge:ei["a"],AvailabilityRange:Ua,Section:ie,TechnologyIcon:Ka["a"]},props:{platforms:{type:Array,required:!0},technologies:{type:Array,required:!1}},data(){return{state:this.store.state}},methods:{changeFor(e){const{identifier:t,state:{apiChanges:n}}=this,{availability:i={}}=(n||{})[t]||{},a=i[e];if(a)return a.deprecated?It["c"].deprecated:a.introduced&&!a.introduced.previous?It["c"].added:It["c"].modified}}},Qa=Ga,Xa=(n("2d12"),Object(K["a"])(Qa,Ma,za,!1,null,"602d8130",null)),Ya=Xa.exports,Ja=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TopicsTable",{attrs:{anchor:e.contentSectionData.anchor,title:e.$t(e.contentSectionData.title),isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,sections:e.sections}})},Za=[],es={name:"SeeAlso",components:{TopicsTable:pn},props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,sections:pn.props.sections},computed:{contentSectionData:()=>Kt.seeAlso}},ts=es,ns=Object(K["a"])(ts,Ja,Za,!1,null,null,null),is=ns.exports,as=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"topictitle"},[e.eyebrow?n("span",{staticClass:"eyebrow"},[e._v(e._s(e.eyebrow))]):e._e(),n("h1",{staticClass:"title"},[e._t("default"),e._t("after")],2)])},ss=[],rs={name:"Title",props:{eyebrow:{type:String,required:!1}}},os=rs,ls=(n("3396"),Object(K["a"])(os,as,ss,!1,null,"4492c658",null)),cs=ls.exports,ds=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TopicsTable",{attrs:{anchor:e.contentSectionData.anchor,title:e.$t(e.contentSectionData.title),isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,sections:e.sections,topicStyle:e.topicStyle}})},us=[],hs={name:"Topics",components:{TopicsTable:pn},computed:{contentSectionData:()=>Kt.topics},props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,sections:pn.props.sections,topicStyle:{type:String,required:!0,validator:e=>Object.hasOwnProperty.call(Pe["a"],e)}}},ps=hs,gs=Object(K["a"])(ps,ds,us,!1,null,null,null),fs=gs.exports,ms=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"OnThisPageStickyContainer"},[e._t("default")],2)},ys=[],vs={name:"OnThisPageStickyContainer"},bs=vs,Ts=(n("1e0b"),Object(K["a"])(bs,ms,ys,!1,null,"1b6d0048",null)),Ss=Ts.exports;const _s=1050;var Cs={name:"DocumentationTopic",mixins:[D["a"]],constants:{ON_THIS_PAGE_CONTAINER_BREAKPOINT:_s},inject:{isTargetIDE:{default(){return!1}},store:{default(){return{reset(){},state:{}}}}},components:{Declaration:Dt,OnThisPageStickyContainer:Ss,OnThisPageNav:ze,DocumentationHero:Oe,Abstract:Bt,Aside:N["a"],BetaLegalText:F,ContentNode:At["a"],DefaultImplementations:yn,DownloadButton:Rt["a"],LanguageSwitcher:pe,PrimaryContent:Ca,Relationships:Ba,RequirementMetadata:Ra["a"],Availability:Ya,SeeAlso:is,Title:cs,Topics:fs,ViewMore:be,WordBreak:De["a"]},props:{abstract:{type:Array,required:!1},conformance:{type:Object,required:!1},defaultImplementationsSections:{type:Array,required:!1},downloadNotAvailableSummary:{type:Array,required:!1},deprecationSummary:{type:Array,required:!1},diffAvailability:{type:Object,required:!1},modules:{type:Array,required:!1},hasNoExpandedDocumentation:{type:Boolean,required:!1},hierarchy:{type:Object,default:()=>({})},interfaceLanguage:{type:String,required:!0},identifier:{type:String,required:!0},isRequirement:{type:Boolean,default:()=>!1},platforms:{type:Array,required:!1},primaryContentSections:{type:Array,required:!1},references:{type:Object,required:!0},relationshipsSections:{type:Array,required:!1},roleHeading:{type:String,required:!1},title:{type:String,required:!0},topicSections:{type:Array,required:!1},topicSectionsStyle:{type:String,default:Pe["a"].list},sampleCodeDownload:{type:Object,required:!1},seeAlsoSections:{type:Array,required:!1},languagePaths:{type:Object,default:()=>({})},tags:{type:Array,required:!0},objcPath:{type:String,required:!1},swiftPath:{type:String,required:!1},isSymbolDeprecated:{type:Boolean,required:!1},isSymbolBeta:{type:Boolean,required:!1},symbolKind:{type:String,default:""},role:{type:String,default:""},remoteSource:{type:Object,required:!1},pageImages:{type:Array,required:!1},enableMinimized:{type:Boolean,default:!1},enableOnThisPageNav:{type:Boolean,default:!1},disableHeroBackground:{type:Boolean,default:!1},standardColorIdentifier:{type:String,required:!1,validator:e=>Object.prototype.hasOwnProperty.call(we,e)},availableLocales:{type:Array,required:!1}},provide(){return{identifier:this.identifier,languages:new Set(Object.keys(this.languagePaths)),interfaceLanguage:this.interfaceLanguage,symbolKind:this.symbolKind,enableMinimized:this.enableMinimized}},data(){return{topicState:this.store.state}},computed:{normalizedSwiftPath:({swiftPath:e})=>Object(L["d"])(e),normalizedObjcPath:({objcPath:e,swiftPath:t})=>Object(L["d"])(e&&t?Object(P["b"])(e,{language:O["a"].objectiveC.key.url}):e),defaultImplementationsCount(){return(this.defaultImplementationsSections||[]).reduce((e,t)=>e+t.identifiers.length,0)},shouldShowAvailability:({platforms:e,technologies:t,enableMinimized:n})=>((e||[]).length||(t||[]).length)&&!n,hasBetaContent:({platforms:e})=>e&&e.length&&e.some(e=>e.beta),pageTitle:({title:e})=>e,pageDescription:({abstract:e,extractFirstParagraphText:t})=>e?t(e):null,shouldShowLanguageSwitcher:({objcPath:e,swiftPath:t,isTargetIDE:n,enableMinimized:i})=>!!(e&&t&&n)&&!i,enhanceBackground:({symbolKind:e,disableHeroBackground:t,enableMinimized:n})=>!t&&!n&&(!e||"module"===e),shortHero:({roleHeading:e,abstract:t,sampleCodeDownload:n,hasAvailability:i,shouldShowLanguageSwitcher:a,declarations:s})=>!!e+!!t+!!n+!!s.length+!!i+a<=1,technologies({modules:e=[]}){const t=e.reduce((e,t)=>(e.push(t.name),e.concat(t.relatedModules||[])),[]);return t.length>1?t:[]},titleBreakComponent:({enhanceBackground:e})=>e?"span":De["a"],hasPrimaryContent:({isRequirement:e,deprecationSummary:t,downloadNotAvailableSummary:n,primaryContentSectionsSanitized:i,shouldShowViewMoreLink:a})=>e||t&&t.length||n&&n.length||i.length||a,viewMoreLink:({interfaceLanguage:e,normalizedObjcPath:t,normalizedSwiftPath:n})=>e===O["a"].objectiveC.key.api?t:n,shouldShowViewMoreLink:({enableMinimized:e,hasNoExpandedDocumentation:t,viewMoreLink:n})=>e&&!t&&n,tagName(){return this.isSymbolDeprecated?this.$t("aside-kind.deprecated"):this.$t("aside-kind.beta")},pageIcon:({pageImages:e=[]})=>{const t=e.find(({type:e})=>"icon"===e);return t?t.identifier:null},shouldRenderTopicSection:({topicSectionsStyle:e,topicSections:t,enableMinimized:n})=>t&&e!==Pe["a"].hidden&&!n,isOnThisPageNavVisible:({topicState:e})=>e.contentWidth>_s,disableMetadata:({enableMinimized:e})=>e,primaryContentSectionsSanitized({primaryContentSections:e=[]}){return e.filter(({kind:e})=>e!==Ke.declarations)},declarations({primaryContentSections:e=[]}){return e.filter(({kind:e})=>e===Ke.declarations)}},methods:{extractProps(e){const{abstract:t,defaultImplementationsSections:n,deprecationSummary:i,downloadNotAvailableSummary:a,diffAvailability:s,hierarchy:r,identifier:{interfaceLanguage:o,url:l},metadata:{conformance:c,hasNoExpandedDocumentation:d,modules:u,availableLocales:h,platforms:p,required:g=!1,roleHeading:f,title:m="",tags:y=[],role:v,symbolKind:b="",remoteSource:T,images:S=[],color:{standardColorIdentifier:_}={}}={},primaryContentSections:C,relationshipsSections:k,references:w={},sampleCodeDownload:I,topicSectionsStyle:x,topicSections:$,seeAlsoSections:D,variantOverrides:P,variants:L=[]}=e,A=L.reduce((e,t)=>t.traits.reduce((e,n)=>n.interfaceLanguage?{...e,[n.interfaceLanguage]:(e[n.interfaceLanguage]||[]).concat(t.paths)}:e,e),{}),{[O["a"].objectiveC.key.api]:[N]=[],[O["a"].swift.key.api]:[E]=[]}=A;return{abstract:t,conformance:c,defaultImplementationsSections:n,deprecationSummary:i,downloadNotAvailableSummary:a,diffAvailability:s,hasNoExpandedDocumentation:d,availableLocales:h,hierarchy:r,role:v,identifier:l,interfaceLanguage:o,isRequirement:g,modules:u,platforms:p,primaryContentSections:C,relationshipsSections:k,references:w,roleHeading:f,sampleCodeDownload:I,title:m,topicSections:$,topicSectionsStyle:x,seeAlsoSections:D,variantOverrides:P,symbolKind:b,tags:y.slice(0,1),remoteSource:T,pageImages:S,objcPath:N,swiftPath:E,standardColorIdentifier:_}}},created(){if(this.topicState.preferredLanguage===O["a"].objectiveC.key.url&&this.interfaceLanguage!==O["a"].objectiveC.key.api&&this.objcPath&&this.$route.query.language!==O["a"].objectiveC.key.url){const{query:e}=this.$route;this.$nextTick().then(()=>{this.$router.replace({path:Object(L["d"])(this.objcPath),query:{...e,language:O["a"].objectiveC.key.url}})})}A["a"].setAvailableLocales(this.availableLocales||[]),this.store.reset(),this.store.setReferences(this.references)},watch:{references(e){this.store.setReferences(e)},availableLocales(e){A["a"].setAvailableLocales(e)}}},ks=Cs,ws=(n("6d05"),Object(K["a"])(ks,x,$,!1,null,"43c74ad0",null)),Is=ws.exports,xs=n("2b0e");const $s=()=>({[It["c"].modified]:0,[It["c"].added]:0,[It["c"].deprecated]:0});var Os={state:{apiChanges:null,apiChangesCounts:$s(),selectedAPIChangesVersion:null},setAPIChanges(e){this.state.apiChanges=e},setSelectedAPIChangesVersion(e){this.state.selectedAPIChangesVersion=e},resetApiChanges(){this.state.apiChanges=null,this.state.apiChangesCounts=$s()},async updateApiChangesCounts(){await xs["default"].nextTick(),Object.keys(this.state.apiChangesCounts).forEach(e=>{this.state.apiChangesCounts[e]=this.countChangeType(e)})},countChangeType(e){if(document&&document.querySelectorAll){const t=`.changed-${e}:not(.changed-total)`;return document.querySelectorAll(t).length}return 0}},Ds={state:{onThisPageSections:[],currentPageAnchor:null},resetPageSections(){this.state.onThisPageSections=[],this.state.currentPageAnchor=null},addOnThisPageSection(e,{i18n:t=!0}={}){this.state.onThisPageSections.push({...e,i18n:t})},setCurrentPageSection(e){const t=this.state.onThisPageSections.findIndex(({anchor:t})=>t===e);-1!==t&&(this.state.currentPageAnchor=e)}},Ps=n("d369");const{state:Ls,...As}=Os,{state:Ns,...Es}=Ds;var js={state:{preferredLanguage:Ps["a"].preferredLanguage,contentWidth:0,...Ls,...Ns,references:{}},reset(){this.state.preferredLanguage=Ps["a"].preferredLanguage,this.state.references={},this.resetApiChanges()},setPreferredLanguage(e){this.state.preferredLanguage=e,Ps["a"].preferredLanguage=this.state.preferredLanguage},setContentWidth(e){this.state.contentWidth=e},setReferences(e){this.state.references=e},...As,...Es},Bs=n("8590"),Rs=n("66c9"),Ms=n("0caf"),zs=n("146e");const Ks="<root>",qs=32,Fs="navigator-hide-button";function Hs(e){return e.split("").reduce((e,t)=>(e<<5)-e+t.charCodeAt(0)|0,0)}function Vs(e){const t={},n=e.length;for(let i=0;i<n;i+=1)t[e[i].uid]=e[i];return t}function Ws(e,t=null,n=0,i=!1){let a=[];const s=e.length;let r,o=null;for(r=0;r<s;r+=1){const{children:l,...c}=e[r],{uid:d=Ks}=t||{};c.uid=Hs(`${d}+${c.path}_${n}_${r}`),c.parent=d,c.type===Ce["b"].groupMarker?(c.deprecatedChildrenCount=0,o=c):o&&(o.childUIDs.push(c.uid),c.groupMarkerUID=o.uid,c.deprecated&&(o.deprecatedChildrenCount+=1)),c.index=r,c.siblingsCount=s,c.depth=n,c.childUIDs=[],t&&t.childUIDs.push(c.uid),c.beta&&i&&(c.beta=!1),a.push(c),l&&(a=a.concat(Ws(l,c,n+1,i||c.beta)))}return a}function Us(e,t){const n=new Set([]),i=[e];let a=null;while(i.length){a=i.shift();const e=t[a];n.add(e),i.unshift(...e.childUIDs)}return[...n]}function Gs(e,t,n){if(e===Ks)return n.filter(e=>e.parent===Ks);const i=t[e];return i?(i.childUIDs||[]).map(e=>t[e]):[]}function Qs(e,t){const n=[],i=[e];let a=null;while(i.length){a=i.pop();const e=t[a];if(!e)return[];n.unshift(e),e.parent&&e.parent!==Ks&&i.push(e.parent)}return n}function Xs(e,t,n){const i=t[e];return i?Gs(i.parent,t,n):[]}var Ys,Js,Zs={name:"NavigatorDataProvider",props:{interfaceLanguage:{type:String,default:O["a"].swift.key.url},technologyUrl:{type:String,required:!0},apiChangesVersion:{type:String,default:""}},data(){return{isFetching:!1,errorFetching:!1,isFetchingAPIChanges:!1,navigationIndex:{[O["a"].swift.key.url]:[]},navigationReferences:{},diffs:null}},computed:{flatChildren:({technologyWithChildren:e={}})=>Ws(e.children||[],null,0,e.beta),technologyPath:({technologyUrl:e})=>{const t=/(\/documentation\/(?:[^/]+))\/?/.exec(e);return t?t[1]:""},technologyWithChildren({navigationIndex:e,interfaceLanguage:t,technologyPath:n}){let i=e[t]||[];return i.length||(i=e[O["a"].swift.key.url]||[]),i.find(e=>n.toLowerCase()===e.path.toLowerCase())}},methods:{async fetchIndexData(){try{this.isFetching=!0;const{interfaceLanguages:e,references:t}=await Object(w["d"])({slug:this.$route.params.locale||""});this.navigationIndex=Object.freeze(e),this.navigationReferences=Object.freeze(t)}catch(e){this.errorFetching=!0}finally{this.isFetching=!1}}},watch:{"$route.params.locale":{handler:"fetchIndexData",immediate:!0}},render(){return this.$scopedSlots.default({technology:this.technologyWithChildren,isFetching:this.isFetching,errorFetching:this.errorFetching,isFetchingAPIChanges:this.isFetchingAPIChanges,apiChanges:this.diffs,flatChildren:this.flatChildren,references:this.navigationReferences})}},er=Zs,tr=Object(K["a"])(er,Ys,Js,!1,null,null,null),nr=tr.exports,ir=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("button",{staticClass:"quick-navigation-open",attrs:{"aria-label":e.$t("quicknav.button.label"),title:e.$t("quicknav.button.title")}},[e._v(" / ")])},ar=[],sr={name:"QuickNavigationButton"},rr=sr,or=(n("5a73"),Object(K["a"])(rr,ir,ar,!1,null,"53faf852",null)),lr=or.exports,cr=function(){var e,t,n=this,i=n.$createElement,a=n._self._c||i;return a("GenericModal",{attrs:{isFullscreen:"",showClose:!1,visible:n.isVisible,backdropBackgroundColorOverride:"rgba(0, 0, 0, 0.7)"},on:{"update:visible":function(e){n.isVisible=e}}},[a("div",{staticClass:"quick-navigation",on:{keydown:[function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),n.focusNext.apply(null,arguments))},function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),n.focusPrev.apply(null,arguments))},function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:n.handleKeyEnter.apply(null,arguments)}],click:function(e){return e.target!==e.currentTarget?null:n.closeQuickNavigationModal.apply(null,arguments)}}},[a("div",{staticClass:"quick-navigation__container",class:{focus:n.focusedInput}},[a("FilterInput",{staticClass:"quick-navigation__filter",attrs:{placeholder:n.$t("filter.search-symbols",{technology:n.technology}),focusInputWhenCreated:"",focusInputWhenEmpty:"",preventBorderStyle:"",selectInputOnFocus:""},on:{input:function(e){n.focusedIndex=0},focus:function(e){n.focusedInput=!0},blur:function(e){n.focusedInput=!1}},scopedSlots:n._u([{key:"icon",fn:function(){return[a("div",{staticClass:"quick-navigation__magnifier-icon-container",class:{blue:n.userInput.length}},[a("MagnifierIcon")],1)]},proxy:!0}]),model:{value:n.userInput,callback:function(e){n.userInput=e},expression:"userInput"}}),a("div",{staticClass:"quick-navigation__match-list",class:{active:n.processedUserInput.length}},[n.noResultsWereFound?a("div",{staticClass:"no-results"},[a("p",[n._v(" No results found. ")])]):[a("div",n._b({staticClass:"quick-navigation__refs"},"div",(e={},e[n.SCROLL_LOCK_DISABLE_ATTR]=!0,e),!1),n._l(n.filteredSymbols,(function(e,t){return a("Reference",{key:e.uid,staticClass:"quick-navigation__reference",attrs:{url:e.path},nativeOn:{click:function(e){return n.closeQuickNavigationModal.apply(null,arguments)},focus:function(e){return n.focusIndex(t)}}},[a("div",{ref:"match",refInFor:!0,staticClass:"quick-navigation__symbol-match",class:{selected:t==n.focusedIndex},attrs:{role:"list"}},[a("div",{staticClass:"symbol-info"},[a("div",{staticClass:"symbol-name"},[a("TopicTypeIcon",{staticClass:"navigator-icon",attrs:{type:e.type}}),a("div",{staticClass:"symbol-title"},[a("span",{domProps:{textContent:n._s(n.formatSymbolTitle(e.title,0,e.start))}}),a("QuickNavigationHighlighter",{attrs:{text:e.substring,matcherText:n.processedUserInput}}),a("span",{domProps:{textContent:n._s(n.formatSymbolTitle(e.title,e.start+e.matchLength))}})],1)],1),a("div",{staticClass:"symbol-path"},n._l(e.parents,(function(t,i){return a("div",{key:t.title},[a("span",{staticClass:"parent-path",domProps:{textContent:n._s(t.title)}}),i!==e.parents.length-1?a("span",{staticClass:"parent-path",domProps:{textContent:n._s("/")}}):n._e()])})),0)])])])})),1),n.previewState?a("Preview",n._b({staticClass:"quick-navigation__preview",attrs:{json:n.previewJSON,state:n.previewState}},"Preview",(t={},t[n.SCROLL_LOCK_DISABLE_ATTR]=!0,t),!1)):n._e()]],2)],1)])])},dr=[],ur=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"filter",class:{focus:e.showSuggestedTags&&!e.preventBorderStyle},attrs:{role:"search",tabindex:"0","aria-labelledby":e.searchAriaLabelledBy},on:{"!blur":function(t){return e.handleBlur.apply(null,arguments)},"!focus":function(t){return e.handleFocus.apply(null,arguments)}}},[n("div",{class:["filter__wrapper",{"filter__wrapper--reversed":e.positionReversed,"filter__wrapper--no-border-style":e.preventBorderStyle}]},[n("div",{staticClass:"filter__top-wrapper"},[n("button",{staticClass:"filter__filter-button",class:{blue:e.inputIsNotEmpty},attrs:{"aria-hidden":"true",tabindex:"-1"},on:{click:e.focusInput,mousedown:function(e){e.preventDefault()}}},[e._t("icon",(function(){return[n("FilterIcon")]}))],2),n("div",{class:["filter__input-box-wrapper",{scrolling:e.isScrolling}],on:{scroll:e.handleScroll}},[e.hasSelectedTags?n("TagList",e._g(e._b({ref:"selectedTags",staticClass:"filter__selected-tags",attrs:{id:e.SelectedTagsId,input:e.input,tags:e.selectedTags,ariaLabel:e.$tc("filter.selected-tags",e.suggestedTags.length),activeTags:e.activeTags,translatableTags:e.translatableTags,areTagsRemovable:""},on:{"focus-prev":e.handleFocusPrevOnSelectedTags,"focus-next":e.focusInputFromTags,"reset-filters":e.resetFilters,"prevent-blur":function(t){return e.$emit("update:preventedBlur",!0)}}},"TagList",e.virtualKeyboardBind,!1),e.selectedTagsMultipleSelectionListeners)):e._e(),n("label",{staticClass:"filter__input-label",attrs:{id:"filter-label",for:e.FilterInputId,"data-value":e.modelValue,"aria-label":e.placeholder}},[n("input",e._g(e._b({directives:[{name:"model",rawName:"v-model",value:e.modelValue,expression:"modelValue"}],ref:"input",staticClass:"filter__input",attrs:{id:e.FilterInputId,placeholder:e.hasSelectedTags?"":e.placeholder,"aria-expanded":e.displaySuggestedTags?"true":"false",disabled:e.disabled,type:"text"},domProps:{value:e.modelValue},on:{focus:function(t){e.selectInputOnFocus&&e.selectInputAndTags()},keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.downHandler.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.upHandler.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:e.leftKeyInputHandler.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:e.rightKeyInputHandler.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?null:e.deleteHandler.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"a",void 0,t.key,void 0)?null:t.metaKey?(t.preventDefault(),t.stopPropagation(),e.selectInputAndTags.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"a",void 0,t.key,void 0)?null:t.ctrlKey?(t.preventDefault(),e.selectInputAndTags.apply(null,arguments)):null},function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.inputKeydownHandler.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.enterHandler.apply(null,arguments)},function(t){return t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.inputKeydownHandler.apply(null,arguments):null},function(t){return t.shiftKey&&t.metaKey?t.ctrlKey||t.altKey?null:e.inputKeydownHandler.apply(null,arguments):null},function(t){return t.metaKey?t.ctrlKey||t.shiftKey||t.altKey?null:e.assignEventValues.apply(null,arguments):null},function(t){return t.ctrlKey?t.shiftKey||t.altKey||t.metaKey?null:e.assignEventValues.apply(null,arguments):null}],input:function(t){t.target.composing||(e.modelValue=t.target.value)}}},"input",e.AXinputProperties,!1),e.inputMultipleSelectionListeners))])],1),n("div",{staticClass:"filter__delete-button-wrapper"},[e.input.length||e.displaySuggestedTags||e.hasSelectedTags?n("button",{staticClass:"filter__delete-button",attrs:{"aria-label":e.$t("filter.reset-filter")},on:{click:function(t){return e.resetFilters(!0)},keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.stopPropagation(),e.resetFilters(!0))},mousedown:function(e){e.preventDefault()}}},[n("ClearRoundedIcon")],1):e._e()])]),e.displaySuggestedTags?n("TagList",e._b({ref:"suggestedTags",staticClass:"filter__suggested-tags",attrs:{id:e.SuggestedTagsId,ariaLabel:e.$tc("filter.suggested-tags",e.suggestedTags.length),input:e.input,tags:e.suggestedTags,translatableTags:e.translatableTags},on:{"click-tags":function(t){return e.selectTag(t.tagName)},"prevent-blur":function(t){return e.$emit("update:preventedBlur",!0)},"focus-next":function(t){e.positionReversed?e.focusInput():e.$emit("focus-next")},"focus-prev":function(t){e.positionReversed?e.$emit("focus-prev"):e.focusInput()}}},"TagList",e.virtualKeyboardBind,!1)):e._e()],1)])},hr=[],pr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"clear-rounded-icon",attrs:{viewBox:"0 0 16 16",themeId:"clear-rounded"}},[n("title",[e._v(e._s(e.$t("icons.clear")))]),n("path",{attrs:{d:"M14.55,0l1.45,1.45-6.56,6.55,6.54,6.54-1.45,1.45-6.53-6.53L1.47,15.99,.01,14.53l6.52-6.53L0,1.47,1.45,.02l6.55,6.54L14.55,0Z","fill-rule":"evenodd"}})])},gr=[],fr=n("be08"),mr={name:"ClearRoundedIcon",components:{SVGIcon:fr["a"]}},yr=mr,vr=Object(K["a"])(yr,pr,gr,!1,null,null,null),br=vr.exports;function Tr(){if(window.getSelection)try{const{activeElement:e}=document;return e&&e.value?e.value.substring(e.selectionStart,e.selectionEnd):window.getSelection().toString()}catch(e){return""}else if(document.selection&&"Control"!==document.selection.type)return document.selection.createRange().text;return""}function Sr(e){if("number"===typeof e.selectionStart)e.selectionStart=e.selectionEnd=e.value.length;else if("undefined"!==typeof e.createTextRange){e.focus();const t=e.createTextRange();t.collapse(!1),t.select()}}function _r(e){e.selectionStart=e.selectionEnd=0}function Cr(e){return/^[\w\W\s]$/.test(e)}function kr(e){const t=e.match(/<data (?:.*?)id="copy-data"(?:.*?)>(.*)<\/data>/);try{return t?JSON.parse(t[1]):null}catch(n){return null}}function wr(e){return"string"!==typeof e&&(e=JSON.stringify(e)),`<data id="copy-data">${e}</data>`}function Ir(e,t,n,i){let a,s;return function(...r){function o(){clearTimeout(a),a=null}function l(){o(),e.apply(s,r)}if(s=this,!a||!n&&!i){if(!n)return o(),void(a=setTimeout(l,t));a=setTimeout(o,t),e.apply(s,r)}}}const xr=280,$r=100;var Or={data(){return{keyboardIsVirtual:!1,activeTags:[],initTagIndex:null,focusedTagIndex:null,metaKey:!1,shiftKey:!1,tabbing:!1,debouncedHandleDeleteTag:null}},constants:{DebounceDelay:xr,VirtualKeyboardThreshold:$r},computed:{virtualKeyboardBind:({keyboardIsVirtual:e})=>({keyboardIsVirtual:e}),allSelectedTagsAreActive:({selectedTags:e,activeTags:t})=>e.every(e=>t.includes(e))},methods:{selectRangeActiveTags(e=this.focusedTagIndex,t=this.selectedTags.length){this.activeTags=this.selectedTags.slice(e,t)},selectTag(e){this.updateSelectedTags([e]),this.clearFilterOnTagSelect&&this.setFilterInput("")},unselectActiveTags(){this.activeTags.length&&(this.deleteTags(this.activeTags),this.resetActiveTags())},async deleteHandler(e){this.activeTags.length>0&&this.setSelectedTags(this.selectedTags.filter(e=>!this.activeTags.includes(e))),this.inputIsSelected()&&this.allSelectedTagsAreActive?(e.preventDefault(),await this.resetFilters()):0===this.$refs.input.selectionEnd&&this.hasSelectedTags&&(e.preventDefault(),this.keyboardIsVirtual?this.setSelectedTags(this.selectedTags.slice(0,-1)):this.$refs.selectedTags.focusLast()),this.unselectActiveTags()},leftKeyInputHandler(e){if(this.assignEventValues(e),this.hasSelectedTags){if(this.activeTags.length&&!this.shiftKey)return e.preventDefault(),void this.$refs.selectedTags.focusTag(this.activeTags[0]);if(this.shiftKey&&0===this.$refs.input.selectionStart&&"forward"!==this.$refs.input.selectionDirection)return null===this.focusedTagIndex&&(this.focusedTagIndex=this.selectedTags.length),this.focusedTagIndex>0&&(this.focusedTagIndex-=1),this.initTagIndex=this.selectedTags.length,void this.selectTagsPressingShift();(0===this.$refs.input.selectionEnd||this.inputIsSelected())&&this.$refs.selectedTags.focusLast()}},rightKeyInputHandler(e){if(this.assignEventValues(e),this.activeTags.length&&this.shiftKey&&this.focusedTagIndex<this.selectedTags.length){if(this.initTagIndex<this.selectedTags.length)return void this.selectRangeActiveTags(this.initTagIndex,this.focusedTagIndex+1);e.preventDefault(),this.focusedTagIndex+=1,this.selectRangeActiveTags()}},async enterHandler(){this.$refs.input.blur()},inputKeydownHandler(e){const{key:t}=e;this.inputIsSelected()&&Cr(t)&&this.allSelectedTagsAreActive&&this.resetFilters(),this.multipleTagsSelectionHandler({event:e,tagName:""})},selectedTagsKeydownHandler({event:e,tagName:t}){"Enter"===e.key&&e.preventDefault(),this.multipleTagsSelectionHandler({event:e,tagName:t})},selectInputTextToTags(){const{input:e}=this.$refs;e.selectionStart===e.selectionEnd?e.setSelectionRange(0,e.selectionEnd):e.setSelectionRange(e.selectionStart,e.selectionEnd),this.focusInput()},selectTagsPressingShift(){null!==this.initTagIndex&&this.shiftKey&&!this.metaKey&&(this.initTagIndex<this.focusedTagIndex?this.selectRangeActiveTags(this.initTagIndex,this.focusedTagIndex+1):this.selectRangeActiveTags(this.focusedTagIndex,this.initTagIndex+1))},focusTagHandler({event:e={},tagName:t}){this.focusedTagIndex=this.selectedTags.indexOf(t);const n=e.relatedTarget;if(n&&n.matches("input")&&this.shiftKey&&!this.metaKey&&!this.tabbing&&0!==this.$refs.input.selectionEnd)return this.selectInputTextToTags(),void this.selectRangeActiveTags();this.selectTagsPressingShift()},focusInputFromTags(){this.focusInput(),_r(this.$refs.input)},selectToDirections(e){this.metaKey&&this.shiftKey&&("ArrowRight"===e?(this.selectRangeActiveTags(this.initTagIndex,this.selectedTags.length),this.input.length?this.$refs.input.select():this.$refs.selectedTags.focusTag(this.selectedTags[this.selectedTags.length-1])):"ArrowLeft"===e&&(this.selectRangeActiveTags(0,this.initTagIndex+1),this.input.length||this.$refs.selectedTags.focusTag(this.selectedTags[0])))},metaKeyClickSelection(e,t){this.metaKey&&e instanceof MouseEvent&&(this.activeTags.includes(t)?(this.activeTags.splice(this.activeTags.indexOf(t),1),this.activeTags.length?this.$refs.selectedTags.focusTag(this.activeTags[0]):this.focusInput()):this.activeTags.push(t))},assignEventValues(e={}){const{shiftKey:t=!1,metaKey:n=!1,ctrlKey:i=!1,key:a}=e;this.tabbing="Tab"===a,this.metaKey=n||i,this.shiftKey=t},initTag(e){null!==this.initTagIndex||this.activeTags.includes(e)||(e?(this.initTagIndex=this.selectedTags.indexOf(e),this.activeTags.push(e)):this.initTagIndex=this.selectedTags.length)},multipleTagsSelectionHandler({event:e=new KeyboardEvent("keydown",{}),tagName:t}){const{key:n=""}=e;"Enter"!==n&&(this.assignEventValues(e),!this.shiftKey&&!this.metaKey||this.tabbing?"Backspace"!==n&&this.resetActiveTags():this.initTag(t),this.selectToDirections(n))},resetActiveTags(){this.activeTags=[],this.initTagIndex=null,this.metaKey=!1,this.tabbing=!1,this.shiftKey=!1,this.focusedTagIndex=null},selectInputAndTags(){this.activeTags=[...this.selectedTags],this.input.length?(this.$refs.input.select(),this.initTagIndex=this.activeTags.length,this.focusedTagIndex=0):this.activeTags.length&&(this.initTagIndex=this.activeTags.length-1,this.$refs.selectedTags.focusTag(this.activeTags[0]))},handleSingleTagClick({event:e,tagName:t}){this.keyboardIsVirtual?(this.debouncedHandleDeleteTag||(this.debouncedHandleDeleteTag=Ir(this.handleDeleteTag,xr)),this.debouncedHandleDeleteTag({tagName:t,event:e})):(this.assignEventValues(e),this.metaKeyClickSelection(e,t),this.multipleTagsSelectionHandler({event:e,tagName:t}))},inputIsSelected(){return this.input.length&&Tr()===this.input},inputHasPartialTextSelected(){const e=Tr();return!this.inputIsSelected()&&e.length&&this.input.includes(e)},updateKeyboardType:Ir((function(e){const t=window.innerHeight-e.target.height;t>=$r&&(this.keyboardIsVirtual=!0)}),xr),setFilterInput(e){this.$emit("update:input",e)},setSelectedTags(e){this.$emit("update:selectedTags",e)},updateSelectedTags(e){this.setSelectedTags([...new Set([...this.selectedTags,...e])])},handleCopy(e){e.preventDefault();const t=[],n={tags:[],input:Tr()};if(this.activeTags.length){const e=this.activeTags;n.tags=e,t.push(e.join(" "))}return t.push(n.input),n.tags.length||n.input.length?(e.clipboardData.setData("text/html",wr(n)),e.clipboardData.setData("text/plain",t.join(" ")),n):n},handleCut(e){e.preventDefault();const{input:t,tags:n}=this.handleCopy(e);if(!t&&!n.length)return;const i=this.selectedTags.filter(e=>!n.includes(e)),a=this.input.replace(t,"");this.setSelectedTags(i),this.setFilterInput(a)},handlePaste(e){e.preventDefault();const{types:t}=e.clipboardData;let n=[],i=e.clipboardData.getData("text/plain");if(t.includes("text/html")){const t=e.clipboardData.getData("text/html"),a=kr(t);a&&({tags:n=[],input:i=""}=a)}const a=Tr();i=a.length?this.input.replace(a,i):Object(nn["f"])(this.input,i,document.activeElement.selectionStart),this.setFilterInput(i.trim()),this.allSelectedTagsAreActive?this.setSelectedTags(n):this.updateSelectedTags(n),this.resetActiveTags()},async handleDeleteTag({tagName:e,event:t={}}){const{key:n}=t;this.activeTags.length||this.deleteTags([e]),this.unselectActiveTags(),await this.$nextTick(),Sr(this.$refs.input),this.hasSelectedTags&&(await this.focusInput(),"Backspace"===n&&_r(this.$refs.input))}},mounted(){window.visualViewport&&(window.visualViewport.addEventListener("resize",this.updateKeyboardType),this.$once("hook:beforeDestroy",()=>{window.visualViewport.removeEventListener("resize",this.updateKeyboardType)}))}};const Dr=1e3;var Pr={constants:{ScrollingDebounceDelay:Dr},data(){return{isScrolling:!1,scrollRemovedAt:0}},created(){this.deleteScroll=Ir(this.deleteScroll,Dr)},methods:{deleteScroll(){this.isScrolling=!1,this.scrollRemovedAt=Date.now()},handleScroll(e){const{target:t}=e;if(0!==t.scrollTop)return t.scrollTop=0,void e.preventDefault();const n=150,i=t.offsetWidth,a=i+n;if(t.scrollWidth<a)return;const s=Date.now()-this.scrollRemovedAt;s<Dr/10||(this.isScrolling=!0,t.style.getPropertyValue("--scroll-target-height")||t.style.setProperty("--scroll-target-height",t.offsetHeight+"px"),this.deleteScroll())}}},Lr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"filter-icon",attrs:{height:"14",width:"14",viewBox:"0 0 14 14",fill:"currentColor",themeId:"filter"}},[n("path",{attrs:{d:"m2 6.5h10v1h-10z"}}),n("path",{attrs:{d:"m1 3h12v1h-12z"}}),n("path",{attrs:{d:"m3 10h8v1h-8z"}})])},Ar=[],Nr={name:"FilterIcon",components:{SVGIcon:fr["a"]}},Er=Nr,jr=Object(K["a"])(Er,Lr,Ar,!1,null,null,null),Br=jr.exports,Rr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"tags"},[n("div",{ref:"scroll-wrapper",staticClass:"scroll-wrapper",class:{scrolling:e.isScrolling},on:{scroll:e.handleScroll}},[n("ul",{ref:"tags",attrs:{id:e.id+"-tags","aria-label":e.ariaLabel,tabindex:"0",role:"listbox","aria-multiselectable":e.areTagsRemovable?"true":"false","aria-orientation":"horizontal"},on:{"!keydown":[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:(t.preventDefault(),e.focusPrev.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:(t.preventDefault(),e.focusNext.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),e.focusPrev.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),e.focusNext.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"a",void 0,t.key,void 0)?null:t.metaKey?(t.preventDefault(),e.$emit("select-all")):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"a",void 0,t.key,void 0)?null:t.ctrlKey?(t.preventDefault(),e.$emit("select-all")):null},function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.handleKeydown.apply(null,arguments)},function(t){return t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.handleKeydown.apply(null,arguments):null}],keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?null:(t.preventDefault(),t.target!==t.currentTarget?null:e.$emit("reset-filters"))}}},e._l(e.tags,(function(t,i){return n("Tag",{key:t.id||i,ref:"tag",refInFor:!0,attrs:{name:t.label||t,isFocused:e.focusedIndex===i,isRemovableTag:e.areTagsRemovable,filterText:e.input,isTranslatableTag:e.translatableTags.includes(t),isActiveTag:e.activeTags.includes(t),activeTags:e.activeTags,keyboardIsVirtual:e.keyboardIsVirtual},on:{focus:function(t){return e.handleFocus(t,i)},click:function(t){return e.$emit("click-tags",t)},"delete-tag":function(t){return e.$emit("delete-tag",t)},"prevent-blur":function(t){return e.$emit("prevent-blur")},"paste-content":function(t){return e.$emit("paste-tags",t)},keydown:function(t){return e.$emit("keydown",t)}}})})),1)])])},Mr=[],zr={data(){return{focusedIndex:0,externalFocusChange:!1}},methods:{focusIndex(e){e<0||(this.focusedIndex=e)},focusPrev({metaKey:e,ctrlKey:t,shiftKey:n}){(e||t)&&n||(this.externalFocusChange=!1,this.focusedIndex>0?this.focusIndex(this.focusedIndex-1):this.startingPointHook())},focusNext({metaKey:e,ctrlKey:t,shiftKey:n}){(e||t)&&n||(this.externalFocusChange=!1,this.focusedIndex<this.totalItemsToNavigate-1?this.focusIndex(this.focusedIndex+1):this.endingPointHook())},async focusFirst(){this.externalFocusChange=!1,this.focusIndex(null),await this.$nextTick(),this.focusIndex(0),this.scrollToFocus()},async focusLast(){this.externalFocusChange=!1,this.focusIndex(null),await this.$nextTick(),this.focusIndex(this.totalItemsToNavigate-1),this.scrollToFocus()},startingPointHook(){},endingPointHook(){},scrollToFocus(){}},computed:{totalItemsToNavigate:()=>0}},Kr=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"tag",attrs:{role:"presentation"}},[n("button",{ref:"button",class:{focus:e.isActiveTag},attrs:{role:"option","aria-selected":e.ariaSelected,"aria-roledescription":"tag"},on:{focus:function(t){return e.$emit("focus",{event:t,tagName:e.name})},click:function(t){return t.preventDefault(),e.$emit("click",{event:t,tagName:e.name})},dblclick:function(t){t.preventDefault(),!e.keyboardIsVirtual&&e.deleteTag()},keydown:[function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.$emit("keydown",{event:t,tagName:e.name})},function(t){return t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.$emit("keydown",{event:t,tagName:e.name}):null},function(t){return t.shiftKey&&t.metaKey?t.ctrlKey||t.altKey?null:e.$emit("keydown",{event:t,tagName:e.name}):null},function(t){return t.metaKey?t.ctrlKey||t.shiftKey||t.altKey?null:e.$emit("keydown",{event:t,tagName:e.name}):null},function(t){return t.ctrlKey?t.shiftKey||t.altKey||t.metaKey?null:e.$emit("keydown",{event:t,tagName:e.name}):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"delete",[8,46],t.key,["Backspace","Delete","Del"])?null:(t.preventDefault(),e.deleteTag.apply(null,arguments))}],mousedown:function(t){return t.preventDefault(),e.focusButton.apply(null,arguments)},copy:e.handleCopy}},[e.isRemovableTag?e._e():n("span",{staticClass:"visuallyhidden"},[e._v(" "+e._s(e.$t("filter.add-tag"))+" - ")]),e.isTranslatableTag?[e._v(" "+e._s(e.$t(e.name))+" ")]:[e._v(" "+e._s(e.name)+" ")],e.isRemovableTag?n("span",{staticClass:"visuallyhidden"},[e._v(" – "+e._s(e.$t("filter.tag-select-remove"))+" ")]):e._e()],2)])},qr=[],Fr={name:"Tag",props:{name:{type:String,required:!0},isFocused:{type:Boolean,default:()=>!1},isRemovableTag:{type:Boolean,default:!1},isTranslatableTag:{type:Boolean,default:!1},isActiveTag:{type:Boolean,default:!1},activeTags:{type:Array,required:!1},keyboardIsVirtual:{type:Boolean,default:!1}},watch:{isFocused(e){e&&this.focusButton()}},mounted(){document.addEventListener("copy",this.handleCopy),document.addEventListener("cut",this.handleCut),document.addEventListener("paste",this.handlePaste),this.$once("hook:beforeDestroy",()=>{document.removeEventListener("copy",this.handleCopy),document.removeEventListener("cut",this.handleCut),document.removeEventListener("paste",this.handlePaste)})},methods:{isCurrentlyActiveElement(){return document.activeElement===this.$refs.button},handleCopy(e){if(!this.isCurrentlyActiveElement())return;e.preventDefault();let t=[];t=this.activeTags.length>0?this.activeTags:[this.name],e.clipboardData.setData("text/html",wr({tags:t})),e.clipboardData.setData("text/plain",t.join(" "))},handleCut(e){this.isCurrentlyActiveElement()&&this.isRemovableTag&&(this.handleCopy(e),this.deleteTag(e))},handlePaste(e){this.isCurrentlyActiveElement()&&this.isRemovableTag&&(e.preventDefault(),this.deleteTag(e),this.$emit("paste-content",e))},deleteTag(e){this.$emit("delete-tag",{tagName:this.name,event:e}),this.$emit("prevent-blur")},focusButton(e={}){this.keyboardIsVirtual||this.$refs.button.focus(),0===e.buttons&&this.isFocused&&this.deleteTag(e)}},computed:{ariaSelected:({isActiveTag:e,isRemovableTag:t})=>t?e?"true":"false":null}},Hr=Fr,Vr=(n("f055"),Object(K["a"])(Hr,Kr,qr,!1,null,"7e76f326",null)),Wr=Vr.exports,Ur={name:"Tags",mixins:[Pr,zr],props:{tags:{type:Array,default:()=>[]},activeTags:{type:Array,default:()=>[]},translatableTags:{type:Array,default:()=>[]},ariaLabel:{type:String,required:!1},id:{type:String,required:!1},input:{type:String,default:null},areTagsRemovable:{type:Boolean,default:!1},keyboardIsVirtual:{type:Boolean,default:!1}},components:{Tag:Wr},methods:{focusTag(e){this.focusIndex(this.tags.indexOf(e))},startingPointHook(){this.$emit("focus-prev")},handleFocus(e,t){this.focusIndex(t),this.isScrolling=!1,this.$emit("focus",e)},endingPointHook(){this.$emit("focus-next")},resetScroll(){this.$refs["scroll-wrapper"].scrollLeft=0},handleKeydown(e){const{key:t}=e,n=this.tags[this.focusedIndex];Cr(t)&&n&&this.$emit("delete-tag",{tagName:n.label||n,event:e})}},computed:{totalItemsToNavigate:({tags:e})=>e.length}},Gr=Ur,Qr=(n("9f17"),Object(K["a"])(Gr,Rr,Mr,!1,null,"1f2bd813",null)),Xr=Qr.exports;const Yr=5,Jr="filter-input",Zr="selected-tags",eo="suggested-tags",to={autocorrect:"off",autocapitalize:"off",spellcheck:"false",role:"combobox","aria-haspopup":"true","aria-autocomplete":"none","aria-owns":"suggestedTags","aria-controls":"suggestedTags"};var no,io,ao={name:"FilterInput",mixins:[Pr,Or],constants:{FilterInputId:Jr,SelectedTagsId:Zr,SuggestedTagsId:eo,AXinputProperties:to,TagLimit:Yr},components:{TagList:Xr,ClearRoundedIcon:br,FilterIcon:Br},props:{positionReversed:{type:Boolean,default:()=>!1},tags:{type:Array,default:()=>[]},selectedTags:{type:Array,default:()=>[]},preventedBlur:{type:Boolean,default:()=>!1},placeholder:{type:String,default:()=>""},disabled:{type:Boolean,default:()=>!1},value:{type:String,default:()=>""},shouldTruncateTags:{type:Boolean,default:!1},focusInputWhenCreated:{type:Boolean,default:!1},focusInputWhenEmpty:{type:Boolean,default:!1},selectInputOnFocus:{type:Boolean,default:!1},clearFilterOnTagSelect:{type:Boolean,default:!0},preventBorderStyle:{type:Boolean,default:!1},translatableTags:{type:Array,default:()=>[]}},data(){return{resetedTagsViaDeleteButton:!1,FilterInputId:Jr,SelectedTagsId:Zr,SuggestedTagsId:eo,AXinputProperties:to,showSuggestedTags:!1}},computed:{hasSuggestedTags:({suggestedTags:e})=>e.length,hasSelectedTags:({selectedTags:e})=>e.length,inputIsNotEmpty:({input:e,hasSelectedTags:t})=>e.length||t,searchAriaLabelledBy:({hasSelectedTags:e})=>e?Jr.concat(" ",Zr):Jr,modelValue:{get:({value:e})=>e,set(e){this.$emit("input",e)}},input:({value:e})=>e,suggestedTags:({tags:e,selectedTags:t,shouldTruncateTags:n})=>{const i=e.filter(e=>!t.includes(e));return n?i.slice(0,Yr):i},displaySuggestedTags:({showSuggestedTags:e,suggestedTags:t})=>e&&t.length>0,inputMultipleSelectionListeners:({resetActiveTags:e,handleCopy:t,handleCut:n,handlePaste:i})=>({click:e,copy:t,cut:n,paste:i}),selectedTagsMultipleSelectionListeners:({handleSingleTagClick:e,selectInputAndTags:t,handleDeleteTag:n,selectedTagsKeydownHandler:i,focusTagHandler:a,handlePaste:s})=>({"click-tags":e,"select-all":t,"delete-tag":n,keydown:i,focus:a,"paste-tags":s})},watch:{async selectedTags(){this.resetedTagsViaDeleteButton?this.resetedTagsViaDeleteButton=!1:this.$el.contains(document.activeElement)&&await this.focusInput(),this.displaySuggestedTags&&this.hasSuggestedTags&&this.$refs.suggestedTags.resetScroll()},suggestedTags:{immediate:!0,handler(e){this.$emit("suggested-tags",e)}},showSuggestedTags(e){this.$emit("show-suggested-tags",e)}},methods:{async focusInput(){await this.$nextTick(),this.$refs.input.focus(),!this.input&&this.resetActiveTags&&this.resetActiveTags()},async resetFilters(e=!1){if(this.setFilterInput(""),this.setSelectedTags([]),!e)return this.$emit("update:preventedBlur",!0),this.resetActiveTags&&this.resetActiveTags(),void await this.focusInput();this.resetedTagsViaDeleteButton=!0,this.showSuggestedTags=!1,this.$refs.input.blur()},focusFirstTag(e=(()=>{})){this.showSuggestedTags||(this.showSuggestedTags=!0),this.hasSuggestedTags&&this.$refs.suggestedTags?this.$refs.suggestedTags.focusFirst():e()},setFilterInput(e){this.$emit("input",e)},setSelectedTags(e){this.$emit("update:selectedTags",e)},deleteTags(e){this.setSelectedTags(this.selectedTags.filter(t=>!e.includes(t)))},async handleBlur(e){const t=e.relatedTarget;t&&t.matches&&t.matches("button, input, ul")&&this.$el.contains(t)||(await this.$nextTick(),this.resetActiveTags(),this.preventedBlur?this.$emit("update:preventedBlur",!1):(this.showSuggestedTags=!1,this.$emit("blur")))},downHandler(e){const t=()=>this.$emit("focus-next",e);this.positionReversed?t():this.focusFirstTag(t)},upHandler(e){const t=()=>this.$emit("focus-prev",e);this.positionReversed?this.focusFirstTag(t):t()},handleFocusPrevOnSelectedTags(){this.positionReversed?this.focusFirstTag(()=>this.$emit("focus-prev")):this.$emit("focus-prev")},handleFocus(){this.showSuggestedTags=!0,this.$emit("focus")}},created(){this.focusInputWhenCreated&&document.activeElement!==this.$refs.input&&(this.inputIsNotEmpty||this.focusInputWhenEmpty)&&this.focusInput()}},so=ao,ro=(n("7309"),Object(K["a"])(so,ur,hr,!1,null,"3f01a546",null)),oo=ro.exports,lo=n("c161"),co={name:"QuickNavigationHighlighter",props:{text:{type:String,required:!0},matcherText:{type:String,default:""}},render(e){const{matcherText:t,text:n}=this,i=[];let a=0;return t?([...t].forEach(t=>{const s=n.toLowerCase().indexOf(t.toLowerCase(),a);a&&i.push(e("span",n.slice(a,s)));const r=s+1;i.push(e("span",{class:"match"},n.slice(s,r))),a=r}),e("p",{class:"highlight"},i)):e("span",{class:"highlight"},n)}},uo=co,ho=(n("ca3d"),Object(K["a"])(uo,no,io,!1,null,"1c4190f0",null)),po=ho.exports,go=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"magnifier-icon",attrs:{viewBox:"0 0 14 14",themeId:"magnifier"}},[n("path",{attrs:{d:"M15.0013 14.0319L10.9437 9.97424C11.8165 8.88933 12.2925 7.53885 12.2929 6.14645C12.2929 2.75841 9.53449 0 6.14645 0C2.75841 0 0 2.75841 0 6.14645C0 9.53449 2.75841 12.2929 6.14645 12.2929C7.57562 12.2929 8.89486 11.7932 9.94425 10.9637L14.0019 15.0213L15.0013 14.0319ZM6.13645 11.0736C4.83315 11.071 3.58399 10.5521 2.66241 9.63048C1.74084 8.70891 1.22194 7.45974 1.2193 6.15644C1.2193 3.44801 3.41802 1.23928 6.13645 1.23928C8.85488 1.23928 11.0536 3.44801 11.0536 6.15644C11.0636 8.86488 8.85488 11.0736 6.13645 11.0736Z"}})])},fo=[],mo={name:"MagnifierIcon",components:{SVGIcon:fr["a"]}},yo=mo,vo=Object(K["a"])(yo,go,fo,!1,null,null,null),bo=vo.exports,To=n("86d8"),So=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"preview"},[e.state===e.STATE.success?n("DocumentationTopic",e._b({attrs:{enableMinimized:""}},"DocumentationTopic",e.topicProps,!1)):e.state===e.STATE.loadingSlowly?n("div",{staticClass:"loading"},e._l(e.LOADER_ROW_STYLES,(function(e){return n("div",{key:e["--index"],staticClass:"loading-row",style:e})})),0):e.state===e.STATE.error?n("div",{staticClass:"unavailable"},[n("p",[e._v("Preview unavailable")])]):e._e()],1)},_o=[];const{extractProps:Co}=Is.methods,ko="hero",wo={error:"error",loading:"loading",loadingSlowly:"loadingSlowly",success:"success"},Io={...js,state:Object(w["a"])(js.state)};var xo={name:"QuickNavigationPreview",components:{DocumentationTopic:Is},constants:{PreviewState:wo,PreviewStore:Io},data(){return{store:Io}},provide(){return{store:this.store}},props:{json:{type:Object,required:!1},state:{type:String,required:!0,validator:e=>Object.hasOwnProperty.call(wo,e)}},computed:{LOADER_ROW_STYLES:()=>[{"--index":0,width:"30%"},{"--index":1,width:"80%"},{"--index":2,width:"50%"}],STATE:()=>wo,topicProps:({json:e})=>{const t=Co(e),{sections:n=[]}=e;let{abstract:i}=t;const a=n.find(({kind:e})=>e===ko);return!i&&a&&(i=a.content),{...t,abstract:i}}}},$o=xo,Oo=(n("c1f5"),Object(K["a"])($o,So,_o,!1,null,"6fb5ba95",null)),Do=Oo.exports;class Po{constructor(e){this.map=new Map,this.maxSize=e}get size(){return this.map.size}get(e){if(!this.map.has(e))return;const t=this.map.get(e);return this.map.delete(e),this.map.set(e,t),t}has(e){return this.map.has(e)}set(e,t){if(this.map.has(e)&&this.map.delete(e),this.map.set(e,t),this.map.size>this.maxSize){const e=this.map.keys().next().value;this.map.delete(e)}}*[Symbol.iterator](){yield*this.map}}var Lo=n("f2af");const{PreviewState:Ao}=Do.constants,No="AbortError",Eo=20,jo=1e3;var Bo={name:"QuickNavigationModal",components:{FilterInput:oo,GenericModal:lo["a"],MagnifierIcon:bo,TopicTypeIcon:_e["a"],QuickNavigationHighlighter:po,Reference:To["a"],Preview:Do},mixins:[zr],created(){this.abortController=null,this.$cachedSymbolResults=new Po(Eo),this.loadingTimeout=null},data(){return{debouncedInput:"",userInput:"",focusedInput:!1,cachedSymbolResults:{},previewIsLoadingSlowly:!1,SCROLL_LOCK_DISABLE_ATTR:Lo["a"]}},props:{children:{type:Array,required:!0},showQuickNavigationModal:{type:Boolean,required:!0},technology:{type:String,required:!0}},computed:{childrenMap({children:e}){return Vs(e)},filteredSymbols:({constructFuzzyRegex:e,children:t,fuzzyMatch:n,processedUserInput:i,childrenMap:a,orderSymbolsByPriority:s})=>{const r=t.filter(e=>"groupMarker"!==e.type&&null!=e.title);if(!i)return[];const o=n({inputLength:i.length,symbols:r,processedInputRegex:new RegExp(e(i),"i"),childrenMap:a}),l=[...new Map(o.map(e=>[e.path,e])).values()];return s(l).slice(0,Eo)},isVisible:{get:({showQuickNavigationModal:e})=>e,set(e){this.$emit("update:showQuickNavigationModal",e)}},noResultsWereFound:({processedUserInput:e,totalItemsToNavigate:t})=>e.length&&!t,processedUserInput:({debouncedInput:e})=>e.replace(/\s/g,""),totalItemsToNavigate:({filteredSymbols:e})=>e.length,selectedSymbol:({filteredSymbols:e,focusedIndex:t})=>null!==t?e[t]:null,nextSymbol:({filteredSymbols:e,focusedIndex:t})=>{if(null===t)return null;let n=t+1;return n>=e.length&&(n=0),e[n]},previewJSON:({cachedSymbolResults:e,selectedSymbol:t})=>t?(e[t.uid]||{}).json:null,previewState:({cachedSymbolResults:e,previewIsLoadingSlowly:t,selectedSymbol:n})=>n&&Object.hasOwnProperty.call(e,n.uid)?e[n.uid].success?Ao.success:Ao.error:t?Ao.loadingSlowly:Ao.loading},watch:{userInput:"debounceInput",focusedIndex:"scrollIntoView",selectedSymbol:"fetchSelectedSymbolData",$route:"closeQuickNavigationModal"},methods:{closeQuickNavigationModal(){this.$emit("update:showQuickNavigationModal",!1)},constructFuzzyRegex(e){return[...e].reduce((t,n,i)=>t.concat(`[${n}]`).concat(i<e.length-1?`[^${n.toLowerCase()}]*?`:""),"")},debounceInput:Ir((function(e){this.debouncedInput=e}),250),endingPointHook(){this.focusedIndex=0},formatSymbolTitle(e,t,n){return e.slice(t,n)},fuzzyMatch({inputLength:e,symbols:t,processedInputRegex:n,childrenMap:i}){return t.map(t=>{const a=n.exec(t.title);if(!a)return!1;const s=a[0].length;return!(s>3*e)&&{uid:t.uid,title:t.title,path:t.path,parents:Qs(t.parent,i),type:t.type,inputLengthDifference:t.title.length-e,matchLength:s,matchLengthDifference:s-e,start:a.index,substring:a[0]}}).filter(Boolean)},handleKeyEnter(){!this.noResultsWereFound&&this.userInput.length&&(this.$router.push(this.filteredSymbols[this.focusedIndex].path),this.closeQuickNavigationModal())},orderSymbolsByPriority(e){return e.sort((e,t)=>e.matchLengthDifference>t.matchLengthDifference?1:e.matchLengthDifference<t.matchLengthDifference?-1:e.start>t.start?1:e.start<t.start?-1:e.inputLengthDifference>t.inputLengthDifference?1:e.inputLengthDifference<t.inputLengthDifference?-1:0)},scrollIntoView(){this.$refs.match[this.focusedIndex].scrollIntoView({block:"nearest"})},startingPointHook(){this.focusedIndex=this.totalItemsToNavigate-1},async fetchSelectedSymbolData(){if(this.loadingTimeout=setTimeout(()=>{this.previewState===Ao.loading&&(this.previewIsLoadingSlowly=!0)},jo),!this.selectedSymbol||this.$cachedSymbolResults.has(this.selectedSymbol.uid))return clearTimeout(this.loadingTimeout),void(this.previewIsLoadingSlowly=!1);const e=async e=>{if(e&&!this.$cachedSymbolResults.has(e.uid))try{const t=await Object(w["b"])(e.path,{signal:this.abortController.signal});this.$cachedSymbolResults.set(e.uid,{success:!0,json:t})}catch(t){t.name!==No&&this.$cachedSymbolResults.set(e.uid,{success:!1})}finally{this.cachedSymbolResults=Object.freeze(Object.fromEntries(this.$cachedSymbolResults))}};this.abortController&&this.abortController.abort(),this.abortController=new AbortController,await Promise.all([e(this.selectedSymbol).finally(()=>{clearTimeout(this.loadingTimeout),this.previewIsLoadingSlowly=!1}),e(this.nextSymbol)])}}},Ro=Bo,Mo=(n("dfa5"),Object(K["a"])(Ro,cr,dr,!1,null,"71686791",null)),zo=Mo.exports,Ko=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"adjustable-sidebar-width",class:{dragging:e.isDragging,"sidebar-hidden":e.hiddenOnLarge}},[n("div",{ref:"sidebar",staticClass:"sidebar"},[n("div",{ref:"aside",staticClass:"aside",class:e.asideClasses,style:e.asideStyles,attrs:{"aria-hidden":e.hiddenOnLarge?"true":null},on:{transitionstart:function(t){return t.target!==t.currentTarget?null:e.trackTransitionStart.apply(null,arguments)},transitionend:function(t){return t.target!==t.currentTarget?null:e.trackTransitionEnd.apply(null,arguments)}}},[e._t("aside",null,{animationClass:"aside-animated-child",scrollLockID:e.scrollLockID,breakpoint:e.breakpoint})],2),e.fixedWidth?e._e():n("div",{staticClass:"resize-handle",on:{mousedown:function(t){return t.preventDefault(),e.startDrag.apply(null,arguments)},touchstart:function(t){return t.preventDefault(),e.startDrag.apply(null,arguments)}}})]),n("div",{ref:"content",staticClass:"content"},[e._t("default")],2),n("BreakpointEmitter",{attrs:{scope:e.BreakpointScopes.nav},on:{change:function(t){e.breakpoint=t}}})],1)},qo=[],Fo=n("5d2d"),Ho=n("a97e"),Vo=n("63b8"),Wo=n("c8e2"),Uo=n("95da"),Go=n("942d");const Qo="sidebar",Xo=1921,Yo=543,Jo=400,Zo={touch:{move:"touchmove",end:"touchend"},mouse:{move:"mousemove",end:"mouseup"}},el=(e,t=window.innerWidth)=>{const n=Math.min(t,Xo);return Math.floor(Math.min(n*(e/100),n))},tl={medium:30,large:20},nl={medium:50,large:50},il="sidebar-scroll-lock";var al={name:"AdjustableSidebarWidth",constants:{SCROLL_LOCK_ID:il},components:{BreakpointEmitter:Ho["a"]},inject:["store"],props:{shownOnMobile:{type:Boolean,default:!1},hiddenOnLarge:{type:Boolean,default:!1},fixedWidth:{type:Number,default:null}},data(){const e=window.innerWidth,t=window.innerHeight,n=Vo["b"].large,i=el(tl[n]),a=el(nl[n]),s=e>=Xo?Yo:Jo,r=Fo["c"].get(Qo,s);return{isDragging:!1,width:this.fixedWidth||Math.min(Math.max(r,i),a),isTouch:!1,windowWidth:e,windowHeight:t,breakpoint:n,noTransition:!1,isTransitioning:!1,isOpeningOnLarge:!1,focusTrapInstance:null,mobileTopOffset:0,topOffset:0}},computed:{minWidthPercent:({breakpoint:e})=>tl[e]||0,maxWidthPercent:({breakpoint:e})=>nl[e]||100,maxWidth:({maxWidthPercent:e,windowWidth:t,fixedWidth:n})=>Math.max(n,el(e,t)),minWidth:({minWidthPercent:e,windowWidth:t,fixedWidth:n})=>Math.min(n||t,el(e,t)),widthInPx:({width:e})=>e+"px",hiddenOnLargeThreshold:({minWidth:e})=>e/2,events:({isTouch:e})=>e?Zo.touch:Zo.mouse,asideStyles:({widthInPx:e,mobileTopOffset:t,topOffset:n,windowHeight:i})=>({width:e,"--top-offset":n?n+"px":null,"--top-offset-mobile":t+"px","--app-height":i+"px"}),asideClasses:({isDragging:e,shownOnMobile:t,noTransition:n,isTransitioning:i,hiddenOnLarge:a,mobileTopOffset:s,isOpeningOnLarge:r})=>({dragging:e,"show-on-mobile":t,"hide-on-large":a,"is-opening-on-large":r,"no-transition":n,"sidebar-transitioning":i,"has-mobile-top-offset":s}),scrollLockID:()=>il,BreakpointScopes:()=>Vo["c"]},async mounted(){window.addEventListener("keydown",this.onEscapeKeydown),window.addEventListener("resize",this.storeWindowSize,{passive:!0}),window.addEventListener("orientationchange",this.storeWindowSize,{passive:!0}),this.storeTopOffset(),0===this.topOffset&&0===window.scrollY||window.addEventListener("scroll",this.storeTopOffset,{passive:!0}),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("keydown",this.onEscapeKeydown),window.removeEventListener("resize",this.storeWindowSize),window.removeEventListener("orientationchange",this.storeWindowSize),window.removeEventListener("scroll",this.storeTopOffset),this.shownOnMobile&&this.toggleScrollLock(!1),this.focusTrapInstance&&this.focusTrapInstance.destroy()}),await this.$nextTick(),this.focusTrapInstance=new Wo["a"](this.$refs.aside)},watch:{$route:"closeMobileSidebar",width:{immediate:!0,handler:Ne((function(e){this.emitEventChange(e)}),150)},windowWidth:"getWidthInCheck",async breakpoint(e){this.getWidthInCheck(),e===Vo["b"].large&&this.closeMobileSidebar(),this.noTransition=!0,await Object(Ee["b"])(5),this.noTransition=!1},shownOnMobile:"handleExternalOpen",async isTransitioning(e){e?(await Object(Ee["a"])(1e3),this.isTransitioning=!1):this.updateContentWidthInStore()},hiddenOnLarge(){this.isTransitioning=!0}},methods:{getWidthInCheck:Ir((function(){this.width>this.maxWidth?this.width=this.maxWidth:this.width<this.minWidth&&(this.width=this.minWidth)}),50),onEscapeKeydown({key:e}){"Escape"===e&&this.closeMobileSidebar()},storeWindowSize:Ne((async function(){await this.$nextTick(),this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.updateContentWidthInStore()}),100),closeMobileSidebar(){this.shownOnMobile&&this.$emit("update:shownOnMobile",!1)},startDrag({type:e}){this.isTouch="touchstart"===e,this.isDragging||(this.isDragging=!0,document.addEventListener(this.events.move,this.handleDrag,{passive:this.isTouch}),document.addEventListener(this.events.end,this.stopDrag))},handleDrag(e){if(this.isTouch||e.preventDefault(),!this.isDragging)return;const{sidebar:t}=this.$refs,n=this.isTouch?e.touches[0].clientX:e.clientX;let i=n+window.scrollX-t.offsetLeft;i>this.maxWidth&&(i=this.maxWidth),this.hiddenOnLarge&&i>=this.hiddenOnLargeThreshold&&(this.$emit("update:hiddenOnLarge",!1),this.isOpeningOnLarge=!0),this.width=Math.max(i,this.minWidth),i<=this.hiddenOnLargeThreshold&&this.$emit("update:hiddenOnLarge",!0)},stopDrag(e){e.preventDefault(),this.isDragging&&(this.isDragging=!1,Fo["c"].set(Qo,this.width),document.removeEventListener(this.events.move,this.handleDrag),document.removeEventListener(this.events.end,this.stopDrag),this.emitEventChange(this.width))},emitEventChange(e){this.$emit("width-change",e),this.updateContentWidthInStore()},getTopOffset(){const e=document.getElementById(Go["e"]);if(!e)return 0;const{y:t}=e.getBoundingClientRect();return Math.max(t,0)},handleExternalOpen(e){e&&(this.mobileTopOffset=this.getTopOffset()),this.toggleScrollLock(e)},async updateContentWidthInStore(){await this.$nextTick(),this.store.setContentWidth(this.$refs.content.offsetWidth)},async toggleScrollLock(e){const t=document.getElementById(this.scrollLockID);e?(await this.$nextTick(),Lo["b"].lockScroll(t),this.focusTrapInstance.start(),Uo["a"].hide(this.$refs.aside)):(Lo["b"].unlockScroll(t),this.focusTrapInstance.stop(),Uo["a"].show(this.$refs.aside))},storeTopOffset:Ne((function(){this.topOffset=this.getTopOffset()}),60),async trackTransitionStart({propertyName:e}){"width"!==e&&"transform"!==e||(this.isTransitioning=!0)},trackTransitionEnd({propertyName:e}){"width"!==e&&"transform"!==e||(this.isTransitioning=!1,this.isOpeningOnLarge=!1)}}},sl=al,rl=(n("cb1f"),Object(K["a"])(sl,Ko,qo,!1,null,"f3c6416c",null)),ol=rl.exports,ll=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("nav",{staticClass:"navigator",attrs:{"aria-labelledby":e.INDEX_ROOT_KEY}},[e.isFetching?n("LoadingNavigatorCard",e._b({on:{close:function(t){return e.$emit("close")}}},"LoadingNavigatorCard",e.technologyProps,!1)):n("NavigatorCard",e._b({attrs:{type:e.type,children:e.flatChildren,"active-path":e.activePath,scrollLockID:e.scrollLockID,"error-fetching":e.errorFetching,"render-filter-on-top":e.renderFilterOnTop,"api-changes":e.apiChanges,"allow-hiding":e.allowHiding,"navigator-references":e.navigatorReferences},on:{close:function(t){return e.$emit("close")}},scopedSlots:e._u([{key:"filter",fn:function(){return[e._t("filter")]},proxy:!0}],null,!0)},"NavigatorCard",e.technologyProps,!1)),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"polite"}},[e._v(" "+e._s(e.$t("navigator.navigator-is",{state:e.isFetching?e.$t("navigator.state.loading"):e.$t("navigator.state.ready")}))+" ")])],1)},cl=[],dl=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseNavigatorCard",e._b({class:{"filter-on-top":e.renderFilterOnTop},on:{close:function(t){return e.$emit("close")},"head-click-alt":e.toggleAllNodes},scopedSlots:e._u([{key:"body",fn:function(t){var i=t.className;return[e._t("post-head"),n("div",{class:i,on:{"!keydown":[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:t.altKey?(t.preventDefault(),e.focusFirst.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:t.altKey?(t.preventDefault(),e.focusLast.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusPrev.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusNext.apply(null,arguments))}]}},[n("DynamicScroller",{directives:[{name:"show",rawName:"v-show",value:e.hasNodes,expression:"hasNodes"}],ref:"scroller",staticClass:"scroller",attrs:{id:e.scrollLockID,"aria-label":e.$t("navigator.title"),items:e.nodesToRender,"min-item-size":e.itemSize,"emit-update":"","key-field":"uid"},on:{update:e.handleScrollerUpdate,"!keydown":[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:t.altKey?(t.preventDefault(),e.focusFirst.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:t.altKey?(t.preventDefault(),e.focusLast.apply(null,arguments)):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusPrev.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.focusNext.apply(null,arguments))}]},nativeOn:{focusin:function(t){return e.handleFocusIn.apply(null,arguments)},focusout:function(t){return e.handleFocusOut.apply(null,arguments)}},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.item,a=t.active,s=t.index;return[n("DynamicScrollerItem",e._b({ref:"dynamicScroller_"+i.uid},"DynamicScrollerItem",{active:a,item:i,dataIndex:s},!1),[n("NavigatorCardItem",{attrs:{item:i,isRendered:a,"filter-pattern":e.filterPattern,"is-active":i.uid===e.activeUID,"is-bold":e.activePathMap[i.uid],expanded:e.openNodes[i.uid],"api-change":e.apiChangesObject[i.path],isFocused:e.focusedIndex===s,enableFocus:!e.externalFocusChange,"navigator-references":e.navigatorReferences},on:{toggle:e.toggle,"toggle-full":e.toggleFullTree,"toggle-siblings":e.toggleSiblings,navigate:e.handleNavigationChange,"focus-parent":e.focusNodeParent}})],1)]}}],null,!0)}),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"polite"}},[e._v(" "+e._s(e.politeAriaLive)+" ")]),n("div",{staticClass:"no-items-wrapper",attrs:{"aria-live":"assertive"}},[n("p",{staticClass:"no-items"},[e._v(" "+e._s(e.$t(e.assertiveAriaLive))+" ")])])],1),e.errorFetching?e._e():n("div",{staticClass:"filter-wrapper"},[n("div",{staticClass:"navigator-filter"},[n("div",{staticClass:"input-wrapper"},[n("FilterInput",{staticClass:"filter-component",attrs:{tags:e.availableTags,translatableTags:e.translatableTags,"selected-tags":e.selectedTagsModelValue,placeholder:e.$t("filter.title"),"should-keep-open-on-blur":!1,"position-reversed":!e.renderFilterOnTop,"clear-filter-on-tag-select":!1},on:{"update:selectedTags":function(t){e.selectedTagsModelValue=t},"update:selected-tags":function(t){e.selectedTagsModelValue=t},clear:e.clearFilters},model:{value:e.filter,callback:function(t){e.filter=t},expression:"filter"}})],1),e._t("filter")],2)])]}}],null,!0)},"BaseNavigatorCard",{technology:e.technology,isTechnologyBeta:e.isTechnologyBeta,technologyPath:e.technologyPath},!1))},ul=[],hl=n("e508");function pl(e){const t=Object(nn["g"])(Object(nn["d"])(e));return new RegExp(t,"ig")}var gl,fl,ml=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseNavigatorCardItem",{staticClass:"navigator-card-item",class:{expanded:e.expanded,active:e.isActive,"is-group":e.isGroupMarker},style:{"--nesting-index":e.item.depth},attrs:{"data-nesting-index":e.item.depth,id:"container-"+e.item.uid,"aria-hidden":e.isRendered?null:"true",hideNavigatorIcon:e.isGroupMarker},nativeOn:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&0!==t.button?null:(t.preventDefault(),e.handleLeftKeydown.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.handleRightKeydown.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.clickReference.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])?null:t.altKey?"button"in t&&2!==t.button?null:(t.preventDefault(),e.toggleEntireTree.apply(null,arguments)):null}]},scopedSlots:e._u([{key:"depth-spacer",fn:function(){return[n("span",{attrs:{hidden:"",id:e.usageLabel}},[e._v(" "+e._s(e.$t("filter.navigate"))+" ")]),e.isParent?n("button",{staticClass:"tree-toggle",attrs:{tabindex:"-1","aria-labelledby":e.item.uid,"aria-expanded":e.expanded?"true":"false","aria-describedby":e.ariaDescribedBy},on:{click:[function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.toggleTree.apply(null,arguments))},function(t){return t.altKey?(t.preventDefault(),e.toggleEntireTree.apply(null,arguments)):null},function(t){return t.metaKey?(t.preventDefault(),e.toggleSiblings.apply(null,arguments)):null}]}},[n("InlineChevronRightIcon",{staticClass:"icon-inline chevron",class:{rotate:e.expanded,animating:e.idState.isOpening}})],1):e._e()]},proxy:!0},{key:"navigator-icon",fn:function(t){var i,a=t.className;return[e.apiChange?n("span",{class:[(i={},i["changed changed-"+e.apiChange]=e.apiChange,i),a]}):n("TopicTypeIcon",{key:e.item.uid,class:a,attrs:{type:e.item.type,"image-override":e.item.icon?e.navigatorReferences[e.item.icon]:null,shouldCalculateOptimalWidth:!1}})]}},{key:"title-container",fn:function(){return[e.isParent?n("span",{attrs:{hidden:"",id:e.parentLabel}},[e._v(e._s(e.$tc("filter.parent-label",e.item.childUIDs.length,{"number-siblings":e.item.index+1,"total-siblings":e.item.siblingsCount,"parent-siblings":e.item.parent,"number-parent":e.item.childUIDs.length})))]):e._e(),e.isParent?e._e():n("span",{attrs:{id:e.siblingsLabel,hidden:""}},[e._v(" "+e._s(e.$t("filter.siblings-label",{"number-siblings":e.item.index+1,"total-siblings":e.item.siblingsCount,"parent-siblings":e.item.parent}))+" ")]),n(e.refComponent,{ref:"reference",tag:"component",staticClass:"leaf-link",class:{bolded:e.isBold},attrs:{id:e.item.uid,url:e.isGroupMarker?null:e.item.path||"",tabindex:e.isFocused?"0":"-1","aria-describedby":e.ariaDescribedBy+" "+e.usageLabel},nativeOn:{click:[function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.handleClick.apply(null,arguments)},function(t){return t.altKey?(t.preventDefault(),e.toggleEntireTree.apply(null,arguments)):null}]}},[n("HighlightMatches",{attrs:{text:e.item.title,matcher:e.filterPattern}})],1),e.isDeprecated?n("Badge",{attrs:{variant:"deprecated"}}):e.isBeta?n("Badge",{attrs:{variant:"beta"}}):e._e()]},proxy:!0}])})},yl=[],vl=n("34b0"),bl=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navigator-card-item"},[n("div",{staticClass:"head-wrapper"},[n("div",{staticClass:"depth-spacer"},[e._t("depth-spacer")],2),e.hideNavigatorIcon?e._e():n("div",{staticClass:"navigator-icon-wrapper"},[e._t("navigator-icon",null,{className:"navigator-icon"})],2),n("div",{staticClass:"title-container"},[e._t("title-container")],2)])])},Tl=[],Sl={name:"BaseNavigatorCardItem",props:{hideNavigatorIcon:{type:Boolean,default:()=>!1}}},_l=Sl,Cl=(n("b39c"),Object(K["a"])(_l,bl,Tl,!1,null,"0b9fe514",null)),kl=Cl.exports,wl={name:"HighlightMatch",props:{text:{type:String,required:!0},matcher:{type:RegExp,default:void 0}},render(e){const{matcher:t,text:n}=this;if(!t)return e("p",{class:"highlight"},n);const i=[];let a=0,s=null;const r=new RegExp(t,"gi");while(null!==(s=r.exec(n))){const t=s[0].length,r=s.index+t,o=n.slice(a,s.index);o&&i.push(e("span",o));const l=n.slice(s.index,r);l&&i.push(e("span",{class:"match"},l)),a=r}const o=n.slice(a,n.length);return o&&i.push(e("span",o)),e("p",{class:"highlight"},i)}},Il=wl,xl=(n("b831"),Object(K["a"])(Il,gl,fl,!1,null,"d75876e2",null)),$l=xl.exports,Ol={name:"NavigatorCardItem",mixins:[Object(hl["c"])({idProp:e=>e.item.uid})],components:{BaseNavigatorCardItem:kl,HighlightMatches:$l,TopicTypeIcon:_e["a"],InlineChevronRightIcon:vl["a"],Reference:To["a"],Badge:ei["a"]},props:{isRendered:{type:Boolean,default:!1},item:{type:Object,required:!0},expanded:{type:Boolean,default:!1},filterPattern:{type:RegExp,default:void 0},isActive:{type:Boolean,default:!1},isBold:{type:Boolean,default:!1},apiChange:{type:String,default:null,validator:e=>It["d"].includes(e)},isFocused:{type:Boolean,default:()=>!1},enableFocus:{type:Boolean,default:!0},navigatorReferences:{type:Object,default:()=>({})}},idState(){return{isOpening:!1}},computed:{isGroupMarker:({item:{type:e}})=>e===Ce["b"].groupMarker,isParent:({item:e,isGroupMarker:t})=>!!e.childUIDs.length&&!t,parentLabel:({item:e})=>"label-parent-"+e.uid,siblingsLabel:({item:e})=>"label-"+e.uid,usageLabel:({item:e})=>"usage-"+e.uid,ariaDescribedBy:({isParent:e,parentLabel:t,siblingsLabel:n})=>e?""+t:""+n,isBeta:({item:{beta:e}})=>!!e,isDeprecated:({item:{deprecated:e}})=>!!e,refComponent:({isGroupMarker:e})=>e?"h3":To["a"]},methods:{toggleTree(){this.idState.isOpening=!0,this.$emit("toggle",this.item)},toggleEntireTree(){this.idState.isOpening=!0,this.$emit("toggle-full",this.item)},toggleSiblings(){this.idState.isOpening=!0,this.$emit("toggle-siblings",this.item)},handleLeftKeydown(){this.expanded?this.toggleTree():this.$emit("focus-parent",this.item)},handleRightKeydown(){!this.expanded&&this.isParent&&this.toggleTree()},clickReference(){(this.$refs.reference.$el||this.$refs.reference).click()},focusReference(){(this.$refs.reference.$el||this.$refs.reference).focus()},handleClick(){this.isGroupMarker||this.$emit("navigate",this.item.uid)}},watch:{async isFocused(e){await Object(Ee["b"])(8),e&&this.isRendered&&this.enableFocus&&this.focusReference()},async expanded(){await Object(Ee["b"])(9),this.idState.isOpening=!1}}},Dl=Ol,Pl=(n("6ca9"),Object(K["a"])(Dl,ml,yl,!1,null,"0c96ff75",null)),Ll=Pl.exports,Al=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navigator-card"},[n("div",{staticClass:"navigator-card-full-height"},[n("div",{staticClass:"navigator-card-inner"},[n("div",{staticClass:"head-wrapper"},[n("div",{staticClass:"head-inner"},[n("button",{staticClass:"close-card",class:{"hide-on-large":!e.allowHiding},attrs:{id:e.SIDEBAR_HIDE_BUTTON_ID,"aria-label":e.$t("navigator.close-navigator")},on:{click:e.handleHideClick}},[n("SidenavIcon",{staticClass:"icon-inline close-icon"})],1),n("Reference",{staticClass:"navigator-head",attrs:{id:e.INDEX_ROOT_KEY,url:e.technologyPath},nativeOn:{click:function(t){return t.altKey?(t.preventDefault(),e.$emit("head-click-alt")):null}}},[n("h2",{staticClass:"card-link"},[e._v(" "+e._s(e.technology)+" ")]),e.isTechnologyBeta?n("Badge",{attrs:{variant:"beta"}}):e._e()],1)],1)]),e._t("body",null,{className:"card-body"})],2)])])},Nl=[],El=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"sidenav-icon",attrs:{viewBox:"0 0 14 14",height:"14",themeId:"sidenav"}},[n("path",{attrs:{d:"M6.533 1.867h-6.533v10.267h14v-10.267zM0.933 11.2v-8.4h4.667v8.4zM13.067 11.2h-6.533v-8.4h6.533z"}}),n("path",{attrs:{d:"M1.867 5.133h2.8v0.933h-2.8z"}}),n("path",{attrs:{d:"M1.867 7.933h2.8v0.933h-2.8z"}})])},jl=[],Bl={name:"SidenavIcon",components:{SVGIcon:fr["a"]}},Rl=Bl,Ml=Object(K["a"])(Rl,El,jl,!1,null,null,null),zl=Ml.exports,Kl={name:"BaseNavigatorCard",components:{SidenavIcon:zl,Reference:To["a"],Badge:ei["a"]},props:{allowHiding:{type:Boolean,default:!0},technologyPath:{type:String,default:""},technology:{type:String,required:!0},isTechnologyBeta:{type:Boolean,default:!1}},data(){return{SIDEBAR_HIDE_BUTTON_ID:Fs,INDEX_ROOT_KEY:Ks}},methods:{async handleHideClick(){this.$emit("close"),await this.$nextTick();const e=document.getElementById(Go["d"]);e&&e.focus()}}},ql=Kl,Fl=(n("b32a"),Object(K["a"])(ql,Al,Nl,!1,null,"24789ed0",null)),Hl=Fl.exports;const Vl=e=>e[e.length-1],Wl=(e,t)=>JSON.stringify(e)===JSON.stringify(t),Ul="navigator.state",Gl={sampleCode:"sampleCode",tutorials:"tutorials",articles:"articles"},Ql={[Gl.sampleCode]:"Sample Code",[Gl.tutorials]:"Tutorials",[Gl.articles]:"Articles"},Xl=Object.fromEntries(Object.entries(Ql).map(([e,t])=>[t,e])),Yl={[Ce["b"].article]:Gl.articles,[Ce["b"].learn]:Gl.tutorials,[Ce["b"].overview]:Gl.tutorials,[Ce["b"].resources]:Gl.tutorials,[Ce["b"].sampleCode]:Gl.sampleCode,[Ce["b"].section]:Gl.tutorials,[Ce["b"].tutorial]:Gl.tutorials,[Ce["b"].project]:Gl.tutorials},Jl="navigator.no-results",Zl="navigator.no-children",ec="navigator.error-fetching",tc="navigator.items-found",nc="navigator.tags.hide-deprecated";var ic={name:"NavigatorCard",constants:{STORAGE_KEY:Ul,FILTER_TAGS:Gl,FILTER_TAGS_TO_LABELS:Ql,FILTER_LABELS_TO_TAGS:Xl,TOPIC_TYPE_TO_TAG:Yl,ERROR_FETCHING:ec,ITEMS_FOUND:tc,HIDE_DEPRECATED:nc},components:{FilterInput:oo,NavigatorCardItem:Ll,DynamicScroller:hl["a"],DynamicScrollerItem:hl["b"],BaseNavigatorCard:Hl},props:{...Hl.props,children:{type:Array,required:!0},activePath:{type:Array,required:!0},type:{type:String,required:!0},scrollLockID:{type:String,default:""},errorFetching:{type:Boolean,default:!1},apiChanges:{type:Object,default:null},isTechnologyBeta:{type:Boolean,default:!1},navigatorReferences:{type:Object,default:()=>{}},renderFilterOnTop:{type:Boolean,default:!1},hideAvailableTags:{type:Boolean,default:!1}},mixins:[zr],data(){return{filter:"",debouncedFilter:"",selectedTags:[],openNodes:Object.freeze({}),nodesToRender:Object.freeze([]),activeUID:null,lastFocusTarget:null,allNodesToggled:!1,translatableTags:[nc]}},computed:{politeAriaLive(){const{hasNodes:e,nodesToRender:t}=this;return e?this.$tc(tc,t.length,{number:t.length}):""},assertiveAriaLive:({hasNodes:e,hasFilter:t,errorFetching:n})=>e?"":t?Jl:n?ec:Zl,availableTags({selectedTags:e,renderableChildNodesMap:t,apiChangesObject:n,hideAvailableTags:i}){if(i||e.length)return[];const a=new Set(Object.values(n)),s=new Set(Object.values(Ql)),r=new Set([nc]);a.size&&r.delete(nc);const o={type:[],changes:[],other:[]};for(const l in t){if(!Object.hasOwnProperty.call(t,l))continue;if(!s.size&&!a.size&&!r.size)break;const{type:e,path:i,deprecated:c}=t[l],d=Ql[Yl[e]],u=n[i];s.has(d)&&(o.type.push(d),s.delete(d)),u&&a.has(u)&&(o.changes.push(this.$t(It["b"][u])),a.delete(u)),c&&r.has(nc)&&(o.other.push(nc),r.delete(nc))}return o.type.concat(o.changes,o.other)},selectedTagsModelValue:{get(){return this.selectedTags.map(e=>Ql[e]||this.$t(It["b"][e])||e)},set(e){(this.selectedTags.length||e.length)&&(this.selectedTags=e.map(e=>Xl[e]||It["a"][e]||e))}},filterPattern:({debouncedFilter:e})=>e?new RegExp(pl(e),"i"):null,itemSize:()=>qs,childrenMap({children:e}){return Vs(e)},activePathChildren({activeUID:e,childrenMap:t}){return e&&t[e]?Qs(e,t):[]},activePathMap:({activePathChildren:e})=>Object.fromEntries(e.map(({uid:e})=>[e,!0])),activeIndex:({activeUID:e,nodesToRender:t})=>t.findIndex(t=>t.uid===e),filteredChildren({hasFilter:e,children:t,filterPattern:n,selectedTags:i,apiChanges:a}){if(!e)return[];const s=new Set(i);return t.filter(({title:e,path:t,type:i,deprecated:r,deprecatedChildrenCount:o,childUIDs:l})=>{const c=r||o===l.length,d=!n||n.test(e);let u=!0;s.size&&(u=s.has(Yl[i]),a&&!u&&(u=s.has(a[t])),!c&&s.has(nc)&&(u=!0));const h=!a||!!a[t];return d&&u&&h})},renderableChildNodesMap({hasFilter:e,childrenMap:t,deprecatedHidden:n,filteredChildren:i,removeDeprecated:a}){if(!e)return t;const s=i.length-1,r=new Set([]);for(let o=s;o>=0;o-=1){const e=i[o],s=t[e.groupMarkerUID];if(s&&r.add(s),r.has(e))continue;if(r.has(t[e.parent])&&e.type!==Ce["b"].groupMarker){r.add(e);continue}let l=[];e.childUIDs.length&&(l=a(Us(e.uid,t),n)),l.concat(Qs(e.uid,t)).forEach(e=>r.add(e))}return Vs([...r])},nodeChangeDeps:({filteredChildren:e,activePathChildren:t,debouncedFilter:n,selectedTags:i})=>[e,t,n,i],hasFilter({debouncedFilter:e,selectedTags:t,apiChanges:n}){return Boolean(e.length||t.length||n)},deprecatedHidden:({selectedTags:e})=>e[0]===nc,apiChangesObject(){return this.apiChanges||{}},hasNodes:({nodesToRender:e})=>!!e.length,totalItemsToNavigate:({nodesToRender:e})=>e.length,lastActivePathItem:({activePath:e})=>Vl(e)},created(){this.restorePersistedState()},watch:{filter:"debounceInput",nodeChangeDeps:"trackOpenNodes",activePath:"handleActivePathChange",apiChanges(e){e||(this.selectedTags=this.selectedTags.filter(e=>!this.$t(It["b"][e])))},async activeUID(e,t){await this.$nextTick();const n=this.$refs["dynamicScroller_"+t];n&&n.updateSize&&n.updateSize()}},methods:{setUnlessEqual(e,t){Wl(t,this[e])||(this[e]=Object.freeze(t))},toggleAllNodes(){const e=this.children.filter(e=>e.parent===Ks&&e.type!==Ce["b"].groupMarker&&e.childUIDs.length);this.allNodesToggled=!this.allNodesToggled,this.allNodesToggled&&(this.openNodes={},this.generateNodesToRender()),e.forEach(e=>{this.toggleFullTree(e)})},clearFilters(){this.filter="",this.debouncedFilter="",this.selectedTags=[]},scrollToFocus(){this.$refs.scroller.scrollToItem(this.focusedIndex)},debounceInput:Ir((function(e){this.debouncedFilter=e,this.lastFocusTarget=null}),200),trackOpenNodes([e,t,n,i],[,a=[],s="",r=[]]=[]){if(n!==s&&!s&&this.getFromStorage("filter")||!Wl(i,r)&&!r.length&&this.getFromStorage("selectedTags",[]).length)return;const o=!Wl(a,t),{childrenMap:l}=this;let c=t;if(!(this.deprecatedHidden&&!this.debouncedFilter.length||o&&this.hasFilter)&&this.hasFilter){const t=new Set,n=e.length-1;for(let i=n;i>=0;i-=1){const n=e[i];t.has(l[n.parent])||t.has(n)||Qs(n.uid,l).slice(0,-1).forEach(e=>t.add(e))}c=[...t]}const d=o?{...this.openNodes}:{},u=c.reduce((e,t)=>(e[t.uid]=!0,e),d);this.setUnlessEqual("openNodes",u),this.generateNodesToRender(),this.updateFocusIndexExternally()},toggle(e){const t=this.openNodes[e.uid];let n=[],i=[];if(t){const t=Object(w["a"])(this.openNodes),n=Us(e.uid,this.childrenMap);n.forEach(({uid:e})=>{delete t[e]}),this.setUnlessEqual("openNodes",t),i=n.slice(1)}else this.setUnlessEqual("openNodes",{...this.openNodes,[e.uid]:!0}),n=Gs(e.uid,this.childrenMap,this.children).filter(e=>this.renderableChildNodesMap[e.uid]);this.augmentRenderNodes({uid:e.uid,include:n,exclude:i})},toggleFullTree(e){const t=this.openNodes[e.uid],n=Object(w["a"])(this.openNodes),i=Us(e.uid,this.childrenMap);let a=[],s=[];i.forEach(({uid:e})=>{t?delete n[e]:n[e]=!0}),t?a=i.slice(1):s=i.slice(1).filter(e=>this.renderableChildNodesMap[e.uid]),this.setUnlessEqual("openNodes",n),this.augmentRenderNodes({uid:e.uid,exclude:a,include:s})},toggleSiblings(e){const t=this.openNodes[e.uid],n=Object(w["a"])(this.openNodes),i=Xs(e.uid,this.childrenMap,this.children);i.forEach(({uid:e,childUIDs:i,type:a})=>{if(i.length&&a!==Ce["b"].groupMarker)if(t){const t=Us(e,this.childrenMap);t.forEach(e=>{delete n[e.uid]}),delete n[e],this.augmentRenderNodes({uid:e,exclude:t.slice(1),include:[]})}else{n[e]=!0;const t=Gs(e,this.childrenMap,this.children).filter(e=>this.renderableChildNodesMap[e.uid]);this.augmentRenderNodes({uid:e,exclude:[],include:t})}}),this.setUnlessEqual("openNodes",n),this.persistState()},removeDeprecated(e,t){return t?e.filter(({deprecated:e})=>!e):e},generateNodesToRender(){const{children:e,openNodes:t,renderableChildNodesMap:n}=this;this.setUnlessEqual("nodesToRender",e.filter(e=>n[e.uid]&&(e.parent===Ks||t[e.parent]))),this.persistState(),this.scrollToElement()},augmentRenderNodes({uid:e,include:t=[],exclude:n=[]}){const i=this.nodesToRender.findIndex(t=>t.uid===e);if(t.length){const e=t.filter(e=>!this.nodesToRender.includes(e)),n=this.nodesToRender.slice(0);n.splice(i+1,0,...e),this.setUnlessEqual("nodesToRender",n)}else if(n.length){const e=new Set(n);this.setUnlessEqual("nodesToRender",this.nodesToRender.filter(t=>!e.has(t)))}this.persistState()},getFromStorage(e,t=null){const n=Fo["b"].get(Ul,{}),i=n[this.technologyPath];return i?e?i[e]||t:i:t},persistState(){const e={path:this.lastActivePathItem},{path:t}=this.activeUID&&this.childrenMap[this.activeUID]||e,n={technology:this.technology,path:t,hasApiChanges:!!this.apiChanges,openNodes:Object.keys(this.openNodes).map(Number),nodesToRender:this.nodesToRender.map(({uid:e})=>e),activeUID:this.activeUID,filter:this.filter,selectedTags:this.selectedTags},i={...Fo["b"].get(Ul,{}),[this.technologyPath]:n};Fo["b"].set(Ul,i)},clearPersistedState(){const e={...Fo["b"].get(Ul,{}),[this.technologyPath]:{}};Fo["b"].set(Ul,e)},restorePersistedState(){const e=this.getFromStorage();if(!e||e.path!==this.lastActivePathItem)return this.clearPersistedState(),void this.handleActivePathChange(this.activePath);const{technology:t,nodesToRender:n=[],filter:i="",hasAPIChanges:a=!1,activeUID:s=null,selectedTags:r=[],openNodes:o}=e;if(!n.length&&!i&&!r.length)return this.clearPersistedState(),void this.handleActivePathChange(this.activePath);const{childrenMap:l}=this,c=n.every(e=>l[e]),d=s?(this.childrenMap[s]||{}).path===this.lastActivePathItem:1===this.activePath.length;if(t!==this.technology||!c||a!==Boolean(this.apiChanges)||!d||s&&!i&&!r.length&&!n.includes(s))return this.clearPersistedState(),void this.handleActivePathChange(this.activePath);this.setUnlessEqual("openNodes",Object.fromEntries(o.map(e=>[e,!0]))),this.setUnlessEqual("nodesToRender",n.map(e=>l[e])),this.selectedTags=r,this.filter=i,this.debouncedFilter=this.filter,this.activeUID=s,this.scrollToElement()},async scrollToElement(){if(await Object(Ee["b"])(1),!this.$refs.scroller)return;if(this.hasFilter&&!this.deprecatedHidden)return void this.$refs.scroller.scrollToItem(0);const e=document.getElementById(this.activeUID);if(e&&0===this.getChildPositionInScroller(e))return;const t=this.nodesToRender.findIndex(e=>e.uid===this.activeUID);-1!==t&&this.$refs.scroller.scrollToItem(t)},getChildPositionInScroller(e){if(!e)return 0;const{paddingTop:t,paddingBottom:n}=getComputedStyle(this.$refs.scroller.$el),i={top:parseInt(t,10)||0,bottom:parseInt(n,10)||0},{y:a,height:s}=this.$refs.scroller.$el.getBoundingClientRect(),{y:r}=e.getBoundingClientRect(),o=e.offsetParent.offsetHeight,l=r-a-i.top;return l<0?-1:l+o>=s-i.bottom?1:0},isInsideScroller(e){return this.$refs.scroller.$el.contains(e)},handleFocusIn({target:e}){this.lastFocusTarget=e;const t=this.getChildPositionInScroller(e);if(0===t)return;const{offsetHeight:n}=e.offsetParent;this.$refs.scroller.$el.scrollBy({top:n*t,left:0})},handleFocusOut(e){e.relatedTarget&&(this.isInsideScroller(e.relatedTarget)||(this.lastFocusTarget=null))},handleScrollerUpdate:Ir((async function(){await Object(Ee["a"])(300),this.lastFocusTarget&&this.isInsideScroller(this.lastFocusTarget)&&document.activeElement!==this.lastFocusTarget&&this.lastFocusTarget.focus({preventScroll:!0})}),50),setActiveUID(e){this.activeUID=e},handleNavigationChange(e){this.childrenMap[e].path.startsWith(this.technologyPath)&&this.setActiveUID(e)},pathsToFlatChildren(e){const t=e.slice(0).reverse(),{childrenMap:n}=this;let i=this.children;const a=[];while(t.length){const e=t.pop(),s=i.find(t=>t.path===e);if(!s)break;a.push(s),t.length&&(i=s.childUIDs.map(e=>n[e]))}return a},handleActivePathChange(e){const t=this.childrenMap[this.activeUID],n=Vl(e);if(t){if(n===t.path)return;const e=Xs(this.activeUID,this.childrenMap,this.children),i=Gs(this.activeUID,this.childrenMap,this.children),a=Qs(this.activeUID,this.childrenMap),s=[...i,...e,...a].find(e=>e.path===n);if(s)return void this.setActiveUID(s.uid)}const i=this.pathsToFlatChildren(e);i.length?this.setActiveUID(i[i.length-1].uid):this.activeUID?this.setActiveUID(null):this.trackOpenNodes(this.nodeChangeDeps)},updateFocusIndexExternally(){this.externalFocusChange=!0,this.activeIndex>0?this.focusIndex(this.activeIndex):this.focusIndex(0)},focusNodeParent(e){const t=this.childrenMap[e.parent];if(!t)return;const n=this.nodesToRender.findIndex(e=>e.uid===t.uid);-1!==n&&this.focusIndex(n)}}},ac=ic,sc=(n("8e4d"),Object(K["a"])(ac,dl,ul,!1,null,"1543892a",null)),rc=sc.exports,oc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseNavigatorCard",e._b({on:{close:function(t){return e.$emit("close")}},scopedSlots:e._u([{key:"body",fn:function(t){var i=t.className;return[n("transition",{attrs:{name:"delay-visibility"}},[n("div",{staticClass:"loading-navigator",class:i,attrs:{"aria-hidden":"true"}},e._l(e.LOADER_ROWS,(function(e,t){return n("LoadingNavigatorItem",{key:t,attrs:{index:t,width:e.width,hideNavigatorIcon:e.hideNavigatorIcon}})})),1)])]}}])},"BaseNavigatorCard",e.$props,!1))},lc=[],cc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseNavigatorCardItem",{staticClass:"loading-navigator-item",style:"--index: "+e.index+";",attrs:{hideNavigatorIcon:e.hideNavigatorIcon},scopedSlots:e._u([{key:"navigator-icon",fn:function(e){var t=e.className;return[n("div",{class:t})]}},{key:"title-container",fn:function(){return[n("div",{staticClass:"loader",style:{width:e.width}})]},proxy:!0}])})},dc=[],uc={name:"LoadingNavigatorItem",components:{BaseNavigatorCardItem:kl},props:{...kl.props,index:{type:Number,default:0},width:{type:String,default:"50%"}}},hc=uc,pc=(n("d1b4"),Object(K["a"])(hc,cc,dc,!1,null,"0de29914",null)),gc=pc.exports;const fc=[{width:"30%",hideNavigatorIcon:!0},{width:"80%"},{width:"50%"}];var mc={name:"LoadingNavigatorCard",components:{BaseNavigatorCard:Hl,LoadingNavigatorItem:gc},props:{...Hl.props},data(){return{LOADER_ROWS:fc}}},yc=mc,vc=(n("115d"),Object(K["a"])(yc,oc,lc,!1,null,"4b6d345f",null)),bc=vc.exports,Tc={name:"Navigator",components:{NavigatorCard:rc,LoadingNavigatorCard:bc},data(){return{INDEX_ROOT_KEY:Ks}},props:{flatChildren:{type:Array,required:!0},parentTopicIdentifiers:{type:Array,required:!0},technology:{type:Object,required:!0},isFetching:{type:Boolean,default:!1},references:{type:Object,default:()=>{}},navigatorReferences:{type:Object,default:()=>{}},scrollLockID:{type:String,default:""},errorFetching:{type:Boolean,default:!1},renderFilterOnTop:{type:Boolean,default:!1},apiChanges:{type:Object,default:null},allowHiding:{type:Boolean,default:!0}},computed:{parentTopicReferences({references:e,parentTopicIdentifiers:t}){return t.reduce((t,n)=>{const i=e[n];return i?t.concat(i):(console.error(`Reference for "${n}" is missing`),t)},[])},activePath({parentTopicReferences:e,$route:{path:t}}){if(t=t.replace(/\/$/,"").toLowerCase(),!e.length)return[t];let n=1;return"technologies"===e[0].kind&&(n=2),e.slice(n).map(e=>e.url).concat(t)},type:()=>Ce["b"].module,technologyProps:({technology:e})=>({technology:e.title,technologyPath:e.path||e.url,isTechnologyBeta:e.beta})}},Sc=Tc,_c=(n("9c7e"),Object(K["a"])(Sc,ll,cl,!1,null,"159b9764",null)),Cc=_c.exports,kc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavBase",{staticClass:"documentation-nav",attrs:{breakpoint:e.BreakpointName.medium,hasOverlay:!1,hasSolidBackground:"",hasNoBorder:e.hasNoBorder,isDark:e.isDark,isWideFormat:"",hasFullWidthBorder:"","aria-label":e.$t("api-reference")},scopedSlots:e._u([e.displaySidenav?{key:"pre-title",fn:function(t){var i=t.closeNav,a=t.isOpen,s=t.currentBreakpoint,r=t.className;return[n("div",{class:r},[n("transition",{attrs:{name:"sidenav-toggle"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.sidenavHiddenOnLarge,expression:"sidenavHiddenOnLarge"}],staticClass:"sidenav-toggle-wrapper"},[n("button",{staticClass:"sidenav-toggle",attrs:{"aria-label":e.$t("navigator.open-navigator"),id:e.baseNavOpenSidenavButtonId,tabindex:a?-1:null},on:{click:function(t){return t.preventDefault(),e.handleSidenavToggle(i,s)}}},[n("span",{staticClass:"sidenav-icon-wrapper"},[n("SidenavIcon",{staticClass:"icon-inline sidenav-icon"})],1)]),n("span",{staticClass:"sidenav-toggle__separator"})])])],1)]}}:null,{key:"tray",fn:function(t){var i=t.closeNav;return[n("Hierarchy",{attrs:{currentTopicTitle:e.title,isSymbolDeprecated:e.isSymbolDeprecated,isSymbolBeta:e.isSymbolBeta,parentTopicIdentifiers:e.hierarchyItems,currentTopicTags:e.currentTopicTags,references:e.references}}),n("NavMenuItems",{staticClass:"nav-menu-settings",attrs:{previousSiblingChildren:e.breadcrumbCount}},[e.interfaceLanguage&&(e.swiftPath||e.objcPath)?n("LanguageToggle",{attrs:{interfaceLanguage:e.interfaceLanguage,objcPath:e.objcPath,swiftPath:e.swiftPath,closeNav:i}}):e._e(),e._t("menu-items")],2),e._t("tray-after",null,null,{breadcrumbCount:e.breadcrumbCount})]}}],null,!0)},[n("template",{slot:"default"},[e._t("title",(function(){return[e.rootLink?n("router-link",{staticClass:"nav-title-link",attrs:{to:e.rootLink}},[e._v(" "+e._s(e.$t("documentation.title"))+" ")]):n("span",{staticClass:"nav-title-link inactive"},[e._v(e._s(e.$t("documentation.title")))])]}),null,{rootLink:e.rootLink,linkClass:"nav-title-link",inactiveClass:"inactive"})],2),n("template",{slot:"after-content"},[e._t("after-content")],2)],2)},wc=[],Ic=n("cbcf"),xc=n("9b30"),$c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavMenuItems",{staticClass:"hierarchy",class:{"has-badge":e.hasBadge},attrs:{"aria-label":e.$t("documentation.nav.breadcrumbs")}},[e.root?n("HierarchyItem",{key:e.root.title,staticClass:"root-hierarchy",attrs:{url:e.addQueryParamsToUrl(e.root.url)}},[e._v(" "+e._s(e.root.title)+" ")]):e._e(),e._l(e.collapsibleItems,(function(t){return n("HierarchyItem",{key:t.title,attrs:{isCollapsed:"",url:e.addQueryParamsToUrl(t.url)}},[e._v(" "+e._s(t.title)+" ")])})),e.collapsibleItems.length?n("HierarchyCollapsedItems",{attrs:{topics:e.collapsibleItems}}):e._e(),e._l(e.nonCollapsibleItems,(function(t){return n("HierarchyItem",{key:t.title,attrs:{url:e.addQueryParamsToUrl(t.url)}},[e._v(" "+e._s(t.title)+" ")])})),n("HierarchyItem",[e._v(" "+e._s(e.currentTopicTitle)+" "),n("template",{slot:"tags"},[e.isSymbolDeprecated?n("Badge",{attrs:{variant:"deprecated"}}):e.isSymbolBeta?n("Badge",{attrs:{variant:"beta"}}):e._e(),e._l(e.currentTopicTags,(function(t){return n("Badge",{key:t.type+"-"+t.text,attrs:{variant:t.type}},[e._v(" "+e._s(t.text)+" ")])}))],2)],2)],2)},Oc=[],Dc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"hierarchy-collapsed-items"},[n("span",{staticClass:"hierarchy-item-icon icon-inline"},[e._v("/")]),n("button",{ref:"btn",staticClass:"toggle",class:{focused:!e.collapsed},on:{click:e.toggleCollapsed}},[n("span",{staticClass:"indicator"},[n("EllipsisIcon",{staticClass:"icon-inline toggle-icon"})],1)]),n("ul",{ref:"dropdown",staticClass:"dropdown",class:{collapsed:e.collapsed}},e._l(e.topicsWithUrls,(function(t){return n("li",{key:t.title,staticClass:"dropdown-item"},[n("router-link",{staticClass:"nav-menu-link",attrs:{to:t.url}},[e._v(e._s(t.title))])],1)})),0)])},Pc=[],Lc=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"ellipsis-icon",attrs:{viewBox:"0 0 14 14",themeId:"ellipsis"}},[n("path",{attrs:{d:"m12.439 7.777v-1.554h-1.554v1.554zm-4.662 0v-1.554h-1.554v1.554zm-4.662 0v-1.554h-1.554v1.554z"}})])},Ac=[],Nc={name:"EllipsisIcon",components:{SVGIcon:fr["a"]}},Ec=Nc,jc=Object(K["a"])(Ec,Lc,Ac,!1,null,null,null),Bc=jc.exports,Rc={name:"HierarchyCollapsedItems",components:{EllipsisIcon:Bc},data:()=>({collapsed:!0}),props:{topics:{type:Array,required:!0}},watch:{collapsed(e,t){t&&!e?document.addEventListener("click",this.handleDocumentClick,!1):!t&&e&&document.removeEventListener("click",this.handleDocumentClick,!1)}},beforeDestroy(){document.removeEventListener("click",this.handleDocumentClick,!1)},computed:{topicsWithUrls:({$route:e,topics:t})=>t.map(t=>({...t,url:Object(P["b"])(t.url,e.query)}))},methods:{handleDocumentClick(e){const{target:t}=e,{collapsed:n,$refs:{btn:i,dropdown:a}}=this,s=!i.contains(t)&&!a.contains(t);!n&&s&&(this.collapsed=!0)},toggleCollapsed(){this.collapsed=!this.collapsed}}},Mc=Rc,zc=(n("2ca2"),Object(K["a"])(Mc,Dc,Pc,!1,null,"74906830",null)),Kc=zc.exports,qc=function(e,t){var n=t._c;return n(t.$options.components.NavMenuItemBase,{tag:"component",staticClass:"hierarchy-item",class:[{collapsed:t.props.isCollapsed},t.data.staticClass]},[n("span",{staticClass:"hierarchy-item-icon icon-inline"},[t._v("/")]),t.props.url?n("router-link",{staticClass:"parent item nav-menu-link",attrs:{to:t.props.url}},[t._t("default")],2):[n("span",{staticClass:"current item"},[t._t("default")],2),t._t("tags")]],2)},Fc=[],Hc=n("863d"),Vc={name:"HierarchyItem",components:{NavMenuItemBase:Hc["a"],InlineChevronRightIcon:vl["a"]},props:{isCollapsed:Boolean,url:{type:String,required:!1}}},Wc=Vc,Uc=(n("260a"),Object(K["a"])(Wc,qc,Fc,!0,null,"382bf39e",null)),Gc=Uc.exports;const Qc=3;var Xc={name:"Hierarchy",components:{Badge:ei["a"],NavMenuItems:xc["a"],HierarchyCollapsedItems:Kc,HierarchyItem:Gc},constants:{MaxVisibleLinks:Qc},inject:["store"],props:{isSymbolDeprecated:Boolean,isSymbolBeta:Boolean,references:Object,currentTopicTitle:{type:String,required:!0},parentTopicIdentifiers:{type:Array,default:()=>[]},currentTopicTags:{type:Array,default:()=>[]}},computed:{windowWidth:({store:e})=>e.state.contentWidth,parentTopics(){return this.parentTopicIdentifiers.reduce((e,t)=>{const n=this.references[t];if(n){const{title:t,url:i}=n;return e.concat({title:t,url:i})}return console.error(`Reference for "${t}" is missing`),e},[])},root:({parentTopics:e,windowWidth:t})=>t<=1e3?null:e[0],firstItemSlice:({root:e})=>e?1:0,linksAfterCollapse:({windowWidth:e,hasBadge:t})=>{const n=t?1:0;return e>1200?Qc-n:e>1e3?Qc-1-n:e>=800?Qc-2-n:0},collapsibleItems:({parentTopics:e,linksAfterCollapse:t,firstItemSlice:n})=>t?e.slice(n,-t):e.slice(n),nonCollapsibleItems:({parentTopics:e,linksAfterCollapse:t,firstItemSlice:n})=>t?e.slice(n).slice(-t):[],hasBadge:({isSymbolDeprecated:e,isSymbolBeta:t,currentTopicTags:n})=>e||t||n.length},methods:{addQueryParamsToUrl(e){return Object(P["b"])(e,this.$route.query)}}},Yc=Xc,Jc=(n("5208"),Object(K["a"])(Yc,$c,Oc,!1,null,"c2bd6086",null)),Zc=Jc.exports,ed=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavMenuItemBase",{staticClass:"nav-menu-setting language-container"},[n("div",{class:{"language-toggle-container":e.hasLanguages}},[n("select",{ref:"language-sizer",staticClass:"language-dropdown language-sizer",attrs:{"aria-hidden":"true",tabindex:"-1"}},[n("option",{key:e.currentLanguage.name,attrs:{selected:""}},[e._v(e._s(e.currentLanguage.name))])]),n("label",{staticClass:"nav-menu-setting-label",attrs:{for:e.hasLanguages?"language-toggle":null}},[e._v(e._s(e.$t("formats.colon",{content:e.$t("language")})))]),e.hasLanguages?n("select",{directives:[{name:"model",rawName:"v-model",value:e.languageModel,expression:"languageModel"}],staticClass:"language-dropdown nav-menu-link",style:"width: "+e.adjustedWidth+"px",attrs:{id:"language-toggle"},on:{change:[function(t){var n=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.languageModel=t.target.multiple?n:n[0]},function(t){return e.pushRoute(e.currentLanguage.route)}]}},e._l(e.languages,(function(t){return n("option",{key:t.api,domProps:{value:t.api}},[e._v(" "+e._s(t.name)+" ")])})),0):n("span",{staticClass:"nav-menu-toggle-none current-language",attrs:{"aria-current":"page"}},[e._v(e._s(e.currentLanguage.name))]),e.hasLanguages?n("InlineChevronDownIcon",{staticClass:"toggle-icon icon-inline"}):e._e()],1),e.hasLanguages?n("div",{staticClass:"language-list-container"},[n("span",{staticClass:"nav-menu-setting-label"},[e._v(e._s(e.$t("formats.colon",{content:e.$t("language")})))]),n("ul",{staticClass:"language-list"},e._l(e.languages,(function(t){return n("li",{key:t.api,staticClass:"language-list-item"},[t.api===e.languageModel?n("span",{staticClass:"current-language",attrs:{"data-language":t.api,"aria-current":"page"}},[e._v(" "+e._s(t.name)+" ")]):n("a",{staticClass:"nav-menu-link",attrs:{href:"#"},on:{click:function(n){return n.preventDefault(),e.pushRoute(t.route)}}},[e._v(" "+e._s(t.name)+" ")])])})),0)]):e._e()])},td=[],nd=n("7948"),id={name:"LanguageToggle",components:{InlineChevronDownIcon:nd["a"],NavMenuItemBase:Hc["a"]},inject:{store:{default(){return{setPreferredLanguage(){}}}}},props:{interfaceLanguage:{type:String,required:!0},objcPath:{type:String,required:!1},swiftPath:{type:String,required:!1},closeNav:{type:Function,default:()=>{}}},data(){return{languageModel:null,adjustedWidth:0}},mounted(){const e=Ne(async()=>{await Object(Ee["b"])(3),this.calculateSelectWidth()},150);window.addEventListener("resize",e),window.addEventListener("orientationchange",e),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)})},watch:{interfaceLanguage:{immediate:!0,handler(e){this.languageModel=e}},currentLanguage:{immediate:!0,handler:"calculateSelectWidth"}},methods:{getRoute(e){const t=e.query===O["a"].swift.key.url?void 0:e.query;return{query:{...this.$route.query,language:t},path:this.isCurrentPath(e.path)?null:Object(L["d"])(e.path)}},async pushRoute(e){await this.closeNav(),this.store.setPreferredLanguage(e.query),this.$router.push(this.getRoute(e))},isCurrentPath(e){return this.$route.path.replace(/^\//,"")===e},async calculateSelectWidth(){await this.$nextTick(),this.adjustedWidth=this.$refs["language-sizer"].clientWidth+6}},computed:{languages(){return[{name:O["a"].swift.name,api:O["a"].swift.key.api,route:{path:this.swiftPath,query:O["a"].swift.key.url}},{name:O["a"].objectiveC.name,api:O["a"].objectiveC.key.api,route:{path:this.objcPath,query:O["a"].objectiveC.key.url}}]},currentLanguage:({languages:e,languageModel:t})=>e.find(e=>e.api===t),hasLanguages:({objcPath:e,swiftPath:t})=>t&&e}},ad=id,sd=(n("b857"),Object(K["a"])(ad,ed,td,!1,null,"d12167e0",null)),rd=sd.exports,od={name:"DocumentationNav",components:{SidenavIcon:zl,NavBase:Ic["a"],NavMenuItems:xc["a"],Hierarchy:Zc,LanguageToggle:rd},props:{title:{type:String,required:!1},parentTopicIdentifiers:{type:Array,required:!1},isSymbolBeta:{type:Boolean,required:!1},isSymbolDeprecated:{type:Boolean,required:!1},isDark:{type:Boolean,default:!1},hasNoBorder:{type:Boolean,default:!1},currentTopicTags:{type:Array,required:!0},references:{type:Object,default:()=>({})},interfaceLanguage:{type:String,required:!1},objcPath:{type:String,required:!1},swiftPath:{type:String,required:!1},sidenavHiddenOnLarge:{type:Boolean,default:!1},displaySidenav:{type:Boolean,default:!1}},computed:{baseNavOpenSidenavButtonId:()=>Go["d"],BreakpointName:()=>Vo["b"],breadcrumbCount:({hierarchyItems:e})=>e.length+1,rootHierarchyReference:({parentTopicIdentifiers:e,references:t})=>t[e[0]]||{},isRootTechnologyLink:({rootHierarchyReference:{kind:e}})=>"technologies"===e,rootLink:({isRootTechnologyLink:e,rootHierarchyReference:t,$route:n})=>e?{path:t.url,query:n.query}:null,hierarchyItems:({parentTopicIdentifiers:e,isRootTechnologyLink:t})=>t?e.slice(1):e},methods:{async handleSidenavToggle(e,t){await e(),this.$emit("toggle-sidenav",t),await this.$nextTick();const n=document.getElementById(Fs);n&&n.focus()}}},ld=od,cd=(n("c61f"),Object(K["a"])(ld,kc,wc,!1,null,"138d523a",null)),dd=cd.exports,ud=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"StaticContentWidth"},[e._t("default")],2)},hd=[],pd={name:"StaticContentWidth",inject:["store"],mounted(){const e=Ne(async()=>{await this.$nextTick(),this.store.setContentWidth(this.$el.offsetWidth)},150);window.addEventListener("resize",e),window.addEventListener("orientationchange",e),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}),e()}},gd=pd,fd=Object(K["a"])(gd,ud,hd,!1,null,null,null),md=fd.exports,yd=n("3bdd"),vd=n("4009");const bd="symbol";var Td={watch:{topicData:{immediate:!0,handler:"extractOnThisPageSections"}},methods:{shouldRegisterContentSection(e){return e.type===_n["BlockType"].heading&&e.level<4},extractOnThisPageSections(e){if(!e)return;this.store.resetPageSections();const{metadata:{title:t},primaryContentSections:n,topicSections:i,defaultImplementationsSections:a,relationshipsSections:s,seeAlsoSections:r,kind:o}=e;this.store.addOnThisPageSection({title:t,anchor:vd["a"],level:1,isSymbol:o===bd},{i18n:!1}),n&&n.forEach(e=>{switch(e.kind){case Ke.content:At["a"].methods.forEach.call(e,e=>{this.shouldRegisterContentSection(e)&&this.store.addOnThisPageSection({title:e.text,anchor:e.anchor||Object(nn["a"])(e.text),level:e.level},{i18n:!1})});break;case Ke.properties:case Ke.restBody:case Ke.restCookies:case Ke.restEndpoint:case Ke.restHeaders:case Ke.restParameters:case Ke.restResponses:this.store.addOnThisPageSection({title:e.title,anchor:Object(nn["a"])(e.title),level:2});break;default:qt[e.kind]&&this.store.addOnThisPageSection(qt[e.kind])}}),i&&this.store.addOnThisPageSection(Kt.topics),a&&this.store.addOnThisPageSection(Kt.defaultImplementations),s&&this.store.addOnThisPageSection(Kt.relationships),r&&this.store.addOnThisPageSection(Kt.seeAlso)}}},Sd=n("9b56");const _d="0.3.0",Cd="navigator-hidden-large",{extractProps:kd}=Is.methods;var wd={name:"DocumentationTopicView",constants:{MIN_RENDER_JSON_VERSION_WITH_INDEX:_d,NAVIGATOR_HIDDEN_ON_LARGE_KEY:Cd},components:{Navigator:Cc,AdjustableSidebarWidth:ol,StaticContentWidth:md,NavigatorDataProvider:nr,Topic:Is,CodeTheme:Bs["a"],Nav:dd,QuickNavigationButton:lr,QuickNavigationModal:zo,PortalTarget:I["PortalTarget"]},mixins:[Ms["a"],zs["a"],Td],props:{enableMinimized:{type:Boolean,default:!1}},data(){return{topicDataDefault:null,topicDataObjc:null,sidenavVisibleOnMobile:!1,sidenavHiddenOnLarge:Fo["c"].get(Cd,!1),showQuickNavigationModal:!1,store:js,BreakpointName:Vo["b"]}},computed:{objcOverrides:({topicData:e})=>{const{variantOverrides:t=[]}=e||{},n=({interfaceLanguage:e})=>e===O["a"].objectiveC.key.api,i=({traits:e})=>e.some(n),a=t.find(i);return a?a.patch:null},enableQuickNavigation:({isTargetIDE:e})=>!e&&Object(Ze["c"])(["features","docs","quickNavigation","enable"],!0),topicData:{get(){return this.topicDataObjc?this.topicDataObjc:this.topicDataDefault},set(e){this.topicDataDefault=e}},topicKey:({$route:e,topicProps:t})=>[e.path,t.interfaceLanguage].join(),topicProps(){return kd(this.topicData)},parentTopicIdentifiers:({topicProps:{hierarchy:{paths:e=[]},references:t},$route:n})=>e.length?e.find(e=>{const i=e.find(e=>t[e]&&"technologies"!==t[e].kind),a=i&&t[i];return a&&n.path.toLowerCase().startsWith(a.url.toLowerCase())})||e[0]:[],technology:({$route:e,topicProps:{identifier:t,references:n,role:i,title:a},parentTopicIdentifiers:s})=>{const r={title:a,url:e.path},o=n[t];if(!s.length)return o||r;const l=n[s[0]];return l&&"technologies"!==l.kind?l:(i!==k["a"].collection||o)&&(l&&n[s[1]]||o)||r},languagePaths:({topicData:{variants:e=[]}})=>e.reduce((e,t)=>t.traits.reduce((e,n)=>n.interfaceLanguage?{...e,[n.interfaceLanguage]:(e[n.interfaceLanguage]||[]).concat(t.paths)}:e,e),{}),objcPath:({languagePaths:{[O["a"].objectiveC.key.api]:[e]=[]}={}})=>e,swiftPath:({languagePaths:{[O["a"].swift.key.api]:[e]=[]}={}})=>e,isSymbolBeta:({topicProps:{platforms:e}})=>!!(e&&e.length&&e.every(e=>e.beta)),isSymbolDeprecated:({topicProps:{platforms:e,deprecationSummary:t}})=>!!(t&&t.length>0||e&&e.length&&e.every(e=>e.deprecatedAt)),enableNavigator:({isTargetIDE:e,topicDataDefault:t})=>!e&&Object(yd["b"])(Object(yd["a"])(t.schemaVersion),_d)>=0,enableOnThisPageNav:({isTargetIDE:e})=>!Object(Ze["c"])(["features","docs","onThisPageNavigator","disable"],!1)&&!e,sidebarProps:({sidenavVisibleOnMobile:e,enableNavigator:t,sidenavHiddenOnLarge:n})=>t?{shownOnMobile:e,hiddenOnLarge:n}:{},sidebarListeners(){return this.enableNavigator?{"update:shownOnMobile":this.toggleMobileSidenav,"update:hiddenOnLarge":this.toggleLargeSidenav}:{}}},methods:{applyObjcOverrides(){this.topicDataObjc=C(Object(w["a"])(this.topicData),this.objcOverrides)},handleCodeColorsChange(e){Rs["a"].updateCodeColors(e)},handleToggleSidenav(e){e===Vo["b"].large?this.toggleLargeSidenav():this.toggleMobileSidenav()},openQuickNavigationModal(){this.sidenavVisibleOnMobile||(this.showQuickNavigationModal=!0)},toggleLargeSidenav(e=!this.sidenavHiddenOnLarge){this.sidenavHiddenOnLarge=e,Fo["c"].set(Cd,e)},toggleMobileSidenav(e=!this.sidenavVisibleOnMobile){this.sidenavVisibleOnMobile=e},onQuickNavigationKeydown(e){("/"===e.key||"o"===e.key&&e.shiftKey&&e.metaKey)&&this.enableNavigator&&"input"!==e.target.tagName.toLowerCase()&&(this.openQuickNavigationModal(),e.preventDefault())}},mounted(){this.$bridge.on("contentUpdate",this.handleContentUpdateFromBridge),this.$bridge.on("codeColors",this.handleCodeColorsChange),this.$bridge.send({type:"requestCodeColors"}),this.enableQuickNavigation&&window.addEventListener("keydown",this.onQuickNavigationKeydown)},provide(){return{store:this.store}},inject:{isTargetIDE:{default(){return!1}}},beforeDestroy(){this.$bridge.off("contentUpdate",this.handleContentUpdateFromBridge),this.$bridge.off("codeColors",this.handleCodeColorsChange),this.enableQuickNavigation&&window.removeEventListener("keydown",this.onQuickNavigationKeydown)},beforeRouteEnter(e,t,n){e.meta.skipFetchingData?n(e=>e.newContentMounted()):Object(w["c"])(e,t,n).then(t=>n(n=>{Object(Sd["c"])(e.params.locale,n),n.topicData=t,e.query.language===O["a"].objectiveC.key.url&&n.objcOverrides&&n.applyObjcOverrides()})).catch(n)},beforeRouteUpdate(e,t,n){e.path===t.path&&e.query.language===O["a"].objectiveC.key.url&&this.objcOverrides?(this.applyObjcOverrides(),n()):Object(w["e"])(e,t)?Object(w["c"])(e,t,n).then(t=>{this.topicDataObjc=null,this.topicData=t,e.query.language===O["a"].objectiveC.key.url&&this.objcOverrides&&this.applyObjcOverrides(),Object(Sd["c"])(e.params.locale,this),n()}).catch(n):n()},created(){this.store.reset()},watch:{topicData(){this.$nextTick(()=>{this.newContentMounted()})}}},Id=wd,xd=(n("857c"),Object(K["a"])(Id,i,a,!1,null,"4a89caca",null));t["default"]=xd.exports},f9c9:function(e,t,n){}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/documentation-topic~topic.1679ec90.js b/document/MixSdk.doccarchive/js/documentation-topic~topic.1679ec90.js
new file mode 100644 (file)
index 0000000..5203308
--- /dev/null
@@ -0,0 +1,20 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["documentation-topic~topic"],{"1c3f":function(t,e,n){"use strict";n("b826")},"2b88":function(t,e,n){"use strict";
+/*! 
+  * portal-vue © Thorsten Lünborg, 2019 
+  * 
+  * Version: 2.1.7
+  * 
+  * LICENCE: MIT 
+  * 
+  * https://github.com/linusborg/portal-vue
+  * 
+ */function s(t){return t&&"object"===typeof t&&"default"in t?t["default"]:t}Object.defineProperty(e,"__esModule",{value:!0});var r=s(n("2b0e"));function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){return i(t)||l(t)||c()}function i(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}function l(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function c(){throw new TypeError("Invalid attempt to spread non-iterable instance")}var u="undefined"!==typeof window;function h(t){return Array.isArray(t)||"object"===o(t)?Object.freeze(t):t}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.reduce((function(t,n){var s=n.passengers[0],r="function"===typeof s?s(e):n.passengers;return t.concat(r)}),[])}function f(t,e){return t.map((function(t,e){return[e,t]})).sort((function(t,n){return e(t[1],n[1])||t[0]-n[0]})).map((function(t){return t[1]}))}function p(t,e){return e.reduce((function(e,n){return t.hasOwnProperty(n)&&(e[n]=t[n]),e}),{})}var m={},g={},y={},b=r.extend({data:function(){return{transports:m,targets:g,sources:y,trackInstances:u}},methods:{open:function(t){if(u){var e=t.to,n=t.from,s=t.passengers,o=t.order,a=void 0===o?1/0:o;if(e&&n&&s){var i={to:e,from:n,passengers:h(s),order:a},l=Object.keys(this.transports);-1===l.indexOf(e)&&r.set(this.transports,e,[]);var c=this.$_getTransportIndex(i),d=this.transports[e].slice(0);-1===c?d.push(i):d[c]=i,this.transports[e]=f(d,(function(t,e){return t.order-e.order}))}}},close:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.to,s=t.from;if(n&&(s||!1!==e)&&this.transports[n])if(e)this.transports[n]=[];else{var r=this.$_getTransportIndex(t);if(r>=0){var o=this.transports[n].slice(0);o.splice(r,1),this.transports[n]=o}}},registerTarget:function(t,e,n){u&&(this.trackInstances&&!n&&this.targets[t]&&console.warn("[portal-vue]: Target ".concat(t," already exists")),this.$set(this.targets,t,Object.freeze([e])))},unregisterTarget:function(t){this.$delete(this.targets,t)},registerSource:function(t,e,n){u&&(this.trackInstances&&!n&&this.sources[t]&&console.warn("[portal-vue]: source ".concat(t," already exists")),this.$set(this.sources,t,Object.freeze([e])))},unregisterSource:function(t){this.$delete(this.sources,t)},hasTarget:function(t){return!(!this.targets[t]||!this.targets[t][0])},hasSource:function(t){return!(!this.sources[t]||!this.sources[t][0])},hasContentFor:function(t){return!!this.transports[t]&&!!this.transports[t].length},$_getTransportIndex:function(t){var e=t.to,n=t.from;for(var s in this.transports[e])if(this.transports[e][s].from===n)return+s;return-1}}}),v=new b(m),T=1,S=r.extend({name:"portal",props:{disabled:{type:Boolean},name:{type:String,default:function(){return String(T++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}}},created:function(){var t=this;this.$nextTick((function(){v.registerSource(t.name,t)}))},mounted:function(){this.disabled||this.sendUpdate()},updated:function(){this.disabled?this.clear():this.sendUpdate()},beforeDestroy:function(){v.unregisterSource(this.name),this.clear()},watch:{to:function(t,e){e&&e!==t&&this.clear(e),this.sendUpdate()}},methods:{clear:function(t){var e={from:this.name,to:t||this.to};v.close(e)},normalizeSlots:function(){return this.$scopedSlots.default?[this.$scopedSlots.default]:this.$slots.default},normalizeOwnChildren:function(t){return"function"===typeof t?t(this.slotProps):t},sendUpdate:function(){var t=this.normalizeSlots();if(t){var e={from:this.name,to:this.to,passengers:a(t),order:this.order};v.open(e)}else this.clear()}},render:function(t){var e=this.$slots.default||this.$scopedSlots.default||[],n=this.tag;return e&&this.disabled?e.length<=1&&this.slim?this.normalizeOwnChildren(e)[0]:t(n,[this.normalizeOwnChildren(e)]):this.slim?t():t(n,{class:{"v-portal":!0},style:{display:"none"},key:"v-portal-placeholder"})}}),w=r.extend({name:"portalTarget",props:{multiple:{type:Boolean,default:!1},name:{type:String,required:!0},slim:{type:Boolean,default:!1},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},data:function(){return{transports:v.transports,firstRender:!0}},created:function(){var t=this;this.$nextTick((function(){v.registerTarget(t.name,t)}))},watch:{ownTransports:function(){this.$emit("change",this.children().length>0)},name:function(t,e){v.unregisterTarget(e),v.registerTarget(t,this)}},mounted:function(){var t=this;this.transition&&this.$nextTick((function(){t.firstRender=!1}))},beforeDestroy:function(){v.unregisterTarget(this.name)},computed:{ownTransports:function(){var t=this.transports[this.name]||[];return this.multiple?t:0===t.length?[]:[t[t.length-1]]},passengers:function(){return d(this.ownTransports,this.slotProps)}},methods:{children:function(){return 0!==this.passengers.length?this.passengers:this.$scopedSlots.default?this.$scopedSlots.default(this.slotProps):this.$slots.default||[]},noWrapper:function(){var t=this.slim&&!this.transition;return t&&this.children().length>1&&console.warn("[portal-vue]: PortalTarget with `slim` option received more than one child element."),t}},render:function(t){var e=this.noWrapper(),n=this.children(),s=this.transition||this.tag;return e?n[0]:this.slim&&!s?t():t(s,{props:{tag:this.transition&&this.tag?this.tag:void 0},class:{"vue-portal-target":!0}},n)}}),C=0,$=["disabled","name","order","slim","slotProps","tag","to"],k=["multiple","transition"],x=r.extend({name:"MountingPortal",inheritAttrs:!1,props:{append:{type:[Boolean,String]},bail:{type:Boolean},mountTo:{type:String,required:!0},disabled:{type:Boolean},name:{type:String,default:function(){return"mounted_"+String(C++)}},order:{type:Number,default:0},slim:{type:Boolean},slotProps:{type:Object,default:function(){return{}}},tag:{type:String,default:"DIV"},to:{type:String,default:function(){return String(Math.round(1e7*Math.random()))}},multiple:{type:Boolean,default:!1},targetSlim:{type:Boolean},targetSlotProps:{type:Object,default:function(){return{}}},targetTag:{type:String,default:"div"},transition:{type:[String,Object,Function]}},created:function(){if("undefined"!==typeof document){var t=document.querySelector(this.mountTo);if(t){var e=this.$props;if(v.targets[e.name])e.bail?console.warn("[portal-vue]: Target ".concat(e.name," is already mounted.\n        Aborting because 'bail: true' is set")):this.portalTarget=v.targets[e.name];else{var n=e.append;if(n){var s="string"===typeof n?n:"DIV",r=document.createElement(s);t.appendChild(r),t=r}var o=p(this.$props,k);o.slim=this.targetSlim,o.tag=this.targetTag,o.slotProps=this.targetSlotProps,o.name=this.to,this.portalTarget=new w({el:t,parent:this.$parent||this,propsData:o})}}else console.error("[portal-vue]: Mount Point '".concat(this.mountTo,"' not found in document"))}},beforeDestroy:function(){var t=this.portalTarget;if(this.append){var e=t.$el;e.parentNode.removeChild(e)}t.$destroy()},render:function(t){if(!this.portalTarget)return console.warn("[portal-vue] Target wasn't mounted"),t();if(!this.$scopedSlots.manual){var e=p(this.$props,$);return t(S,{props:e,attrs:this.$attrs,on:this.$listeners,scopedSlots:this.$scopedSlots},this.$slots.default)}var n=this.$scopedSlots.manual({to:this.to});return Array.isArray(n)&&(n=n[0]),n||t()}});function P(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.component(e.portalName||"Portal",S),t.component(e.portalTargetName||"PortalTarget",w),t.component(e.MountingPortalName||"MountingPortal",x)}var I={install:P};e.default=I,e.Portal=S,e.PortalTarget=w,e.MountingPortal=x,e.Wormhole=v},"66c9":function(t,e,n){"use strict";e["a"]={state:{codeColors:null},reset(){this.state.codeColors=null},updateCodeColors(t){const e=t=>t?`rgba(${t.red}, ${t.green}, ${t.blue}, ${t.alpha})`:null;this.state.codeColors=Object.entries(t).reduce((t,[n,s])=>({...t,[n]:e(s)}),{})}}},7948:function(t,e,n){"use strict";var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"inline-chevron-down-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-chevron-down"}},[n("path",{attrs:{d:"M12.634 2.964l0.76 0.649-6.343 7.426-6.445-7.423 0.755-0.655 5.683 6.545 5.59-6.542z"}})])},r=[],o=n("be08"),a={name:"InlineChevronDownIcon",components:{SVGIcon:o["a"]}},i=a,l=n("2877"),c=Object(l["a"])(i,s,r,!1,null,null,null);e["a"]=c.exports},8590:function(t,e,n){"use strict";var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{style:t.codeStyle},[t._t("default")],2)},r=[],o=n("66c9");const a=0,i=255;function l(t){const e=t.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*(\d+\.?\d*|\.\d+)\s*\)/);if(!e)throw new Error("invalid rgba() input");const n=10;return{r:parseInt(e[1],n),g:parseInt(e[2],n),b:parseInt(e[3],n),a:parseFloat(e[4])}}function c(t){const{r:e,g:n,b:s}=l(t);return.2126*e+.7152*n+.0722*s}function u(t,e){const n=Math.round(i*e),s=l(t),{a:r}=s,[o,c,u]=[s.r,s.g,s.b].map(t=>Math.max(a,Math.min(i,t+n)));return`rgba(${o}, ${c}, ${u}, ${r})`}function h(t,e){return u(t,e)}function d(t,e){return u(t,-1*e)}var f={name:"CodeTheme",data(){return{codeThemeState:o["a"].state}},computed:{codeStyle(){const{codeColors:t}=this.codeThemeState;return t?{"--text":t.text,"--background":t.background,"--line-highlight":t.lineHighlight,"--url":t.commentURL,"--syntax-comment":t.comment,"--syntax-quote":t.comment,"--syntax-keyword":t.keyword,"--syntax-literal":t.keyword,"--syntax-selector-tag":t.keyword,"--syntax-string":t.stringLiteral,"--syntax-bullet":t.stringLiteral,"--syntax-meta":t.keyword,"--syntax-number":t.stringLiteral,"--syntax-symbol":t.stringLiteral,"--syntax-tag":t.stringLiteral,"--syntax-attr":t.typeAnnotation,"--syntax-built_in":t.typeAnnotation,"--syntax-builtin-name":t.typeAnnotation,"--syntax-class":t.typeAnnotation,"--syntax-params":t.typeAnnotation,"--syntax-section":t.typeAnnotation,"--syntax-title":t.typeAnnotation,"--syntax-type":t.typeAnnotation,"--syntax-attribute":t.keyword,"--syntax-identifier":t.text,"--syntax-subst":t.text,"--color-syntax-param-internal-name":this.internalParamNameColor}:null},internalParamNameColor(){const{background:t,text:e}=this.codeThemeState.codeColors;try{const n=c(t),s=n<i/2?d:h,r=.25;return s(e,r)}catch{return e}}}},p=f,m=n("2877"),g=Object(m["a"])(p,s,r,!1,null,null,null);e["a"]=g.exports},b826:function(t,e,n){},c161:function(t,e,n){"use strict";var s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("PortalSource",{attrs:{to:"modal-destination",disabled:!t.isVisible}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.isVisible,expression:"isVisible"}],staticClass:"generic-modal",class:[t.stateClasses,t.themeClass],style:t.modalColors,attrs:{role:"dialog"}},[n("div",{staticClass:"backdrop",on:{click:t.onClickOutside}}),n("div",{ref:"container",staticClass:"container",style:{width:t.width}},[t.showClose?n("button",{ref:"close",staticClass:"close",attrs:{"aria-label":t.$t("verbs.close")},on:{click:function(e){return e.preventDefault(),t.closeModal.apply(null,arguments)}}},[n("CloseIcon")],1):t._e(),n("div",{ref:"content",staticClass:"modal-content"},[t._t("default")],2)])])])},r=[],o=n("f2af"),a=n("c8e2"),i=n("95da"),l=n("2b88"),c=n("a919");const u={light:"light",dark:"dark",dynamic:"dynamic",code:"code"};var h={name:"GenericModal",model:{prop:"visible",event:"update:visible"},components:{CloseIcon:c["a"],PortalSource:l["Portal"]},props:{visible:{type:Boolean,default:!1},isFullscreen:{type:Boolean,default:!1},theme:{type:String,validator:t=>Object.keys(u).includes(t),default:u.light},codeBackgroundColorOverride:{type:String,default:""},backdropBackgroundColorOverride:{type:String,default:""},width:{type:String,default:null},showClose:{type:Boolean,default:!0}},data(){return{lastFocusItem:null,prefersDarkStyle:!1,focusTrapInstance:null}},computed:{isVisible:{get:({visible:t})=>t,set(t){this.$emit("update:visible",t)}},modalColors(){return{"--code-background":this.codeBackgroundColorOverride,"--backdrop-background":this.backdropBackgroundColorOverride}},themeClass({theme:t,prefersDarkStyle:e,isThemeDynamic:n}){let s={};return n&&(s={"theme-light":!e,"theme-dark":e}),["theme-"+t,s]},stateClasses:({isFullscreen:t,isVisible:e,showClose:n})=>({"modal-fullscreen":t,"modal-standard":!t,"modal-open":e,"modal-with-close":n}),isThemeDynamic:({theme:t})=>t===u.dynamic||t===u.code},watch:{isVisible(t){t?this.onShow():this.onHide()}},mounted(){if(this.focusTrapInstance=new a["a"],document.addEventListener("keydown",this.onKeydown),this.isThemeDynamic){const t=window.matchMedia("(prefers-color-scheme: dark)");t.addListener(this.onColorSchemePreferenceChange),this.$once("hook:beforeDestroy",()=>{t.removeListener(this.onColorSchemePreferenceChange)}),this.onColorSchemePreferenceChange(t)}},beforeDestroy(){this.isVisible&&o["b"].unlockScroll(this.$refs.container),document.removeEventListener("keydown",this.onKeydown),this.focusTrapInstance.destroy()},methods:{async onShow(){await this.$nextTick(),o["b"].lockScroll(this.$refs.container),await this.focusCloseButton(),this.focusTrapInstance.updateFocusContainer(this.$refs.container),this.focusTrapInstance.start(),i["a"].hide(this.$refs.container)},onHide(){o["b"].unlockScroll(this.$refs.container),this.focusTrapInstance.stop(),this.lastFocusItem&&(this.lastFocusItem.focus({preventScroll:!0}),this.lastFocusItem=null),this.$emit("close"),i["a"].show(this.$refs.container)},closeModal(){this.isVisible=!1},selectContent(){window.getSelection().selectAllChildren(this.$refs.content)},onClickOutside(){this.closeModal()},onKeydown(t){const{metaKey:e=!1,ctrlKey:n=!1,key:s}=t;this.isVisible&&("a"===s&&(e||n)&&(t.preventDefault(),this.selectContent()),"Escape"===s&&(t.preventDefault(),this.closeModal()))},onColorSchemePreferenceChange({matches:t}){this.prefersDarkStyle=t},async focusCloseButton(){this.lastFocusItem=document.activeElement,await this.$nextTick(),this.$refs.close&&this.$refs.close.focus(),this.$emit("open")}}},d=h,f=(n("1c3f"),n("2877")),p=Object(f["a"])(d,s,r,!1,null,"795f7b59",null);e["a"]=p.exports},c8e2:function(t,e,n){"use strict";function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,"a",(function(){return o}));var r=n("0cb0");class o{constructor(t){s(this,"focusContainer",null),s(this,"tabTargets",[]),s(this,"firstTabTarget",null),s(this,"lastTabTarget",null),s(this,"lastFocusedElement",null),this.focusContainer=t,this.onFocus=this.onFocus.bind(this)}updateFocusContainer(t){this.focusContainer=t}start(){this.collectTabTargets(),this.firstTabTarget?this.focusContainer.contains(document.activeElement)&&r["a"].isTabbableElement(document.activeElement)||this.firstTabTarget.focus():console.warn("There are no focusable elements. FocusTrap needs at least one."),this.lastFocusedElement=document.activeElement,document.addEventListener("focus",this.onFocus,!0)}stop(){document.removeEventListener("focus",this.onFocus,!0)}collectTabTargets(){this.tabTargets=r["a"].getTabbableElements(this.focusContainer),this.firstTabTarget=this.tabTargets[0],this.lastTabTarget=this.tabTargets[this.tabTargets.length-1]}onFocus(t){if(this.focusContainer.contains(t.target))this.lastFocusedElement=t.target;else{if(t.preventDefault(),this.collectTabTargets(),this.lastFocusedElement===this.lastTabTarget||!this.lastFocusedElement||!document.contains(this.lastFocusedElement))return this.firstTabTarget.focus(),void(this.lastFocusedElement=this.firstTabTarget);this.lastFocusedElement===this.firstTabTarget&&(this.lastTabTarget.focus(),this.lastFocusedElement=this.lastTabTarget)}}destroy(){this.stop(),this.focusContainer=null,this.tabTargets=[],this.firstTabTarget=null,this.lastTabTarget=null,this.lastFocusedElement=null}}}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/documentation-topic~topic~tutorials-overview.90c61522.js b/document/MixSdk.doccarchive/js/documentation-topic~topic~tutorials-overview.90c61522.js
new file mode 100644 (file)
index 0000000..ab75cfe
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["documentation-topic~topic~tutorials-overview"],{"007b":function(e,t,n){},"0444":function(e,t,n){},"05a1":function(e,t,n){},"0939":function(e,t,n){"use strict";n("9034")},"0caf":function(e,t,n){"use strict";t["a"]={inject:{performanceMetricsEnabled:{default:!1},isTargetIDE:{default:!1}},methods:{newContentMounted(){let e;this.performanceMetricsEnabled&&(e=Math.round(window.performance.now()),window.renderedTimes||(window.renderedTimes=[]),window.renderedTimes.push(e)),this.$bridge.send({type:"rendered",data:{time:e}})},handleContentUpdateFromBridge(e){this.topicData=e}}}},"0cb0":function(e,t,n){"use strict";const i=["input","select","textarea","button","optgroup","option","menuitem","fieldset","object","a[href]","*[tabindex]","*[contenteditable]"],a=i.join(",");t["a"]={getTabbableElements(e){const t=e.querySelectorAll(a),n=t.length;let i;const r=[];for(i=0;i<n;i+=1)this.isTabbableElement(t[i])&&r.push(t[i]);return r},isTabbableElement(e){if(!e.offsetParent)return!1;const t=parseFloat(e.getAttribute("tabindex"));return Number.isNaN(t)?this.isFocusableElement(e):t>=0},isFocusableElement(e){const t=e.nodeName.toLowerCase(),n=i.includes(t);return!("a"!==t||!e.getAttribute("href"))||(n?!e.disabled:"true"===e.getAttribute("contenteditable")||!Number.isNaN(parseFloat(e.getAttribute("tabindex"))))}}},"0cf0":function(e,t,n){},"0da1":function(e,t,n){"use strict";n("5c97")},"0eaa":function(e,t,n){},"0f00":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"row"},[e._t("default")],2)},a=[],r={name:"GridRow"},s=r,o=(n("2224"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"be73599c",null);t["a"]=c.exports},1020:function(e,t){var n={exports:{}};function i(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||i(n)})),e}n.exports=i,n.exports.default=i;var a=n.exports;class r{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function s(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function o(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const c="</span>",l=e=>!!e.kind,u=(e,{prefix:t})=>{if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${"_".repeat(t+1)}`)].join(" ")}return`${t}${e}`};class d{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=s(e)}openNode(e){if(!l(e))return;let t=e.kind;t=e.sublanguage?"language-"+t:u(t,{prefix:this.classPrefix}),this.span(t)}closeNode(e){l(e)&&(this.buffer+=c)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class p{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){while(this.closeNode());}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"===typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"!==typeof e&&e.children&&(e.children.every(e=>"string"===typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{p._collapse(e)}))}}class h extends p{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){const e=new d(this,this.options);return e.value()}finalize(){return!0}}function m(e){return e?"string"===typeof e?e:e.source:null}function f(e){return v("(?=",e,")")}function g(e){return v("(?:",e,")*")}function b(e){return v("(?:",e,")?")}function v(...e){const t=e.map(e=>m(e)).join("");return t}function y(e){const t=e[e.length-1];return"object"===typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function w(...e){const t=y(e),n="("+(t.capture?"":"?:")+e.map(e=>m(e)).join("|")+")";return n}function _(e){return new RegExp(e.toString()+"|").exec("").length-1}function x(e,t){const n=e&&e.exec(t);return n&&0===n.index}const k=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;const t=n;let i=m(e),a="";while(i.length>0){const e=k.exec(i);if(!e){a+=i;break}a+=i.substring(0,e.index),i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?a+="\\"+String(Number(e[1])+t):(a+=e[0],"("===e[0]&&n++)}return a}).map(e=>`(${e})`).join(t)}const S=/\b\B/,E="[a-zA-Z]\\w*",O="[a-zA-Z_]\\w*",I="\\b\\d+(\\.\\d+)?",j="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",T="\\b(0b[01]+)",A="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",L=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=v(t,/.*\b/,e.binary,/\b.*/)),o({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},B={begin:"\\\\[\\s\\S]",relevance:0},$={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[B]},N={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[B]},M={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},P=function(e,t,n={}){const i=o({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const a=w("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:v(/[ ]+/,"(",a,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},R=P("//","$"),V=P("/\\*","\\*/"),D=P("#","$"),G={scope:"number",begin:I,relevance:0},z={scope:"number",begin:j,relevance:0},q={scope:"number",begin:T,relevance:0},F={begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[B,{begin:/\[/,end:/\]/,relevance:0,contains:[B]}]}]},U={scope:"title",begin:E,relevance:0},W={scope:"title",begin:O,relevance:0},H={begin:"\\.\\s*"+O,relevance:0},K=function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})};var Z=Object.freeze({__proto__:null,MATCH_NOTHING_RE:S,IDENT_RE:E,UNDERSCORE_IDENT_RE:O,NUMBER_RE:I,C_NUMBER_RE:j,BINARY_NUMBER_RE:T,RE_STARTERS_RE:A,SHEBANG:L,BACKSLASH_ESCAPE:B,APOS_STRING_MODE:$,QUOTE_STRING_MODE:N,PHRASAL_WORDS_MODE:M,COMMENT:P,C_LINE_COMMENT_MODE:R,C_BLOCK_COMMENT_MODE:V,HASH_COMMENT_MODE:D,NUMBER_MODE:G,C_NUMBER_MODE:z,BINARY_NUMBER_MODE:q,REGEXP_MODE:F,TITLE_MODE:U,UNDERSCORE_TITLE_MODE:W,METHOD_GUARD:H,END_SAME_AS_BEGIN:K});function Y(e,t){const n=e.input[e.index-1];"."===n&&t.ignoreMatch()}function X(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function J(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Y,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Q(e,t){Array.isArray(e.illegal)&&(e.illegal=w(...e.illegal))}function ee(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function te(e,t){void 0===e.relevance&&(e.relevance=1)}const ne=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=v(n.beforeMatch,f(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},ie=["of","and","for","in","not","or","if","then","parent","list","value"],ae="keyword";function re(e,t,n=ae){const i=Object.create(null);return"string"===typeof e?a(n,e.split(" ")):Array.isArray(e)?a(n,e):Object.keys(e).forEach((function(n){Object.assign(i,re(e[n],t,n))})),i;function a(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach((function(t){const n=t.split("|");i[n[0]]=[e,se(n[0],n[1])]}))}}function se(e,t){return t?Number(t):oe(e)?0:1}function oe(e){return ie.includes(e.toLowerCase())}const ce={},le=e=>{console.error(e)},ue=(e,...t)=>{console.log("WARN: "+e,...t)},de=(e,t)=>{ce[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),ce[`${e}/${t}`]=!0)},pe=new Error;function he(e,t,{key:n}){let i=0;const a=e[n],r={},s={};for(let o=1;o<=t.length;o++)s[o+i]=a[o],r[o+i]=!0,i+=_(t[o-1]);e[n]=s,e[n]._emit=r,e[n]._multi=!0}function me(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw le("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),pe;if("object"!==typeof e.beginScope||null===e.beginScope)throw le("beginScope must be object"),pe;he(e,e.begin,{key:"beginScope"}),e.begin=C(e.begin,{joinWith:""})}}function fe(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw le("skip, excludeEnd, returnEnd not compatible with endScope: {}"),pe;if("object"!==typeof e.endScope||null===e.endScope)throw le("endScope must be object"),pe;he(e,e.end,{key:"endScope"}),e.end=C(e.end,{joinWith:""})}}function ge(e){e.scope&&"object"===typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}function be(e){ge(e),"string"===typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"===typeof e.endScope&&(e.endScope={_wrap:e.endScope}),me(e),fe(e)}function ve(e){function t(t,n){return new RegExp(m(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=_(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=t(C(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex((e,t)=>t>0&&void 0!==e),i=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,i)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function a(e){const t=new i;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}function r(n,i){const s=n;if(n.isCompiled)return s;[X,ee,be,ne].forEach(e=>e(n,i)),e.compilerExtensions.forEach(e=>e(n,i)),n.__beforeBegin=null,[J,Q,te].forEach(e=>e(n,i)),n.isCompiled=!0;let o=null;return"object"===typeof n.keywords&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),o=n.keywords.$pattern,delete n.keywords.$pattern),o=o||/\w+/,n.keywords&&(n.keywords=re(n.keywords,e.case_insensitive)),s.keywordPatternRe=t(o,!0),i&&(n.begin||(n.begin=/\B|\b/),s.beginRe=t(s.begin),n.end||n.endsWithParent||(n.end=/\B|\b/),n.end&&(s.endRe=t(s.end)),s.terminatorEnd=m(s.end)||"",n.endsWithParent&&i.terminatorEnd&&(s.terminatorEnd+=(n.end?"|":"")+i.terminatorEnd)),n.illegal&&(s.illegalRe=t(n.illegal)),n.contains||(n.contains=[]),n.contains=[].concat(...n.contains.map((function(e){return we("self"===e?n:e)}))),n.contains.forEach((function(e){r(e,s)})),n.starts&&r(n.starts,i),s.matcher=a(s),s}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language.  See documentation.");return e.classNameAliases=o(e.classNameAliases||{}),r(e)}function ye(e){return!!e&&(e.endsWithParent||ye(e.starts))}function we(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return o(e,{variants:null},t)}))),e.cachedVariants?e.cachedVariants:ye(e)?o(e,{starts:e.starts?o(e.starts):null}):Object.isFrozen(e)?o(e):e}var _e="11.3.1";class xe extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const ke=s,Ce=o,Se=Symbol("nomatch"),Ee=7,Oe=function(e){const t=Object.create(null),n=Object.create(null),i=[];let s=!0;const o="Could not find the language '{}', did you forget to load/include a language module?",c={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:h};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=$(n[1]);return t||(ue(o.replace("{}",n[1])),ue("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>u(e)||$(e))}function p(e,t,n){let i="",a="";"object"===typeof t?(i=e,n=t.ignoreIllegals,a=t.language):(de("10.7.0","highlight(lang, code, ...args) has been deprecated."),de("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),a=e,i=t),void 0===n&&(n=!0);const r={code:i,language:a};V("before:highlight",r);const s=r.result?r.result:m(r.language,r.code,n);return s.code=r.code,V("after:highlight",s),s}function m(e,n,i,a){const c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!j.keywords)return void A.addText(L);let e=0;j.keywordPatternRe.lastIndex=0;let t=j.keywordPatternRe.exec(L),n="";while(t){n+=L.substring(e,t.index);const i=E.case_insensitive?t[0].toLowerCase():t[0],a=u(j,i);if(a){const[e,r]=a;if(A.addText(n),n="",c[i]=(c[i]||0)+1,c[i]<=Ee&&(B+=r),e.startsWith("_"))n+=t[0];else{const n=E.classNameAliases[e]||e;A.addKeyword(t[0],n)}}else n+=t[0];e=j.keywordPatternRe.lastIndex,t=j.keywordPatternRe.exec(L)}n+=L.substr(e),A.addText(n)}function p(){if(""===L)return;let e=null;if("string"===typeof j.subLanguage){if(!t[j.subLanguage])return void A.addText(L);e=m(j.subLanguage,L,!0,T[j.subLanguage]),T[j.subLanguage]=e._top}else e=_(L,j.subLanguage.length?j.subLanguage:null);j.relevance>0&&(B+=e.relevance),A.addSublanguage(e._emitter,e.language)}function h(){null!=j.subLanguage?p():d(),L=""}function f(e,t){let n=1;while(void 0!==t[n]){if(!e._emit[n]){n++;continue}const i=E.classNameAliases[e[n]]||e[n],a=t[n];i?A.addKeyword(a,i):(L=a,d(),L=""),n++}}function g(e,t){return e.scope&&"string"===typeof e.scope&&A.openNode(E.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(A.addKeyword(L,E.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),L=""):e.beginScope._multi&&(f(e.beginScope,t),L="")),j=Object.create(e,{parent:{value:j}}),j}function b(e,t,n){let i=x(e.endRe,n);if(i){if(e["on:end"]){const n=new r(e);e["on:end"](t,n),n.isMatchIgnored&&(i=!1)}if(i){while(e.endsParent&&e.parent)e=e.parent;return e}}if(e.endsWithParent)return b(e.parent,t,n)}function v(e){return 0===j.matcher.regexIndex?(L+=e[0],1):(P=!0,0)}function y(e){const t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n["on:begin"]];for(const r of a)if(r&&(r(e,i),i.isMatchIgnored))return v(t);return n.skip?L+=t:(n.excludeBegin&&(L+=t),h(),n.returnBegin||n.excludeBegin||(L=t)),g(n,e),n.returnBegin?0:t.length}function w(e){const t=e[0],i=n.substr(e.index),a=b(j,e,i);if(!a)return Se;const r=j;j.endScope&&j.endScope._wrap?(h(),A.addKeyword(t,j.endScope._wrap)):j.endScope&&j.endScope._multi?(h(),f(j.endScope,e)):r.skip?L+=t:(r.returnEnd||r.excludeEnd||(L+=t),h(),r.excludeEnd&&(L=t));do{j.scope&&A.closeNode(),j.skip||j.subLanguage||(B+=j.relevance),j=j.parent}while(j!==a.parent);return a.starts&&g(a.starts,e),r.returnEnd?0:t.length}function k(){const e=[];for(let t=j;t!==E;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>A.openNode(e))}let C={};function S(t,a){const r=a&&a[0];if(L+=t,null==r)return h(),0;if("begin"===C.type&&"end"===a.type&&C.index===a.index&&""===r){if(L+=n.slice(a.index,a.index+1),!s){const t=new Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=C.rule,t}return 1}if(C=a,"begin"===a.type)return y(a);if("illegal"===a.type&&!i){const e=new Error('Illegal lexeme "'+r+'" for mode "'+(j.scope||"<unnamed>")+'"');throw e.mode=j,e}if("end"===a.type){const e=w(a);if(e!==Se)return e}if("illegal"===a.type&&""===r)return 1;if(M>1e5&&M>3*a.index){const e=new Error("potential infinite loop, way more iterations than matches");throw e}return L+=r,r.length}const E=$(e);if(!E)throw le(o.replace("{}",e)),new Error('Unknown language: "'+e+'"');const O=ve(E);let I="",j=a||O;const T={},A=new l.__emitter(l);k();let L="",B=0,N=0,M=0,P=!1;try{for(j.matcher.considerAll();;){M++,P?P=!1:j.matcher.considerAll(),j.matcher.lastIndex=N;const e=j.matcher.exec(n);if(!e)break;const t=n.substring(N,e.index),i=S(t,e);N=e.index+i}return S(n.substr(N)),A.closeAllNodes(),A.finalize(),I=A.toHTML(),{language:e,value:I,relevance:B,illegal:!1,_emitter:A,_top:j}}catch(R){if(R.message&&R.message.includes("Illegal"))return{language:e,value:ke(n),illegal:!0,relevance:0,_illegalBy:{message:R.message,index:N,context:n.slice(N-100,N+100),mode:R.mode,resultSoFar:I},_emitter:A};if(s)return{language:e,value:ke(n),illegal:!1,relevance:0,errorRaised:R,_emitter:A,_top:j};throw R}}function y(e){const t={value:ke(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function _(e,n){n=n||l.languages||Object.keys(t);const i=y(e),a=n.filter($).filter(M).map(t=>m(t,e,!1));a.unshift(i);const r=a.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if($(e.language).supersetOf===t.language)return 1;if($(t.language).supersetOf===e.language)return-1}return 0}),[s,o]=r,c=s;return c.secondBest=o,c}function k(e,t,i){const a=t&&n[t]||i;e.classList.add("hljs"),e.classList.add("language-"+a)}function C(e){let t=null;const n=d(e);if(u(n))return;if(V("before:highlightElement",{el:e,language:n}),e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/issues/2886"),console.warn(e)),l.throwUnescapedHTML)){const t=new xe("One of your code blocks includes unescaped HTML.",e.innerHTML);throw t}t=e;const i=t.textContent,a=n?p(i,{language:n,ignoreIllegals:!0}):_(i);e.innerHTML=a.value,k(e,n,a.language),e.result={language:a.language,re:a.relevance,relevance:a.relevance},a.secondBest&&(e.secondBest={language:a.secondBest.language,relevance:a.secondBest.relevance}),V("after:highlightElement",{el:e,result:a,text:i})}function S(e){l=Ce(l,e)}const E=()=>{j(),de("10.6.0","initHighlighting() deprecated.  Use highlightAll() now.")};function O(){j(),de("10.6.0","initHighlightingOnLoad() deprecated.  Use highlightAll() now.")}let I=!1;function j(){if("loading"===document.readyState)return void(I=!0);const e=document.querySelectorAll(l.cssSelector);e.forEach(C)}function T(){I&&j()}function A(n,i){let a=null;try{a=i(e)}catch(r){if(le("Language definition for '{}' could not be registered.".replace("{}",n)),!s)throw r;le(r),a=c}a.name||(a.name=n),t[n]=a,a.rawDefinition=i.bind(null,e),a.aliases&&N(a.aliases,{languageName:n})}function L(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]}function B(){return Object.keys(t)}function $(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function N(e,{languageName:t}){"string"===typeof e&&(e=[e]),e.forEach(e=>{n[e.toLowerCase()]=t})}function M(e){const t=$(e);return t&&!t.disableAutodetect}function P(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}function R(e){P(e),i.push(e)}function V(e,t){const n=e;i.forEach((function(e){e[n]&&e[n](t)}))}function D(e){return de("10.7.0","highlightBlock will be removed entirely in v12.0"),de("10.7.0","Please use highlightElement now."),C(e)}"undefined"!==typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",T,!1),Object.assign(e,{highlight:p,highlightAuto:_,highlightAll:j,highlightElement:C,highlightBlock:D,configure:S,initHighlighting:E,initHighlightingOnLoad:O,registerLanguage:A,unregisterLanguage:L,listLanguages:B,getLanguage:$,registerAliases:N,autoDetection:M,inherit:Ce,addPlugin:R}),e.debugMode=function(){s=!1},e.safeMode=function(){s=!0},e.versionString=_e,e.regex={concat:v,lookahead:f,either:w,optional:b,anyNumberOfTimes:g};for(const r in Z)"object"===typeof Z[r]&&a(Z[r]);return Object.assign(e,Z),e};var Ie=Oe({});e.exports=Ie,Ie.HighlightJS=Ie,Ie.default=Ie},"12b1":function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));const i={list:"list",compactGrid:"compactGrid",detailedGrid:"detailedGrid",hidden:"hidden"}},1417:function(e,t,n){var i={"./markdown":["84cb","highlight-js-custom-markdown"],"./markdown.js":["84cb","highlight-js-custom-markdown"],"./swift":["81c8","highlight-js-custom-swift"],"./swift.js":["81c8","highlight-js-custom-swift"]};function a(e){if(!n.o(i,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=i[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(i)},a.id="1417",e.exports=a},"146e":function(e,t,n){"use strict";var i=n("e425"),a=n("dd18"),r=n("8a61");function s(e){return new Promise((t,n)=>{e.complete?t():(e.addEventListener("load",t,{once:!0}),e.addEventListener("error",n,{once:!0}))})}function o(){return Promise.allSettled([...document.getElementsByTagName("img")].map(s))}t["a"]={mixins:[r["a"]],mounted(){this.scrollToElementIfAnchorPresent()},updated(){this.scrollToElementIfAnchorPresent()},methods:{async scrollToElementIfAnchorPresent(){const{hash:e}=this.$route;if(!e)return;const{imageLoadingStrategy:t}=i["a"].state;i["a"].setImageLoadingStrategy(a["a"].eager),await this.$nextTick(),await o(),this.scrollToElement(e),i["a"].setImageLoadingStrategy(t)}}}},"159b":function(e,t,n){"use strict";n("2d6f")},"17a4":function(e,t,n){"use strict";n("bbe1")},"19cc":function(e,t,n){},"1f39":function(e,t,n){"use strict";n("007b")},2224:function(e,t,n){"use strict";n("b392")},"25a9":function(e,t,n){"use strict";n.d(t,"c",(function(){return d})),n.d(t,"e",(function(){return p})),n.d(t,"b",(function(){return h})),n.d(t,"a",(function(){return m})),n.d(t,"d",(function(){return f}));var i=n("748c"),a=n("d26a"),r=n("3bdd");class s extends Error{constructor({location:e,response:t}){super("Request redirected"),this.location=e,this.response=t}}class o extends Error{constructor(e){super("Unable to fetch data"),this.route=e}}async function c(e,t={},n={}){function i(e){return("ide"!==Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET||0!==e.status)&&!e.ok}const o=Object(a["c"])(e),c=Object(a["d"])(t);c&&(o.search=c);const l=await fetch(o.href,n);if(i(l))throw l;if(l.redirected)throw new s({location:l.url,response:l});const u=await l.json();return Object(r["c"])(u.schemaVersion),u}function l(e){const t=e.replace(/\/$/,"");return Object(i["c"])(["/data",t])+".json"}function u(e){const{pathname:t,search:n}=new URL(e),i=/\/data(\/.*).json$/,a=i.exec(t);return a?a[1]+n:t+n}async function d(e,t,n){const i=l(e.path);let a;try{a=await c(i,e.query)}catch(r){if("ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET)throw console.error(r),!1;if(r instanceof s)throw u(r.location);r.status&&404===r.status?n({name:"not-found",params:[e.path]}):n(new o(e))}return a}function p(e,t){return!Object(a["a"])(e,t)}async function h(e,t={}){const n=l(e);return c(n,{},t)}function m(e){return JSON.parse(JSON.stringify(e))}async function f({slug:e}){const t=Object(a["c"])(["/index/",e,"index.json"]);return c(t)}},"2cae":function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return s}));var i=n("31d4"),a=n("66cd");const r={blue:"blue",teal:"teal",orange:"orange",purple:"purple",green:"green",sky:"sky",pink:"pink"},s={[i["b"].article]:r.teal,[i["b"].init]:r.blue,[i["b"].case]:r.orange,[i["b"].class]:r.purple,[i["b"].collection]:r.pink,[a["a"].collectionGroup]:r.teal,[i["b"].dictionarySymbol]:r.purple,[i["b"].enum]:r.orange,[i["b"].extension]:r.orange,[i["b"].func]:r.green,[i["b"].op]:r.green,[i["b"].httpRequest]:r.green,[i["b"].module]:r.sky,[i["b"].method]:r.blue,[i["b"].macro]:r.pink,[i["b"].protocol]:r.purple,[i["b"].property]:r.teal,[i["b"].propertyListKey]:r.green,[i["b"].propertyListKeyReference]:r.green,[i["b"].sampleCode]:r.purple,[i["b"].struct]:r.purple,[i["b"].subscript]:r.blue,[i["b"].typealias]:r.orange,[i["b"].union]:r.purple,[i["b"].var]:r.purple}},"2d6f":function(e,t,n){},"2f34":function(e,t,n){"use strict";t["a"]={inject:{store:{default:()=>({state:{references:{}},setReferences(){},reset(){}})}},computed:{references:({store:e})=>e.state.references}}},3024:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"technology-icon",attrs:{viewBox:"0 0 14 14",themeId:"technology"}},[n("path",{attrs:{d:"M3.39,9l3.16,1.84.47.28.47-.28L10.61,9l.45.26,1.08.63L7,12.91l-5.16-3,1.08-.64L3.39,9M7,0,0,4.1,2.47,5.55,0,7,2.47,8.44,0,9.9,7,14l7-4.1L11.53,8.45,14,7,11.53,5.56,14,4.1ZM7,7.12,5.87,6.45l-1.54-.9L3.39,5,1.85,4.1,7,1.08l5.17,3L10.6,5l-.93.55-1.54.91ZM7,10,3.39,7.9,1.85,7,3.4,6.09,4.94,7,7,8.2,9.06,7,10.6,6.1,12.15,7l-1.55.9Z"}})])},a=[],r=n("be08"),s={name:"TechnologyIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},"308e":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"column",style:e.style},[e._t("default")],2)},a=[],r={name:"Column",props:{span:{type:Number,default:null}},computed:{style:({span:e})=>({"--col-span":e})}},s=r,o=(n("fe08"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"0f654188",null);t["a"]=c.exports},"31d4":function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return a}));const i={article:"article",associatedtype:"associatedtype",buildSetting:"buildSetting",case:"case",collection:"collection",class:"class",container:"container",dictionarySymbol:"dictionarySymbol",enum:"enum",extension:"extension",func:"func",groupMarker:"groupMarker",httpRequest:"httpRequest",init:"init",languageGroup:"languageGroup",learn:"learn",macro:"macro",method:"method",module:"module",op:"op",overview:"overview",project:"project",property:"property",propertyListKey:"propertyListKey",propertyListKeyReference:"propertyListKeyReference",protocol:"protocol",resources:"resources",root:"root",sampleCode:"sampleCode",section:"section",struct:"struct",subscript:"subscript",symbol:"symbol",tutorial:"tutorial",typealias:"typealias",union:"union",var:"var"},a={[i.init]:i.method,[i.case]:i.enum,[i.propertyListKeyReference]:i.propertyListKey,[i.project]:i.tutorial}},"3b75":function(e,t,n){},"3b96":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"curly-brackets-icon",attrs:{viewBox:"0 0 14 14",themeId:"curly-brackets"}},[n("path",{attrs:{d:"M9.987 14h-0.814v-0.916h0.36c0.137 0 0.253-0.038 0.349-0.116 0.099-0.080 0.179-0.188 0.239-0.318 0.064-0.134 0.11-0.298 0.139-0.483 0.031-0.186 0.045-0.38 0.045-0.58v-2.115c0-0.417 0.046-0.781 0.139-1.083 0.092-0.3 0.2-0.554 0.322-0.754 0.127-0.203 0.246-0.353 0.366-0.458 0.087-0.076 0.155-0.131 0.207-0.169-0.052-0.037-0.12-0.093-0.207-0.167-0.12-0.105-0.239-0.255-0.366-0.459-0.122-0.2-0.23-0.453-0.322-0.754-0.093-0.3-0.139-0.665-0.139-1.082v-2.13c0-0.199-0.014-0.392-0.045-0.572-0.029-0.182-0.076-0.345-0.139-0.483-0.060-0.137-0.141-0.246-0.239-0.328-0.095-0.076-0.212-0.115-0.349-0.115h-0.36v-0.916h0.814c0.442 0 0.788 0.18 1.030 0.538 0.238 0.352 0.358 0.826 0.358 1.407v2.236c0 0.3 0.015 0.597 0.044 0.886 0.030 0.287 0.086 0.544 0.164 0.765 0.077 0.216 0.184 0.392 0.318 0.522 0.129 0.124 0.298 0.188 0.503 0.188h0.058v0.916h-0.058c-0.206 0-0.374 0.064-0.503 0.188-0.134 0.129-0.242 0.305-0.318 0.521-0.078 0.223-0.134 0.48-0.164 0.766-0.029 0.288-0.044 0.587-0.044 0.884v2.236c0 0.582-0.12 1.055-0.358 1.409-0.242 0.358-0.588 0.538-1.030 0.538z"}}),n("path",{attrs:{d:"M4.827 14h-0.814c-0.442 0-0.788-0.18-1.030-0.538-0.238-0.352-0.358-0.825-0.358-1.409v-2.221c0-0.301-0.015-0.599-0.045-0.886-0.029-0.287-0.085-0.544-0.163-0.764-0.077-0.216-0.184-0.393-0.318-0.522-0.131-0.127-0.296-0.188-0.503-0.188h-0.058v-0.916h0.058c0.208 0 0.373-0.063 0.503-0.188 0.135-0.129 0.242-0.304 0.318-0.522 0.078-0.22 0.134-0.477 0.163-0.765 0.030-0.286 0.045-0.585 0.045-0.886v-2.251c0-0.582 0.12-1.055 0.358-1.407 0.242-0.358 0.588-0.538 1.030-0.538h0.814v0.916h-0.36c-0.138 0-0.252 0.038-0.349 0.116-0.099 0.079-0.179 0.189-0.239 0.327-0.064 0.139-0.11 0.302-0.141 0.483-0.029 0.18-0.044 0.373-0.044 0.572v2.13c0 0.417-0.046 0.782-0.138 1.082-0.092 0.302-0.201 0.556-0.324 0.754-0.123 0.201-0.246 0.356-0.366 0.459-0.086 0.074-0.153 0.13-0.206 0.167 0.052 0.038 0.12 0.093 0.206 0.169 0.12 0.103 0.243 0.258 0.366 0.458s0.232 0.453 0.324 0.754c0.092 0.302 0.138 0.666 0.138 1.083v2.115c0 0.2 0.015 0.394 0.044 0.58 0.030 0.186 0.077 0.349 0.139 0.482 0.062 0.132 0.142 0.239 0.241 0.32 0.096 0.079 0.21 0.116 0.349 0.116h0.36z"}})])},a=[],r=n("be08"),s={name:"CurlyBracketsIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},"3ba9":function(e,t,n){},"3bdd":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return d}));const i={major:0,minor:3,patch:0};function a({major:e,minor:t,patch:n}){return[e,t,n].join(".")}function r(e){const[t=0,n=0,i=0]=e.split(".");return[Number(t),Number(n),Number(i)]}function s(e,t){const n=r(e),i=r(t);for(let a=0;a<n.length;a+=1){if(n[a]>i[a])return 1;if(n[a]<i[a])return-1}return 0}const o=a(i);function c(e){return`[Swift-DocC-Render] The render node version for this page has a higher minor version (${e}) than Swift-DocC-Render supports (${o}). Compatibility is not guaranteed.`}const l=e=>`[Swift-DocC-Render] The render node version for this page (${e}) has a different major version component than Swift-DocC-Render supports (${o}). Compatibility is not guaranteed.`;function u(e){const{major:t,minor:n}=e,{major:r,minor:s}=i;return t!==r?l(a(e)):n>s?c(a(e)):""}function d(e){if(!e)return;const t=u(e);t&&console.warn(t)}},"43fe":function(e,t,n){"use strict";n("4573")},4573:function(e,t,n){},"47cc":function(e,t,n){},"49e3":function(e,t,n){},"517a":function(e,t,n){"use strict";n("8222")},5201:function(e,t,n){"use strict";n("0cf0")},"52e4":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("WordBreak",{attrs:{tag:"code"}},[e._t("default")],2)},a=[],r=n("7b1f"),s={name:"CodeVoice",components:{WordBreak:r["a"]}},o=s,c=(n("8c92"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"05f4a5b7",null);t["a"]=l.exports},5416:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"device-frame",class:e.classes,style:e.styles,attrs:{"data-device":e.device}},[n("div",{staticClass:"device-screen",class:{"with-device":e.currentDeviceAttrs}},[e._t("default")],2),n("div",{staticClass:"device"})])},a=[],r={},s=n("6842");const o=e=>e&&e!==1/0,c=(e,t=4)=>o(e)?+`${Math.round(`${e}e+${t}`)}e-${t}`:null;var l={name:"DeviceFrame",props:{device:{type:String,required:!0}},provide:{insideDeviceFrame:!0},computed:{currentDeviceAttrs:({device:e})=>Object(s["c"])(["theme","device-frames",e],r[e]),styles:({toPixel:e,toUrl:t,toPct:n,currentDeviceAttrs:i={}})=>{const{screenTop:a,screenLeft:r,screenWidth:s,frameWidth:o,lightUrl:l,darkUrl:u,screenHeight:d,frameHeight:p}=i;return{"--screen-top":n(a/p),"--screen-left":n(r/o),"--screen-width":n(s/o),"--screen-height":n(d/p),"--screen-aspect":c(s/d)||null,"--frame-width":e(o),"--frame-aspect":c(o/p)||null,"--device-light-url":t(l),"--device-dark-url":t(u)}},classes:({currentDeviceAttrs:e})=>({"no-device":!e})},methods:{toPixel:e=>o(e)?e+"px":null,toUrl:e=>o(e)?`url(${e})`:null,toPct:e=>o(e)?c(100*e)+"%":null}},u=l,d=(n("b2da"),n("2877")),p=Object(d["a"])(u,i,a,!1,null,"28ae8fd3",null);t["a"]=p.exports},5677:function(e,t,n){"use strict";n.r(t),n.d(t,"BlockType",(function(){return Ct}));var i=n("2f34"),a=n("e3ab"),r=n("7b69"),s=n("5dcc"),o=n("52e4"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"DictionaryExample"},[e._t("default"),n("CollapsibleCodeListing",{attrs:{content:e.example.content,showLineNumbers:""}})],2)},l=[],u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"collapsible-code-listing",class:{"single-line":1===e.content[0].code.length}},[n("pre",[n("CodeBlock",e._l(this.content,(function(t,i){return n("div",{key:i,class:["container-general",{collapsible:!0===t.collapsible},{collapsed:!0===t.collapsible&&e.collapsed}]},e._l(t.code,(function(t,i){return n("div",{key:i,staticClass:"code-line-container"},[e._v("\n    "),n("div",{directives:[{name:"show",rawName:"v-show",value:e.showLineNumbers,expression:"showLineNumbers"}],staticClass:"code-number"}),e._v("\n    "),n("div",{staticClass:"code-line"},[e._v(e._s(t))]),e._v("\n  ")])})),0)})),0)],1)])},d=[],p=n("800b"),h={name:"CollapsibleCodeListing",components:{CodeBlock:p["a"]},props:{collapsed:{type:Boolean,required:!1},content:{type:Array,required:!0},showLineNumbers:{type:Boolean,default:()=>!0}}},m=h,f=(n("efc1"),n("2877")),g=Object(f["a"])(m,u,d,!1,null,"25a17a0e",null),b=g.exports,v={name:"DictionaryExample",components:{CollapsibleCodeListing:b},props:{example:{type:Object,required:!0}}},y=v,w=Object(f["a"])(y,c,l,!1,null,null,null),_=w.exports,x=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Row",{staticClass:"endpoint-example"},[n("Column",{staticClass:"example-code"},[e._t("default"),n("Tabnav",{model:{value:e.currentTab,callback:function(t){e.currentTab=t},expression:"currentTab"}},[n("TabnavItem",{attrs:{value:e.Tab.request}},[e._v(e._s(e.$t("tab.request")))]),n("TabnavItem",{attrs:{value:e.Tab.response}},[e._v(e._s(e.$t("tab.response")))])],1),n("div",{staticClass:"output"},[e.isCurrent(e.Tab.request)?n("div",{staticClass:"code"},[n("CollapsibleCodeListing",e._b({attrs:{collapsed:e.isCollapsed,showLineNumbers:""}},"CollapsibleCodeListing",e.request,!1))],1):e._e(),e.isCurrent(e.Tab.response)?n("div",{staticClass:"code"},[n("CollapsibleCodeListing",e._b({attrs:{collapsed:e.isCollapsed,showLineNumbers:""}},"CollapsibleCodeListing",e.response,!1))],1):e._e()]),e.isCollapsible?n("div",{staticClass:"controls"},[e.isCollapsed?n("a",{staticClass:"toggle",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.showMore.apply(null,arguments)}}},[n("InlinePlusCircleSolidIcon",{staticClass:"control-icon icon-inline"}),e._v(" "+e._s(e.$t("more"))+" ")],1):n("a",{staticClass:"toggle",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.showLess.apply(null,arguments)}}},[n("InlineMinusCircleSolidIcon",{staticClass:"control-icon icon-inline"}),e._v(" "+e._s(e.$t("less"))+" ")],1)]):e._e()],2)],1)},k=[],C=n("0f00"),S=n("620a"),E=function(){var e,t=this,n=t.$createElement,i=t._self._c||n;return i("nav",{staticClass:"tabnav",class:(e={},e["tabnav--"+t.position]=t.position,e["tabnav--vertical"]=t.vertical,e)},[i("ul",{staticClass:"tabnav-items"},[t._t("default")],2)])},O=[];const I="tabnavData";var j={name:"Tabnav",constants:{ProvideKey:I},provide(){const e={selectTab:this.selectTab};return Object.defineProperty(e,"activeTab",{enumerable:!0,get:()=>this.value}),{[I]:e}},props:{position:{type:String,required:!1,validator:e=>new Set(["start","center","end"]).has(e)},vertical:{type:Boolean,default:!1},value:{type:[String,Number],required:!0}},methods:{selectTab(e){this.$emit("input",e)}}},T=j,A=(n("fb8e"),Object(f["a"])(T,E,O,!1,null,"5283512a",null)),L=A.exports,B=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"tabnav-item"},[n("a",{staticClass:"tabnav-link",class:{active:e.isActive},attrs:{href:"#","aria-current":e.isActive?"true":"false"},on:{click:function(t){return t.preventDefault(),e.tabnavData.selectTab(e.value)}}},[e._t("default")],2)])},$=[],N={name:"TabnavItem",inject:{tabnavData:{default:{activeTab:null,selectTab:()=>{}}}},props:{value:{type:[String,Number],default:null}},computed:{isActive({tabnavData:e,value:t}){return e.activeTab===t}}},M=N,P=(n("6869"),Object(f["a"])(M,B,$,!1,null,"6aa9882a",null)),R=P.exports,V=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-plus-circle-solid-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-plus-circle-solid"}},[n("path",{attrs:{d:"M7.005 0.5h-0.008c-1.791 0.004-3.412 0.729-4.589 1.9l0-0c-1.179 1.177-1.908 2.803-1.908 4.6 0 3.59 2.91 6.5 6.5 6.5s6.5-2.91 6.5-6.5c0-3.587-2.906-6.496-6.492-6.5h-0zM4.005 7.52v-1h2.5v-2.51h1v2.51h2.5v1h-2.501v2.49h-1v-2.49z"}})])},D=[],G=n("be08"),z={name:"InlinePlusCircleSolidIcon",components:{SVGIcon:G["a"]}},q=z,F=Object(f["a"])(q,V,D,!1,null,null,null),U=F.exports,W=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-minus-circle-solid-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-minus-circle-solid"}},[n("path",{attrs:{d:"m6.98999129.48999129c3.58985091 0 6.50000001 2.91014913 6.50000001 6.5 0 3.58985091-2.9101491 6.50000001-6.50000001 6.50000001-3.58985087 0-6.5-2.9101491-6.5-6.50000001 0-3.58985087 2.91014913-6.5 6.5-6.5zm3 6.02001742h-6v1h6z","fill-rule":"evenodd"}})])},H=[],K={name:"InlineMinusCircleSolidIcon",components:{SVGIcon:G["a"]}},Z=K,Y=Object(f["a"])(Z,W,H,!1,null,null,null),X=Y.exports;const J={request:"Request",response:"Response"};var Q={name:"EndpointExample",components:{InlineMinusCircleSolidIcon:X,InlinePlusCircleSolidIcon:U,TabnavItem:R,Tabnav:L,CollapsibleCodeListing:b,Row:C["a"],Column:S["a"]},constants:{Tab:J},props:{request:{type:Object,required:!0},response:{type:Object,required:!0}},data(){return{isCollapsed:!0,currentTab:J.request}},computed:{Tab:()=>J,isCollapsible:({response:e,request:t,currentTab:n})=>{const i={[J.request]:t.content,[J.response]:e.content}[n]||[];return i.some(({collapsible:e})=>e)}},methods:{isCurrent(e){return this.currentTab===e},showMore(){this.isCollapsed=!1},showLess(){this.isCollapsed=!0}}},ee=Q,te=(n("b0e7"),Object(f["a"])(ee,x,k,!1,null,"c84e62a6",null)),ne=te.exports,ie=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("figure",{attrs:{id:e.anchor}},[e._t("default")],2)},ae=[],re={name:"Figure",props:{anchor:{type:String,required:!1}}},se=re,oe=Object(f["a"])(se,ie,ae,!1,null,null,null),ce=oe.exports,le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.tag,{tag:"component",staticClass:"caption",class:{trailing:e.trailing}},[e.title?[n("strong",[e._v(e._s(e.title))]),e._v(" "),e._t("default")]:[e._t("default")]],2)},ue=[];const de={caption:"caption",figcaption:"figcaption"},pe={leading:"leading",trailing:"trailing"};var he={name:"Caption",constants:{CaptionPosition:pe,CaptionTag:de},props:{title:{type:String,required:!1},tag:{type:String,required:!0,validator:e=>Object.hasOwnProperty.call(de,e)},position:{type:String,default:()=>pe.leading,validator:e=>Object.hasOwnProperty.call(pe,e)}},computed:{trailing:({position:e})=>e===pe.trailing}},me=he,fe=(n("6209"),Object(f["a"])(me,le,ue,!1,null,"1b76f4e0",null)),ge=fe.exports,be=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ImageAsset",{attrs:{alt:e.alt,variants:e.variants}})},ve=[],ye=n("8bd9"),we={name:"InlineImage",components:{ImageAsset:ye["a"]},props:{alt:{type:String,default:""},variants:{type:Array,required:!0}}},_e=we,xe=(n("cb92"),Object(f["a"])(_e,be,ve,!1,null,"3a939631",null)),ke=xe.exports,Ce=n("86d8"),Se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"table-wrapper"},[n("table",{class:{spanned:e.spanned}},[e._t("default")],2)])},Ee=[],Oe={name:"Table",props:{spanned:{type:Boolean,default:!1}}},Ie=Oe,je=(n("ec71"),Object(f["a"])(Ie,Se,Ee,!1,null,"5ed73c89",null)),Te=je.exports,Ae=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("s",{attrs:{"data-before-text":e.$t("accessibility.strike.start"),"data-after-text":e.$t("accessibility.strike.end")}},[e._t("default")],2)},Le=[],Be={name:"StrikeThrough"},$e=Be,Ne=(n("d0da"),Object(f["a"])($e,Ae,Le,!1,null,"7fc51673",null)),Me=Ne.exports,Pe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("small",[e._t("default")],2)},Re=[],Ve={name:"Small"},De=Ve,Ge=(n("b0f5"),Object(f["a"])(De,Pe,Re,!1,null,"77035f61",null)),ze=Ge.exports,qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Asset",{attrs:{identifier:e.identifier,"video-autoplays":!1,"video-muted":!1,showsReplayButton:!e.isClientMobile,showsVideoControls:e.isClientMobile,deviceFrame:e.deviceFrame}})},Fe=[],Ue=n("80e4"),We=n("7689"),He={name:"BlockVideo",mixins:[We["a"]],components:{Asset:Ue["a"]},props:{identifier:{type:String,required:!0},deviceFrame:{type:String,required:!1}}},Ke=He,Ze=(n("fe1c"),Object(f["a"])(Ke,qe,Fe,!1,null,"035a093f",null)),Ye=Ze.exports,Xe=n("308e"),Je=n("ee9e"),Qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"TabNavigator",class:[{"tabs--vertical":e.vertical}]},[n("Tabnav",e._b({model:{value:e.currentTitle,callback:function(t){e.currentTitle=t},expression:"currentTitle"}},"Tabnav",{position:e.position,vertical:e.vertical},!1),e._l(e.titles,(function(t){return n("TabnavItem",{key:t,attrs:{value:t}},[e._v(" "+e._s(t)+" ")])})),1),n("div",{staticClass:"tabs-content"},[n("div",{staticClass:"tabs-content-container"},[n("transition-group",{attrs:{name:"fade"}},[e._l(e.titles,(function(t){return[n("div",{directives:[{name:"show",rawName:"v-show",value:t===e.currentTitle,expression:"title === currentTitle"}],key:t,staticClass:"tab-container",class:{active:t===e.currentTitle}},[e._t(t)],2)]}))],2)],1)])],1)},et=[],tt={name:"TabNavigator",components:{TabnavItem:R,Tabnav:L},props:{vertical:{type:Boolean,default:!1},position:{type:String,default:"start",validator:e=>new Set(["start","center","end"]).has(e)},titles:{type:Array,required:!0,default:()=>[]}},data(){return{currentTitle:this.titles[0]}},watch:{titles(e,t){if(e.length<t.length){if(!e.includes(this.currentTitle)){const[t]=e;this.currentTitle=t}}else{const n=e.find(e=>!t.includes(e));this.currentTitle=n||this.currentTitle}}}},nt=tt,it=(n("9ed5"),Object(f["a"])(nt,Qe,et,!1,null,"e671a734",null)),at=it.exports,rt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{staticClass:"tasklist"},e._l(e.tasks,(function(t,i){return n("li",{key:i},[e.showCheckbox(t)?n("input",{attrs:{type:"checkbox",disabled:""},domProps:{checked:t.checked}}):e._e(),e._t("task",null,{task:t})],2)})),0)},st=[];const ot="checked",ct=e=>Object.hasOwnProperty.call(e,ot);var lt={name:"TaskList",props:{tasks:{required:!0,type:Array,validator:e=>e.some(ct)}},methods:{showCheckbox:ct}},ut=lt,dt=(n("c3da"),Object(f["a"])(ut,rt,st,!1,null,"6a56a858",null)),pt=dt.exports,ht=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isListStyle?n("div",{staticClass:"links-block"},e._l(e.items,(function(e){return n("TopicsLinkBlock",{key:e.identifier,staticClass:"topic-link-block",attrs:{topic:e}})})),1):n("TopicsLinkCardGrid",{staticClass:"links-block",attrs:{items:e.items,"topic-style":e.blockStyle}})},mt=[],ft=n("70fb"),gt=n("12b1"),bt={name:"LinksBlock",mixins:[i["a"]],components:{TopicsLinkBlock:()=>n.e("chunk-c0335d80").then(n.bind(null,"2a18")),TopicsLinkCardGrid:ft["a"]},props:{identifiers:{type:Array,required:!0},blockStyle:{type:String,default:gt["a"].compactGrid}},computed:{isListStyle:({blockStyle:e})=>e===gt["a"].list,items:({identifiers:e,references:t})=>e.reduce((e,n)=>t[n]?e.concat(t[n]):e,[])}},vt=bt,yt=(n("6e71"),Object(f["a"])(vt,ht,mt,!1,null,"ce6f87f6",null)),wt=yt.exports,_t=n("5416");const{CaptionPosition:xt,CaptionTag:kt}=ge.constants,Ct={aside:"aside",codeListing:"codeListing",endpointExample:"endpointExample",heading:"heading",orderedList:"orderedList",paragraph:"paragraph",table:"table",termList:"termList",unorderedList:"unorderedList",dictionaryExample:"dictionaryExample",small:"small",video:"video",row:"row",tabNavigator:"tabNavigator",links:"links"},St={codeVoice:"codeVoice",emphasis:"emphasis",image:"image",inlineHead:"inlineHead",link:"link",newTerm:"newTerm",reference:"reference",strong:"strong",text:"text",superscript:"superscript",subscript:"subscript",strikethrough:"strikethrough"},Et={both:"both",column:"column",none:"none",row:"row"},Ot={left:"left",right:"right",center:"center",unset:"unset"},It=7;function jt(e,t){const n=n=>n.map(jt(e,t)),i=t=>t.map(t=>e("li",{},n(t.content))),c=(t,i,a,r,s,o,c)=>{const{colspan:l,rowspan:u}=o[`${s}_${r}`]||{};if(0===l||0===u)return null;const d=c[r]||Ot.unset;let p=null;return d!==Ot.unset&&(p=d+"-cell"),e(t,{attrs:{...i,colspan:l,rowspan:u},class:p},n(a))},l=(t,n=Et.none,i={},a=[])=>{switch(n){case Et.both:{const[n,...r]=t;return[e("thead",{},[e("tr",{},n.map((e,t)=>c("th",{scope:"col"},e,t,0,i,a)))]),e("tbody",{},r.map(([t,...n],r)=>e("tr",{},[c("th",{scope:"row"},t,0,r+1,i,a),...n.map((e,t)=>c("td",{},e,t+1,r+1,i,a))])))]}case Et.column:return[e("tbody",{},t.map(([t,...n],r)=>e("tr",{},[c("th",{scope:"row"},t,0,r,i,a),...n.map((e,t)=>c("td",{},e,t+1,r,i,a))])))];case Et.row:{const[n,...r]=t;return[e("thead",{},[e("tr",{},n.map((e,t)=>c("th",{scope:"col"},e,t,0,i,a)))]),e("tbody",{},r.map((t,n)=>e("tr",{},t.map((e,t)=>c("td",{},e,t,n+1,i,a)))))]}default:return[e("tbody",{},t.map((t,n)=>e("tr",{},t.map((e,t)=>c("td",{},e,t,n,i,a)))))]}},u=({metadata:{abstract:t=[],anchor:i,title:a,...r},...s})=>{const o={...s,metadata:r},c=[n([o])];if(a&&t.length||t.length){const i=a?xt.leading:xt.trailing,r=i===xt.trailing?1:0,s=kt.figcaption;c.splice(r,0,e(ge,{props:{title:a,position:i,tag:s}},n(t)))}return e(ce,{props:{anchor:i}},c)},d=({metadata:{deviceFrame:t},...i})=>e(_t["a"],{props:{device:t}},n([i]));return function(c){switch(c.type){case Ct.aside:{const t={kind:c.style,name:c.name};return e(a["a"],{props:t},n(c.content))}case Ct.codeListing:{if(c.metadata&&c.metadata.anchor)return u(c);const t={syntax:c.syntax,fileType:c.fileType,content:c.code,showLineNumbers:c.showLineNumbers};return e(r["a"],{props:t})}case Ct.endpointExample:{const t={request:c.request,response:c.response};return e(ne,{props:t},n(c.summary||[]))}case Ct.heading:{const t={anchor:c.anchor,level:c.level};return e(s["a"],{props:t},c.text)}case Ct.orderedList:return e("ol",{attrs:{start:c.start}},i(c.items));case Ct.paragraph:{const t=1===c.inlineContent.length&&c.inlineContent[0].type===St.image,i=t?{class:["inline-image-container"]}:{};return e("p",i,n(c.inlineContent))}case Ct.table:{const t=l(c.rows,c.header,c.extendedData,c.alignments);if(c.metadata&&c.metadata.abstract){const{title:i}=c.metadata,a=i?xt.leading:xt.trailing,r=kt.caption;t.unshift(e(ge,{props:{title:i,position:a,tag:r}},n(c.metadata.abstract)))}return e(Te,{attrs:{id:c.metadata&&c.metadata.anchor},props:{spanned:!!c.extendedData}},t)}case Ct.termList:return e("dl",{},c.items.map(({term:t,definition:i})=>[e("dt",{},n(t.inlineContent)),e("dd",{},n(i.content))]));case Ct.unorderedList:{const t=e=>pt.props.tasks.validator(e.items);return t(c)?e(pt,{props:{tasks:c.items},scopedSlots:{task:e=>n(e.task.content)}}):e("ul",{},i(c.items))}case Ct.dictionaryExample:{const t={example:c.example};return e(_,{props:t},n(c.summary||[]))}case Ct.small:return e("p",{},[e(ze,{},n(c.inlineContent))]);case Ct.video:{if(c.metadata&&c.metadata.abstract)return u(c);if(!t[c.identifier])return null;const{deviceFrame:n}=c.metadata||{};return e(Ye,{props:{identifier:c.identifier,deviceFrame:n}})}case Ct.row:{const t=c.numberOfColumns?{large:c.numberOfColumns}:void 0;return e(Je["a"],{props:{columns:t}},c.columns.map(t=>e(Xe["a"],{props:{span:t.size}},n(t.content))))}case Ct.tabNavigator:{const t=c.tabs.length>It,i=c.tabs.map(e=>e.title),a=c.tabs.reduce((e,t)=>({...e,[t.title]:()=>n(t.content)}),{});return e(at,{props:{titles:i,vertical:t},scopedSlots:a})}case Ct.links:return e(wt,{props:{blockStyle:c.style,identifiers:c.items}});case St.codeVoice:return e(o["a"],{},c.code);case St.emphasis:case St.newTerm:return e("em",n(c.inlineContent));case St.image:{if(c.metadata&&(c.metadata.anchor||c.metadata.abstract))return u(c);const n=t[c.identifier];return n?c.metadata&&c.metadata.deviceFrame?d(c):e(ke,{props:{alt:n.alt,variants:n.variants}}):null}case St.link:return e("a",{attrs:{href:c.destination}},c.title);case St.reference:{const i=t[c.identifier];if(!i)return null;const a=c.overridingTitleInlineContent||i.titleInlineContent,r=c.overridingTitle||i.title;return e(Ce["a"],{props:{url:i.url,kind:i.kind,role:i.role,isActive:c.isActive,ideTitle:i.ideTitle,titleStyle:i.titleStyle,hasInlineFormatting:!!a}},a?n(a):r)}case St.strong:case St.inlineHead:return e("strong",n(c.inlineContent));case St.text:return"\n"===c.text?e("br"):c.text;case St.superscript:return e("sup",n(c.inlineContent));case St.subscript:return e("sub",n(c.inlineContent));case St.strikethrough:return e(Me,n(c.inlineContent));default:return null}}}var Tt,At,Lt={name:"ContentNode",constants:{TableHeaderStyle:Et,TableColumnAlignments:Ot},mixins:[i["a"]],render:function(e){return e(this.tag,{class:"content"},this.content.map(jt(e,this.references),this))},props:{content:{type:Array,required:!0},tag:{type:String,default:()=>"div"}},methods:{map(e){function t(n=[]){return n.map(n=>{switch(n.type){case Ct.aside:return e({...n,content:t(n.content)});case Ct.dictionaryExample:return e({...n,summary:t(n.summary)});case Ct.paragraph:case St.emphasis:case St.strong:case St.inlineHead:case St.superscript:case St.subscript:case St.strikethrough:case St.newTerm:return e({...n,inlineContent:t(n.inlineContent)});case Ct.orderedList:case Ct.unorderedList:return e({...n,items:n.items.map(e=>({...e,content:t(e.content)}))});case Ct.table:return e({...n,rows:n.rows.map(e=>e.map(t))});case Ct.termList:return e({...n,items:n.items.map(e=>({...e,term:{inlineContent:t(e.term.inlineContent)},definition:{content:t(e.definition.content)}}))});default:return e(n)}})}return t(this.content)},forEach(e){function t(n=[]){n.forEach(n=>{switch(e(n),n.type){case Ct.aside:t(n.content);break;case Ct.paragraph:case St.emphasis:case St.strong:case St.inlineHead:case St.newTerm:case St.superscript:case St.subscript:case St.strikethrough:t(n.inlineContent);break;case Ct.orderedList:case Ct.unorderedList:n.items.forEach(e=>t(e.content));break;case Ct.dictionaryExample:t(n.summary);break;case Ct.table:n.rows.forEach(e=>{e.forEach(t)});break;case Ct.termList:n.items.forEach(e=>{t(e.term.inlineContent),t(e.definition.content)});break}})}return t(this.content)},reduce(e,t){let n=t;return this.forEach(t=>{n=e(n,t)}),n}},computed:{plaintext(){return this.reduce((e,t)=>t.type===Ct.paragraph?e+"\n":t.type===St.text?`${e}${t.text}`:e,"").trim()}},BlockType:Ct,InlineType:St},Bt=Lt,$t=Object(f["a"])(Bt,Tt,At,!1,null,null,null);t["default"]=$t.exports},"598a":function(e,t,n){},"5c97":function(e,t,n){},"5da3":function(e,t,n){e.exports=n.p+"img/no-image@2x.df2a0a50.png"},"5dcc":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("h"+e.level,{tag:"component",attrs:{id:e.anchor}},[e.shouldLink?n("router-link",{staticClass:"header-anchor",attrs:{to:{hash:"#"+e.anchor}},on:{click:function(t){return e.handleFocusAndScroll(e.anchor)}}},[e._t("default"),n("span",{staticClass:"visuallyhidden"},[e._v(e._s(e.$t("accessibility.in-page-link")))]),n("LinkIcon",{staticClass:"icon",attrs:{"aria-hidden":"true"}})],2):[e._t("default")]],2)},a=[],r=n("8a61"),s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"link-icon",attrs:{viewBox:"0 0 20 20"}},[n("path",{attrs:{d:"M19.34,4.88L15.12,.66c-.87-.87-2.3-.87-3.17,0l-3.55,3.56-1.38,1.38-1.4,1.4c-.47,.47-.68,1.09-.64,1.7,.02,.29,.09,.58,.21,.84,.11,.23,.24,.44,.43,.63l4.22,4.22h0l.53-.53,.53-.53h0l-4.22-4.22c-.29-.29-.29-.77,0-1.06l1.4-1.4,.91-.91,.58-.58,.55-.55,2.9-2.9c.29-.29,.77-.29,1.06,0l4.22,4.22c.29,.29,.29,.77,0,1.06l-2.9,2.9c.14,.24,.24,.49,.31,.75,.08,.32,.11,.64,.09,.96l3.55-3.55c.87-.87,.87-2.3,0-3.17Z"}}),n("path",{attrs:{d:"M14.41,9.82s0,0,0,0l-4.22-4.22h0l-.53,.53-.53,.53h0l4.22,4.22c.29,.29,.29,.77,0,1.06l-1.4,1.4-.91,.91-.58,.58-.55,.55h0l-2.9,2.9c-.29,.29-.77,.29-1.06,0L1.73,14.04c-.29-.29-.29-.77,0-1.06l2.9-2.9c-.14-.24-.24-.49-.31-.75-.08-.32-.11-.64-.09-.97L.68,11.93c-.87,.87-.87,2.3,0,3.17l4.22,4.22c.87,.87,2.3,.87,3.17,0l3.55-3.55,1.38-1.38,1.4-1.4c.47-.47,.68-1.09,.64-1.7-.02-.29-.09-.58-.21-.84-.11-.22-.24-.44-.43-.62Z"}})])},o=[],c=n("be08"),l={name:"LinkIcon",components:{SVGIcon:c["a"]}},u=l,d=n("2877"),p=Object(d["a"])(u,s,o,!1,null,null,null),h=p.exports,m={name:"LinkableHeading",mixins:[r["a"]],components:{LinkIcon:h},props:{anchor:{type:String,required:!1},level:{type:Number,default:()=>2,validator:e=>e>=1&&e<=6}},inject:{enableMinimized:{default:()=>!1},isTargetIDE:{default:()=>!1}},computed:{shouldLink:({anchor:e,enableMinimized:t,isTargetIDE:n})=>!!e&&!t&&!n}},f=m,g=(n("bbf6"),Object(d["a"])(f,i,a,!1,null,"6007a8a4",null));t["a"]=g.exports},6058:function(e,t,n){},6209:function(e,t,n){"use strict";n("0eaa")},"620a":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"col",class:e.classes},[e._t("default")],2)},a=[];const r=0,s=12,o=new Set(["large","medium","small"]),c=e=>({type:Object,default:()=>({}),validator:t=>Object.keys(t).every(n=>o.has(n)&&e(t[n]))}),l=c(e=>"boolean"===typeof e),u=c(e=>"number"===typeof e&&e>=r&&e<=s);var d={name:"GridColumn",props:{isCentered:l,isUnCentered:l,span:{...u,default:()=>({large:s})}},computed:{classes:function(){return{["large-"+this.span.large]:void 0!==this.span.large,["medium-"+this.span.medium]:void 0!==this.span.medium,["small-"+this.span.small]:void 0!==this.span.small,"large-centered":!!this.isCentered.large,"medium-centered":!!this.isCentered.medium,"small-centered":!!this.isCentered.small,"large-uncentered":!!this.isUnCentered.large,"medium-uncentered":!!this.isUnCentered.medium,"small-uncentered":!!this.isUnCentered.small}}}},p=d,h=(n("6e4a"),n("2877")),m=Object(h["a"])(p,i,a,!1,null,"2ee3ad8b",null);t["a"]=m.exports},"636c":function(e,t,n){},"63e6":function(e,t,n){},"64b5":function(e,t,n){},6667:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"diagonal-arrow",attrs:{viewBox:"0 0 14 14",themeId:"diagonal-arrow"}},[n("path",{attrs:{d:"M0.010 12.881l10.429-10.477-3.764 0.824-0.339-1.549 7.653-1.679-1.717 7.622-1.546-0.349 0.847-3.759-10.442 10.487z"}})])},a=[],r=n("be08"),s={name:"DiagonalArrowIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},"66cd":function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));const i={article:"article",codeListing:"codeListing",collection:"collection",collectionGroup:"collectionGroup",containerSymbol:"containerSymbol",devLink:"devLink",dictionarySymbol:"dictionarySymbol",generic:"generic",link:"link",media:"media",pseudoCollection:"pseudoCollection",pseudoSymbol:"pseudoSymbol",restRequestSymbol:"restRequestSymbol",sampleCode:"sampleCode",symbol:"symbol",table:"table",learn:"learn",overview:"overview",project:"project",tutorial:"tutorial",resources:"resources"}},6869:function(e,t,n){"use strict";n("9649")},"6e4a":function(e,t,n){"use strict";n("05a1")},"6e71":function(e,t,n){"use strict";n("3ba9")},"70fb":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"TopicsLinkCardGrid"},[n("Row",{attrs:{columns:{large:e.compactCards?3:2,medium:2}}},e._l(e.items,(function(t){return n("Column",{key:t.title},[n("TopicsLinkCardGridItem",{attrs:{item:t,compact:e.compactCards}})],1)})),1)],1)},a=[],r=n("ee9e"),s=n("308e"),o=n("12b1"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Card",{staticClass:"reference-card-grid-item",attrs:{url:e.item.url,image:e.imageReferences.card,title:e.item.title,"floating-style":"",size:e.cardSize,"link-text":e.compact?"":e.$t(e.linkText)},scopedSlots:e._u([e.imageReferences.card?null:{key:"cover",fn:function(t){var i=t.classes;return[n("div",{staticClass:"reference-card-grid-item__image",class:i},[n("TopicTypeIcon",{staticClass:"reference-card-grid-item__icon",attrs:{type:e.item.role,"image-override":e.references[e.imageReferences.icon]}})],1)]}}],null,!0)},[e.compact?e._e():n("ContentNode",{attrs:{content:e.item.abstract}})],1)},l=[],u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Reference",e._b({staticClass:"card",class:e.classes,attrs:{url:e.url}},"Reference",e.linkAriaTags,!1),[n("CardCover",{attrs:{variants:e.imageVariants,rounded:e.floatingStyle,alt:e.imageReference.alt,"aria-hidden":"true"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._t("cover",null,null,t)]}}],null,!0)}),n("div",{staticClass:"details",attrs:{"aria-hidden":"true"}},[e.eyebrow?n("div",{staticClass:"eyebrow",attrs:{id:e.eyebrowId,"aria-label":e.formatAriaLabel("- "+e.eyebrow)}},[e._v(" "+e._s(e.eyebrow)+" ")]):e._e(),n("div",{staticClass:"title",attrs:{id:e.titleId}},[e._v(" "+e._s(e.title)+" ")]),e.$slots.default?n("div",{staticClass:"card-content",attrs:{id:e.contentId}},[e._t("default")],2):e._e(),e.linkText?n(e.hasButton?"ButtonLink":"div",{tag:"component",staticClass:"link"},[e._v(" "+e._s(e.linkText)+" "),e.showExternalLinks?n("DiagonalArrowIcon",{staticClass:"icon-inline link-icon"}):e.hasButton?e._e():n("InlineChevronRightIcon",{staticClass:"icon-inline link-icon"})],1):e._e()],1)],1)},d=[],p=n("76ab"),h=n("34b0"),m=n("6667"),f=n("86d8"),g={small:"small",large:"large"},b=n("2f34"),v=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"card-cover-wrap",class:{rounded:e.rounded}},[e._t("default",(function(){return[n("ImageAsset",{staticClass:"card-cover",attrs:{variants:e.variants,alt:e.alt}})]}),{classes:"card-cover"})],2)},y=[],w=n("8bd9"),_={name:"CardCover",components:{ImageAsset:w["a"]},props:{variants:{type:Array,required:!0},rounded:{type:Boolean,default:!1},alt:{type:String,default:null}}},x=_,k=(n("850e"),n("2877")),C=Object(k["a"])(x,v,y,!1,null,"0c1c40a1",null),S=C.exports,E={name:"Card",components:{Reference:f["a"],DiagonalArrowIcon:m["a"],InlineChevronRightIcon:h["a"],CardCover:S,ButtonLink:p["a"]},constants:{CardSize:g},mixins:[b["a"]],computed:{titleId:({_uid:e})=>"card_title_"+e,contentId:({_uid:e})=>"card_content_"+e,eyebrowId:({_uid:e})=>"card_eyebrow_"+e,linkAriaTags:({titleId:e,eyebrowId:t,contentId:n,eyebrow:i,$slots:a})=>({"aria-labelledby":e.concat(i?" "+t:""),"aria-describedby":a.default?""+n:null}),classes:({size:e,floatingStyle:t})=>[e,{"floating-style":t}],imageReference:({image:e,references:t})=>t[e]||{},imageVariants:({imageReference:e})=>e.variants||[]},props:{linkText:{type:String,required:!1},url:{type:String,required:!1,default:""},eyebrow:{type:String,required:!1},image:{type:String,required:!1},size:{type:String,validator:e=>Object.prototype.hasOwnProperty.call(g,e)},title:{type:String,required:!0},hasButton:{type:Boolean,default:()=>!1},floatingStyle:{type:Boolean,default:!1},showExternalLinks:{type:Boolean,default:!1},formatAriaLabel:{type:Function,default:e=>e}}},O=E,I=(n("0939"),Object(k["a"])(O,u,d,!1,null,"328d568a",null)),j=I.exports,T=n("f12c"),A=n("66cd");const L={[A["a"].article]:"documentation.card.read-article",[A["a"].overview]:"documentation.card.start-tutorial",[A["a"].collection]:"documentation.card.view-api",[A["a"].symbol]:"documentation.card.view-symbol",[A["a"].sampleCode]:"documentation.card.view-sample-code"};var B={name:"TopicsLinkCardGridItem",components:{TopicTypeIcon:T["a"],Card:j,ContentNode:()=>Promise.resolve().then(n.bind(null,"5677"))},mixins:[b["a"]],props:{item:{type:Object,required:!0},compact:{type:Boolean,default:!0}},computed:{imageReferences:({item:e})=>(e.images||[]).reduce((e,t)=>(e[t.type]=t.identifier,e),{icon:null,card:null}),linkText:({item:e})=>L[e.role]||"documentation.card.learn-more",cardSize:({compact:e})=>e?void 0:g.large}},$=B,N=(n("8f26"),Object(k["a"])($,c,l,!1,null,"08a5e3f8",null)),M=N.exports,P={name:"TopicsLinkCardGrid",components:{TopicsLinkCardGridItem:M,Column:s["a"],Row:r["a"]},props:{items:{type:Array,required:!0},topicStyle:{type:String,default:o["a"].compactGrid,validator:e=>e===o["a"].compactGrid||e===o["a"].detailedGrid}},computed:{compactCards:({topicStyle:e})=>e===o["a"].compactGrid}},R=P,V=Object(k["a"])(R,i,a,!1,null,null,null);t["a"]=V.exports},"72e7":function(e,t,n){"use strict";const i={up:"up",down:"down"};t["a"]={constants:{IntersectionDirections:i},data(){return{intersectionObserver:null,intersectionPreviousScrollY:0,intersectionScrollDirection:i.down}},computed:{intersectionThreshold(){const e=[];for(let t=0;t<=1;t+=.01)e.push(t);return e},intersectionRoot(){return null},intersectionRootMargin(){return"0px 0px 0px 0px"},intersectionObserverOptions(){return{root:this.intersectionRoot,rootMargin:this.intersectionRootMargin,threshold:this.intersectionThreshold}}},async mounted(){await n.e("chunk-2d0d3105").then(n.t.bind(null,"5abe",7)),this.intersectionObserver=new IntersectionObserver(e=>{this.detectIntersectionScrollDirection();const t=this.onIntersect;t?e.forEach(t):console.warn("onIntersect not implemented")},this.intersectionObserverOptions),this.getIntersectionTargets().forEach(e=>{this.intersectionObserver.observe(e)})},beforeDestroy(){this.intersectionObserver&&this.intersectionObserver.disconnect()},methods:{getIntersectionTargets(){return[this.$el]},detectIntersectionScrollDirection(){window.scrollY<this.intersectionPreviousScrollY?this.intersectionScrollDirection=i.down:window.scrollY>this.intersectionPreviousScrollY&&(this.intersectionScrollDirection=i.up),this.intersectionPreviousScrollY=window.scrollY}}}},"74ea":function(e,t,n){"use strict";n("636c")},7689:function(e,t,n){"use strict";t["a"]={computed:{isClientMobile(){let e=!1;return e="maxTouchPoints"in navigator||"msMaxTouchPoints"in navigator?Boolean(navigator.maxTouchPoints||navigator.msMaxTouchPoints):window.matchMedia?window.matchMedia("(pointer:coarse)").matches:"orientation"in window,e}}}},"76ab":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.resolvedComponent,e._b({tag:"component",staticClass:"button-cta",class:{"is-dark":e.isDark}},"component",e.componentProps,!1),[e._t("default")],2)},a=[],r=n("86d8"),s={name:"ButtonLink",components:{Reference:r["a"]},props:{url:{type:String,required:!1},isDark:{type:Boolean,default:!1}},computed:{resolvedComponent:({url:e})=>e?r["a"]:"button",componentProps:({url:e})=>e?{url:e}:{}}},o=s,c=(n("0da1"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"c9c81868",null);t["a"]=l.exports},"7b1f":function(e,t,n){"use strict";var i,a,r={functional:!0,name:"WordBreak",render(e,{props:t,slots:n,data:i}){const a=n().default||[],r=a.filter(e=>e.text&&!e.tag);if(0===r.length||r.length!==a.length)return e(t.tag,i,a);const s=r.map(({text:e})=>e).join(),o=[];let c=null,l=0;while(null!==(c=t.safeBoundaryPattern.exec(s))){const t=c.index+1;o.push(s.slice(l,t)),o.push(e("wbr",{key:c.index})),l=t}return o.push(s.slice(l,s.length)),e(t.tag,i,o)},props:{safeBoundaryPattern:{type:RegExp,default:()=>/([a-z](?=[A-Z])|(:)\w|\w(?=[._]\w))/g},tag:{type:String,default:()=>"span"}}},s=r,o=n("2877"),c=Object(o["a"])(s,i,a,!1,null,null,null);t["a"]=c.exports},"7b69":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"code-listing",class:{"single-line":1===e.syntaxHighlightedLines.length},attrs:{"data-syntax":e.syntaxNameNormalized}},[e.fileName?n("Filename",{attrs:{isActionable:e.isFileNameActionable,fileType:e.fileType},on:{click:function(t){return e.$emit("file-name-click")}}},[e._v(e._s(e.fileName)+" ")]):e._e(),n("div",{staticClass:"container-general"},[n("pre",[n("CodeBlock",[e._l(e.syntaxHighlightedLines,(function(t,i){return[n("span",{key:i,class:["code-line-container",{highlighted:e.isHighlighted(i)}]},[e.showLineNumbers?n("span",{staticClass:"code-number",attrs:{"data-line-number":e.lineNumberFor(i)}}):e._e(),n("span",{staticClass:"code-line",domProps:{innerHTML:e._s(t)}})]),e._v("\n")]}))],2)],1)])],1)},a=[],r=n("002d"),s=n("8649"),o=n("800b"),c=n("1020"),l=n.n(c);const u={objectivec:["objective-c"]},d={bash:["sh","zsh"],c:["h"],cpp:["cc","c++","h++","hpp","hh","hxx","cxx"],css:[],diff:["patch"],http:["https"],java:["jsp"],javascript:["js","jsx","mjs","cjs"],json:[],llvm:[],markdown:["md","mkdown","mkd"],objectivec:["mm","objc","obj-c"].concat(u.objectivec),perl:["pl","pm"],php:[],python:["py","gyp","ipython"],ruby:["rb","gemspec","podspec","thor","irb"],scss:[],shell:["console","shellsession"],swift:[],xml:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],...Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_HLJS_LANGUAGES?Object.fromEntries(Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_HLJS_LANGUAGES.split(",").map(e=>[e,[]])):void 0},p=new Set(["markdown","swift"]),h=Object.entries(d),m=new Set(Object.keys(d)),f=new Map;async function g(e){const t=[e];try{return await t.reduce(async(e,t)=>{let i;await e,i=p.has(t)?await n("1417")("./"+t):await n("b7b0")("./"+t),l.a.registerLanguage(t,i.default)},Promise.resolve()),!0}catch(i){return console.error(`Could not load ${e} file`),!1}}function b(e){if(m.has(e))return e;const t=h.find(([,t])=>t.includes(e));return t?t[0]:null}function v(e){if(f.has(e))return f.get(e);const t=b(e);return f.set(e,t),t}l.a.configure({classPrefix:"syntax-",languages:[...m]});const y=async e=>{const t=v(e);return!(!t||l.a.listLanguages().includes(t))&&g(t)},w=/\r\n|\r|\n/g,_=/syntax-/;function x(e){return 0===e.length?[]:e.split(w)}function k(e){return(e.trim().match(w)||[]).length}function C(e){const t=document.createElement("template");return t.innerHTML=e,t.content.childNodes}function S(e){const{className:t}=e;if(!_.test(t))return null;const n=x(e.innerHTML).reduce((e,n)=>`${e}<span class="${t}">${n}</span>\n`,"");return C(n.trim())}function E(e){return Array.from(e.childNodes).forEach(e=>{if(k(e.textContent))try{const t=e.childNodes.length?E(e):S(e);t&&e.replaceWith(...t)}catch(t){console.error(t)}}),S(e)}function O(e,t){const n=b(t);if(!l.a.getLanguage(n))throw new Error("Unsupported language for syntax highlighting: "+t);return l.a.highlight(e,{language:n,ignoreIllegals:!0}).value}function I(e,t){const n=e.join("\n"),i=O(n,t),a=document.createElement("code");return a.innerHTML=i,E(a),x(a.innerHTML)}var j=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"filename"},[e.isActionable?n("a",{attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.$emit("click")}}},[n("FileIcon",{attrs:{fileType:e.fileType}}),e._t("default")],2):n("span",[n("FileIcon",{attrs:{fileType:e.fileType}}),e._t("default")],2)])},T=[],A=function(){var e=this,t=e.$createElement,n=e._self._c||t;return"swift"===e.fileType?n("SwiftFileIcon",{staticClass:"file-icon"}):n("GenericFileIcon",{staticClass:"file-icon"})},L=[],B=n("a88f"),$=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"generic-file-icon",attrs:{viewBox:"0 0 14 14",themeId:"generic-file"}},[n("path",{attrs:{d:"M8.033 1l3.967 4.015v7.985h-10v-12zM7.615 2h-4.615v10h8v-6.574z"}}),n("path",{attrs:{d:"M7 1h1v4h-1z"}}),n("path",{attrs:{d:"M7 5h5v1h-5z"}})])},N=[],M=n("be08"),P={name:"GenericFileIcon",components:{SVGIcon:M["a"]}},R=P,V=n("2877"),D=Object(V["a"])(R,$,N,!1,null,null,null),G=D.exports,z={name:"CodeListingFileIcon",components:{SwiftFileIcon:B["a"],GenericFileIcon:G},props:{fileType:String}},q=z,F=(n("e6db"),Object(V["a"])(q,A,L,!1,null,"7c381064",null)),U=F.exports,W={name:"CodeListingFilename",components:{FileIcon:U},props:{isActionable:{type:Boolean,default:()=>!1},fileType:String}},H=W,K=(n("8608"),Object(V["a"])(H,j,T,!1,null,"c8c40662",null)),Z=K.exports,Y={name:"CodeListing",components:{Filename:Z,CodeBlock:o["a"]},data(){return{syntaxHighlightedLines:[]}},props:{fileName:String,isFileNameActionable:{type:Boolean,default:()=>!1},syntax:String,fileType:String,content:{type:Array,required:!0},startLineNumber:{type:Number,default:()=>1},highlights:{type:Array,default:()=>[]},showLineNumbers:{type:Boolean,default:()=>!1}},computed:{escapedContent:({content:e})=>e.map(r["c"]),highlightedLineNumbers(){return new Set(this.highlights.map(({line:e})=>e))},syntaxNameNormalized(){const e={occ:s["a"].objectiveC.key.url};return e[this.syntax]||this.syntax}},watch:{content:{handler:"syntaxHighlightLines",immediate:!0}},methods:{isHighlighted(e){return this.highlightedLineNumbers.has(this.lineNumberFor(e))},lineNumberFor(e){return this.startLineNumber+e},async syntaxHighlightLines(){let e;try{await y(this.syntaxNameNormalized),e=I(this.content,this.syntaxNameNormalized)}catch(t){e=this.escapedContent}this.syntaxHighlightedLines=e.map(e=>""===e?"\n":e)}}},X=Y,J=(n("7e3a"),Object(V["a"])(X,i,a,!1,null,"59f42f5b",null));t["a"]=J.exports},"7e3a":function(e,t,n){"use strict";n("f030")},"800b":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("code",{attrs:{tabindex:"0","data-before-code":e.$t("accessibility.code.start"),"data-after-code":e.$t("accessibility.code.end")}},[e._t("default")],2)},a=[],r={name:"CodeBlock"},s=r,o=(n("159b"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"08295b2f",null);t["a"]=c.exports},"80c8":function(e,t,n){},"80e4":function(e,t,n){"use strict";var i,a,r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"asset"},[n(e.assetComponent,e._g(e._b({tag:"component"},"component",e.assetProps,!1),e.assetListeners))],1)},s=[],o=n("8bd9"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ConditionalWrapper",{ref:"wrapper",attrs:{tag:e.DeviceFrameComponent,"should-wrap":!!e.deviceFrame,device:e.deviceFrame}},[n("video",{ref:"video",attrs:{controls:e.showsControls,autoplay:e.autoplays,poster:e.normalisedPosterPath,width:e.optimalWidth,playsinline:""},domProps:{muted:e.muted},on:{playing:function(t){return e.$emit("playing")},pause:function(t){return e.$emit("pause")},ended:function(t){return e.$emit("ended")}}},[n("source",{attrs:{src:e.normalizePath(e.videoAttributes.url)}})])])},l=[],u=n("748c"),d=n("e425"),p=n("821b"),h={functional:!0,name:"ConditionalWrapper",props:{tag:[Object,String],shouldWrap:Boolean},render(e,t){return t.props.shouldWrap?e(t.props.tag,t.data,t.children):t.children}},m=h,f=n("2877"),g=Object(f["a"])(m,i,a,!1,null,null,null),b=g.exports,v=n("5416"),y={name:"VideoAsset",components:{ConditionalWrapper:b},props:{variants:{type:Array,required:!0},showsControls:{type:Boolean,default:()=>!0},autoplays:{type:Boolean,default:()=>!0},posterVariants:{type:Array,required:!1,default:()=>[]},muted:{type:Boolean,default:!0},deviceFrame:{type:String,required:!1}},data:()=>({appState:d["a"].state,optimalWidth:null}),computed:{DeviceFrameComponent:()=>v["a"],preferredColorScheme:({appState:e})=>e.preferredColorScheme,systemColorScheme:({appState:e})=>e.systemColorScheme,userPrefersDark:({preferredColorScheme:e,systemColorScheme:t})=>e===p["a"].dark||e===p["a"].auto&&t===p["a"].dark,shouldShowDarkVariant:({darkVideoVariantAttributes:e,userPrefersDark:t})=>e&&t,defaultVideoAttributes(){return this.videoVariantsGroupedByAppearance.light[0]||this.darkVideoVariantAttributes||{}},darkVideoVariantAttributes(){return this.videoVariantsGroupedByAppearance.dark[0]},videoVariantsGroupedByAppearance(){return Object(u["e"])(this.variants)},posterVariantsGroupedByAppearance(){const{light:e,dark:t}=Object(u["e"])(this.posterVariants);return{light:Object(u["a"])(e),dark:Object(u["a"])(t)}},defaultPosterAttributes:({posterVariantsGroupedByAppearance:e,userPrefersDark:t})=>t&&e.dark.length?e.dark[0]:e.light[0]||{},normalisedPosterPath:({defaultPosterAttributes:e})=>Object(u["c"])(e.src),videoAttributes:({darkVideoVariantAttributes:e,defaultVideoAttributes:t,shouldShowDarkVariant:n})=>n?e:t},watch:{normalisedPosterPath:{immediate:!0,handler:"getPosterDimensions"}},methods:{normalizePath:u["c"],async getPosterDimensions(e){if(!e)return void(this.optimalWidth=null);const{density:t}=this.defaultPosterAttributes,n=parseInt(t.match(/\d+/)[0],10),{width:i}=await Object(u["b"])(e);this.optimalWidth=i/n}}},w=y,_=Object(f["a"])(w,c,l,!1,null,null,null),x=_.exports,k=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"video-replay-container"},[n("VideoAsset",{ref:"asset",attrs:{variants:e.variants,autoplays:e.autoplays,showsControls:e.showsControls,muted:e.muted,posterVariants:e.posterVariants,deviceFrame:e.deviceFrame},on:{pause:e.onPause,playing:e.onVideoPlaying,ended:e.onVideoEnd}}),e.showsControls?e._e():n("a",{staticClass:"control-button",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.togglePlayStatus.apply(null,arguments)}}},[e._v(" "+e._s(e.text)+" "),e.videoEnded?n("InlineReplayIcon",{staticClass:"control-icon icon-inline"}):e.isPlaying?n("PauseIcon",{staticClass:"control-icon icon-inline"}):n("PlayIcon",{staticClass:"control-icon icon-inline"})],1)],1)},C=[],S=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-replay-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-replay"}},[n("path",{attrs:{d:"M2.254 10.201c-1.633-2.613-0.838-6.056 1.775-7.689 2.551-1.594 5.892-0.875 7.569 1.592l0.12 0.184-0.848 0.53c-1.34-2.145-4.166-2.797-6.311-1.457s-2.797 4.166-1.457 6.311 4.166 2.797 6.311 1.457c1.006-0.629 1.71-1.603 2.003-2.723l0.056-0.242 0.98 0.201c-0.305 1.487-1.197 2.792-2.51 3.612-2.613 1.633-6.056 0.838-7.689-1.775z"}}),n("path",{attrs:{d:"M10.76 1.355l0.984-0.18 0.851 4.651-4.56-1.196 0.254-0.967 3.040 0.796z"}})])},E=[],O=n("be08"),I={name:"InlineReplayIcon",components:{SVGIcon:O["a"]}},j=I,T=Object(f["a"])(j,S,E,!1,null,null,null),A=T.exports,L=n("c4dd"),B=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"pause-icon",attrs:{viewBox:"0 0 14 14",themeId:"pause"}},[n("path",{attrs:{d:"M5 4h1v6h-1z"}}),n("path",{attrs:{d:"M8 4h1v6h-1z"}}),n("path",{attrs:{d:"M7 0.5c-3.6 0-6.5 2.9-6.5 6.5s2.9 6.5 6.5 6.5 6.5-2.9 6.5-6.5-2.9-6.5-6.5-6.5zM7 12.5c-3 0-5.5-2.5-5.5-5.5s2.5-5.5 5.5-5.5 5.5 2.5 5.5 5.5-2.5 5.5-5.5 5.5z"}})])},$=[],N={name:"PauseIcon",components:{SVGIcon:O["a"]}},M=N,P=Object(f["a"])(M,B,$,!1,null,null,null),R=P.exports,V={name:"ReplayableVideoAsset",components:{PauseIcon:R,PlayIcon:L["a"],InlineReplayIcon:A,VideoAsset:x},props:{variants:{type:Array,required:!0},showsControls:{type:Boolean,default:()=>!0},autoplays:{type:Boolean,default:()=>!0},muted:{type:Boolean,default:!0},posterVariants:{type:Array,default:()=>[]},deviceFrame:{type:String,required:!1}},computed:{text(){return this.videoEnded?this.$t("video.replay"):this.isPlaying?this.$t("video.pause"):this.$t("video.play")}},data(){return{isPlaying:!1,videoEnded:!1}},methods:{async togglePlayStatus(){const e=this.$refs.asset.$refs.video;e&&(this.isPlaying&&!this.videoEnded?await e.pause():await e.play())},onVideoEnd(){this.isPlaying=!1,this.videoEnded=!0},onVideoPlaying(){const{video:e}=this.$refs.asset.$refs;this.isPlaying=!e.paused,this.videoEnded=e.ended},onPause(){const{video:e}=this.$refs.asset.$refs;!this.showsControls&&this.isPlaying&&(this.isPlaying=!1),this.videoEnded=e.ended}}},D=V,G=(n("74ea"),Object(f["a"])(D,k,C,!1,null,"7653dfd0",null)),z=G.exports,q=n("2f34");const F={video:"video",image:"image"};var U={name:"Asset",components:{ImageAsset:o["a"],VideoAsset:x},constants:{AssetTypes:F},mixins:[q["a"]],props:{identifier:{type:String,required:!0},showsReplayButton:{type:Boolean,default:()=>!1},showsVideoControls:{type:Boolean,default:()=>!0},videoAutoplays:{type:Boolean,default:()=>!0},videoMuted:{type:Boolean,default:!0},deviceFrame:{type:String,required:!1}},computed:{rawAsset(){return this.references[this.identifier]||{}},isRawAssetVideo:({rawAsset:e})=>e.type===F.video,videoPoster(){return this.isRawAssetVideo&&this.references[this.rawAsset.poster]},asset(){return this.isRawAssetVideo&&this.prefersReducedMotion&&this.videoPoster||this.rawAsset},assetComponent(){switch(this.asset.type){case F.image:return o["a"];case F.video:return this.showsReplayButton?z:x;default:return}},prefersReducedMotion(){return window.matchMedia("(prefers-reduced-motion)").matches},assetProps(){return{[F.image]:this.imageProps,[F.video]:this.videoProps}[this.asset.type]},imageProps(){return{alt:this.asset.alt,variants:this.asset.variants}},videoProps(){return{variants:this.asset.variants,showsControls:this.showsVideoControls,muted:this.videoMuted,autoplays:!this.prefersReducedMotion&&this.videoAutoplays,posterVariants:this.videoPoster?this.videoPoster.variants:[],deviceFrame:this.deviceFrame}},assetListeners(){return{[F.image]:null,[F.video]:{ended:()=>this.$emit("videoEnded")}}[this.asset.type]}}},W=U,H=(n("5201"),Object(f["a"])(W,r,s,!1,null,"dcbc7b38",null));t["a"]=H.exports},"81c0":function(e,t,n){},8222:function(e,t,n){},"850e":function(e,t,n){"use strict";n("88d2")},8608:function(e,t,n){"use strict";n("a7f3")},"863d":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("li",{staticClass:"nav-menu-item",class:{"nav-menu-item--animated":e.animate}},[e._t("default")],2)},a=[],r={name:"NavMenuItemBase",props:{animate:{type:Boolean,default:!0}}},s=r,o=(n("43fe"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"66cbfe4c",null);t["a"]=c.exports},8649:function(e,t,n){"use strict";t["a"]={objectiveC:{name:"Objective-C",key:{api:"occ",url:"objc"}},swift:{name:"Swift",key:{api:"swift",url:"swift"}}}},"86d8":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.refComponent,{tag:"component",attrs:{url:e.urlWithParams,"is-active":e.isActiveComputed}},[e._t("default")],2)},a=[],r=n("d26a"),s=n("66cd"),o=n("9895"),c=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isActive?n("a",{attrs:{href:e.url}},[e._t("default")],2):n("span",[e._t("default")],2)},l=[],u={name:"ReferenceExternal",props:{url:{type:String,required:!0},isActive:{type:Boolean,default:!0}}},d=u,p=n("2877"),h=Object(p["a"])(d,c,l,!1,null,null,null),m=h.exports,f=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ReferenceInternal",e._b({},"ReferenceInternal",e.$props,!1),[n("CodeVoice",[e._t("default")],2)],1)},g=[],b=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isActive?n("router-link",{attrs:{to:e.url}},[e._t("default")],2):n("span",[e._t("default")],2)},v=[],y={name:"ReferenceInternal",props:{url:{type:String,required:!0},isActive:{type:Boolean,default:!0}}},w=y,_=Object(p["a"])(w,b,v,!1,null,null,null),x=_.exports,k=n("52e4"),C={name:"ReferenceInternalSymbol",props:x.props,components:{ReferenceInternal:x,CodeVoice:k["a"]}},S=C,E=Object(p["a"])(S,f,g,!1,null,null,null),O=E.exports,I={name:"Reference",computed:{isInternal({url:e}){if(!e.startsWith("/")&&!e.startsWith("#"))return!1;const{resolved:{name:t}={}}=this.$router.resolve(e)||{};return t!==o["b"]},isSymbolReference(){return"symbol"===this.kind&&!this.hasInlineFormatting&&(this.role===s["a"].symbol||this.role===s["a"].dictionarySymbol)},isDisplaySymbol({isSymbolReference:e,titleStyle:t,ideTitle:n}){return n?e&&"symbol"===t:e},refComponent(){return this.isInternal?this.isDisplaySymbol?O:x:m},urlWithParams({isInternal:e}){return e?Object(r["b"])(this.url,this.$route.query):this.url},isActiveComputed({url:e,isActive:t}){return!(!e||!t)}},props:{url:{type:String,required:!0},kind:{type:String,required:!1},role:{type:String,required:!1},isActive:{type:Boolean,required:!1,default:!0},ideTitle:{type:String,required:!1},titleStyle:{type:String,required:!1},hasInlineFormatting:{type:Boolean,default:!1}}},j=I,T=Object(p["a"])(j,i,a,!1,null,null,null);t["a"]=T.exports},"88d2":function(e,t,n){},"8a61":function(e,t,n){"use strict";var i=n("3908");t["a"]={methods:{async scrollToElement(e){await Object(i["b"])(8);const t=this.$router.resolve({hash:e}),{selector:n,offset:a}=await this.$router.options.scrollBehavior(t.route),r=document.querySelector(n);return r?(r.scrollIntoView(),window.scrollY+window.innerHeight<document.body.scrollHeight&&window.scrollBy(-a.x,-a.y),r):null},async handleFocusAndScroll(e){const t=document.getElementById(e);t&&(t.focus({preventScroll:!0}),await this.scrollToElement("#"+e))}}}},"8bd9":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.fallbackImageSrcSet?n("img",{staticClass:"fallback",attrs:{title:e.$t("error.image"),decoding:"async",alt:e.alt,srcset:e.fallbackImageSrcSet}}):n("picture",[e.prefersAuto&&e.darkVariantAttributes?n("source",{attrs:{media:"(prefers-color-scheme: dark)",srcset:e.darkVariantAttributes.srcSet}}):e._e(),e.prefersDark&&e.darkVariantAttributes?n("img",e._b({ref:"img",attrs:{decoding:"async",loading:e.loading,alt:e.alt,width:e.darkVariantAttributes.width||e.optimalWidth,height:e.darkVariantAttributes.width||e.optimalWidth?"auto":null},on:{error:e.handleImageLoadError}},"img",e.darkVariantAttributes,!1)):n("img",e._b({ref:"img",attrs:{decoding:"async",loading:e.loading,alt:e.alt,width:e.defaultAttributes.width||e.optimalWidth,height:e.defaultAttributes.width||e.optimalWidth?"auto":null},on:{error:e.handleImageLoadError}},"img",e.defaultAttributes,!1))])},a=[],r=n("748c"),s={props:{variants:{type:Array,required:!0}},computed:{variantsGroupedByAppearance(){return Object(r["e"])(this.variants)},lightVariants(){return Object(r["a"])(this.variantsGroupedByAppearance.light)},darkVariants(){return Object(r["a"])(this.variantsGroupedByAppearance.dark)}}},o=n("e425"),c=n("821b"),l=n("5da3"),u=n.n(l);const d=10;function p(e){if(!e.length)return null;const t=e.map(e=>`${Object(r["c"])(e.src)} ${e.density}`).join(", "),n=e[0],i={srcSet:t,src:Object(r["c"])(n.src)},{width:a}=n.size||{width:null};return a&&(i.width=a,i.height="auto"),i}var h={name:"ImageAsset",mixins:[s],inject:{imageLoadingStrategy:{default:null}},data:()=>({appState:o["a"].state,fallbackImageSrcSet:null,optimalWidth:null}),computed:{allVariants:({lightVariants:e=[],darkVariants:t=[]})=>e.concat(t),defaultAttributes:({lightVariantAttributes:e,darkVariantAttributes:t})=>e||t,darkVariantAttributes:({darkVariants:e})=>p(e),lightVariantAttributes:({lightVariants:e})=>p(e),loading:({appState:e,imageLoadingStrategy:t})=>t||e.imageLoadingStrategy,preferredColorScheme:({appState:e})=>e.preferredColorScheme,prefersAuto:({preferredColorScheme:e})=>e===c["a"].auto,prefersDark:({preferredColorScheme:e})=>e===c["a"].dark},props:{alt:{type:String,default:""},variants:{type:Array,required:!0},shouldCalculateOptimalWidth:{type:Boolean,default:!0}},methods:{handleImageLoadError(){this.fallbackImageSrcSet=u.a+" 2x"},async calculateOptimalWidth(){const{$refs:{img:{currentSrc:e}},allVariants:t}=this,{density:n}=t.find(({src:t})=>e.endsWith(t)),i=parseInt(n.match(/\d+/)[0],d),a=await Object(r["b"])(e),s=a.width/i;return s},async optimizeImageSize(){if(!this.defaultAttributes.width&&this.$refs.img)try{this.optimalWidth=await this.calculateOptimalWidth()}catch{console.error("Unable to calculate optimal image width")}}},mounted(){this.shouldCalculateOptimalWidth&&this.$refs.img.addEventListener("load",this.optimizeImageSize)}},m=h,f=n("2877"),g=Object(f["a"])(m,i,a,!1,null,null,null);t["a"]=g.exports},"8c92":function(e,t,n){"use strict";n("80c8")},"8d2d":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"tutorial-icon",attrs:{viewBox:"0 0 14 14",themeId:"tutorial"}},[n("path",{attrs:{d:"M0.933 6.067h3.733v1.867h-3.733v-1.867z"}}),n("path",{attrs:{d:"M0.933 1.867h3.733v1.867h-3.733v-1.867z"}}),n("path",{attrs:{d:"M13.067 1.867v10.267h-7.467v-10.267zM12.133 2.8h-5.6v8.4h5.6z"}}),n("path",{attrs:{d:"M0.933 10.267h3.733v1.867h-3.733v-1.867z"}})])},a=[],r=n("be08"),s={name:"TutorialIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},"8d90":function(e,t,n){},"8f26":function(e,t,n){"use strict";n("0444")},9034:function(e,t,n){},"95da":function(e,t,n){"use strict";var i=n("0cb0");const a="data-original-",r="aria-hidden",s="tabindex";function o(e,t){const n=a+t;if(e.getAttribute(n))return;const i=e.getAttribute(t)||"";e.setAttribute(n,i)}function c(e,t){const n=a+t;if(!e.hasAttribute(n))return;const i=e.getAttribute(n);e.removeAttribute(n),i.length?e.setAttribute(t,i):e.removeAttribute(t)}function l(e,t){const n=document.body;let i=e,a=e;while(i=i.previousElementSibling)t(i);while(a=a.nextElementSibling)t(a);e.parentElement&&e.parentElement!==n&&l(e.parentElement,t)}const u=e=>{o(e,r),o(e,s),e.setAttribute(r,"true"),e.setAttribute(s,"-1");const t=i["a"].getTabbableElements(e);let n=t.length-1;while(n>=0)o(t[n],s),t[n].setAttribute(s,"-1"),n-=1},d=e=>{c(e,r),c(e,s);const t=e.querySelectorAll(`[${a+s}]`);let n=t.length-1;while(n>=0)c(t[n],s),n-=1};t["a"]={hide(e){l(e,u)},show(e){l(e,d)}}},9649:function(e,t,n){},"9a61":function(e,t,n){"use strict";n("19cc")},"9b30":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{staticClass:"nav-menu-items",attrs:{"data-previous-menu-children-count":e.previousSiblingChildren}},[e._t("default")],2)},a=[],r={name:"NavMenuItems",props:{previousSiblingChildren:{type:Number,default:0}}},s=r,o=(n("517a"),n("2877")),c=Object(o["a"])(s,i,a,!1,null,"67c1c0a5",null);t["a"]=c.exports},"9ed5":function(e,t,n){"use strict";n("a5f5")},a295:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",themeId:"path"}},[n("path",{attrs:{d:"M0 0.948h2.8v2.8h-2.8z"}}),n("path",{attrs:{d:"M11.2 10.252h2.8v2.8h-2.8z"}}),n("path",{attrs:{d:"M6.533 1.852h0.933v10.267h-0.933z"}}),n("path",{attrs:{d:"M2.8 1.852h4.667v0.933h-4.667z"}}),n("path",{attrs:{d:"M6.533 11.186h4.667v0.933h-4.667z"}})])},a=[],r=n("be08"),s={name:"PathIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},a4f0:function(e,t,n){},a5f5:function(e,t,n){},a7a5:function(e,t,n){},a7d8:function(e,t,n){},a7f3:function(e,t,n){},a88f:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"swift-file-icon",attrs:{viewBox:"0 0 15 14",themeId:"swift-file"}},[n("path",{attrs:{d:"M14.93,13.56A2.15,2.15,0,0,0,15,13a5.37,5.37,0,0,0-1.27-3.24A6.08,6.08,0,0,0,14,7.91,9.32,9.32,0,0,0,9.21.31a8.51,8.51,0,0,1,1.78,5,6.4,6.4,0,0,1-.41,2.18A45.06,45.06,0,0,1,3.25,1.54,44.57,44.57,0,0,0,7.54,6.9,45.32,45.32,0,0,1,1.47,2.32,35.69,35.69,0,0,0,8.56,9.94a6.06,6.06,0,0,1-3.26.85A9.48,9.48,0,0,1,0,8.91a10,10,0,0,0,8.1,4.72c2.55,0,3.25-1.2,4.72-1.2a2.09,2.09,0,0,1,1.91,1.15C14.79,13.69,14.88,13.75,14.93,13.56Z"}})])},a=[],r=n("be08"),s={name:"SwiftFileIcon",components:{SVGIcon:r["a"]}},o=s,c=(n("c3e5"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"c01a6890",null);t["a"]=l.exports},a97e:function(e,t,n){"use strict";var i=n("63b8");const a=e=>e?`(max-width: ${e}px)`:"",r=e=>e?`(min-width: ${e}px)`:"";function s({minWidth:e,maxWidth:t}){return["only screen",r(e),a(t)].filter(Boolean).join(" and ")}function o({maxWidth:e,minWidth:t}){return window.matchMedia(s({minWidth:t,maxWidth:e}))}var c,l,u={name:"BreakpointEmitter",constants:{BreakpointAttributes:i["a"],BreakpointName:i["b"],BreakpointScopes:i["c"]},props:{scope:{type:String,default:()=>i["c"].default,validator:e=>e in i["c"]}},render(){return this.$scopedSlots.default?this.$scopedSlots.default({matchingBreakpoint:this.matchingBreakpoint}):null},data:()=>({matchingBreakpoint:null}),methods:{initMediaQuery(e,t){const n=o(t),i=t=>this.handleMediaQueryChange(t,e);n.addListener(i),this.$once("hook:beforeDestroy",()=>{n.removeListener(i)}),i(n)},handleMediaQueryChange(e,t){e.matches&&(this.matchingBreakpoint=t,this.$emit("change",t))}},mounted(){const e=i["a"][this.scope]||{};Object.entries(e).forEach(([e,t])=>{this.initMediaQuery(e,t)})}},d=u,p=n("2877"),h=Object(p["a"])(d,c,l,!1,null,null,null);t["a"]=h.exports},a9f1:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"article-icon",attrs:{viewBox:"0 0 14 14",themeId:"article"}},[n("path",{attrs:{d:"M8.033 1l3.967 4.015v7.985h-10v-12zM7.615 2h-4.615v10h8v-6.574z"}}),n("path",{attrs:{d:"M7 1h1v4h-1z"}}),n("path",{attrs:{d:"M7 5h5v1h-5z"}})])},a=[],r=n("be08"),s={name:"ArticleIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},aea0:function(e,t,n){},b0e7:function(e,t,n){"use strict";n("8d90")},b0f5:function(e,t,n){"use strict";n("49e3")},b2da:function(e,t,n){"use strict";n("e529")},b392:function(e,t,n){},b7b0:function(e,t,n){var i={"./bash":["f0f8","highlight-js-bash"],"./c":["1fe5","highlight-js-c"],"./cpp":["0209","highlight-js-cpp"],"./css":["ee8c","highlight-js-css"],"./diff":["48b8","highlight-js-diff"],"./http":["c01d","highlight-js-http"],"./java":["332f","highlight-js-java"],"./javascript":["4dd1","highlight-js-javascript"],"./json":["5ad2","highlight-js-json"],"./llvm":["7c30","highlight-js-llvm"],"./markdown":["04b0","highlight-js-markdown"],"./objectivec":["9bf2","highlight-js-objectivec"],"./perl":["6a51","highlight-js-perl"],"./php":["2907","highlight-js-php"],"./python":["9510","highlight-js-python"],"./ruby":["82cb","highlight-js-ruby"],"./scss":["6113","highlight-js-scss"],"./shell":["b65b","highlight-js-shell"],"./swift":["2a39","highlight-js-swift"],"./xml":["8dcb","highlight-js-xml"]};function a(e){if(!n.o(i,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=i[e],a=t[0];return n.e(t[1]).then((function(){return n.t(a,7)}))}a.keys=function(){return Object.keys(i)},a.id="b7b0",e.exports=a},b8f2:function(e,t,n){"use strict";n("a7a5")},bbe1:function(e,t,n){},bbf6:function(e,t,n){"use strict";n("63e6")},bf08:function(e,t,n){"use strict";var i=n("2788"),a=n("002d"),r=n("d26a"),s=n("5677");t["a"]={methods:{extractFirstParagraphText(e=[]){const t=s["default"].computed.plaintext.bind({...s["default"].methods,content:e})();return Object(a["e"])(t)}},computed:{pagePath:({$route:{path:e="/"}={}})=>e,pageURL:({pagePath:e="/"})=>Object(r["e"])(e),disableMetadata:()=>!1},mounted(){this.disableMetadata||Object(i["a"])({title:this.pageTitle,description:this.pageDescription,url:this.pageURL,currentLocale:this.$i18n.locale})}}},c081:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.action?n("DestinationDataProvider",{attrs:{destination:e.action},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.url,a=t.title;return n("ButtonLink",{attrs:{url:i,isDark:e.isDark}},[e._v(" "+e._s(a)+" ")])}}],null,!1,1264376715)}):e._e()},a=[],r=n("76ab"),s=n("c7ea"),o={name:"CallToActionButton",components:{DestinationDataProvider:s["a"],ButtonLink:r["a"]},props:{action:{type:Object,required:!0},isDark:{type:Boolean,default:!1}}},c=o,l=n("2877"),u=Object(l["a"])(c,i,a,!1,null,null,null);t["a"]=u.exports},c3da:function(e,t,n){"use strict";n("fda2")},c3e5:function(e,t,n){"use strict";n("aea0")},c4dd:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"play-icon",attrs:{viewBox:"0 0 14 14",themeId:"play"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5v0c0-3.038-2.462-5.5-5.5-5.5v0z"}}),n("path",{attrs:{d:"M10.195 7.010l-5 3v-6l5 3z"}})])},a=[],r=n("be08"),s={name:"PlayIcon",components:{SVGIcon:r["a"]}},o=s,c=n("2877"),l=Object(c["a"])(o,i,a,!1,null,null,null);t["a"]=l.exports},c7ea:function(e,t,n){"use strict";var i=n("2f34");const a={link:"link",reference:"reference",text:"text"};var r,s,o={name:"DestinationDataProvider",mixins:[i["a"]],props:{destination:{type:Object,required:!0,default:()=>({})}},inject:{isTargetIDE:{default:()=>!1}},constants:{DestinationType:a},computed:{isExternal:({reference:e,destination:t})=>e.type===a.link||t.type===a.link,shouldAppendOpensInBrowser:({isExternal:e,isTargetIDE:t})=>e&&t,reference:({references:e,destination:t})=>e[t.identifier]||{},linkUrl:({destination:e,reference:t})=>({[a.link]:e.destination,[a.reference]:t.url,[a.text]:e.text}[e.type]),linkTitle:({reference:e,destination:t})=>({[a.link]:t.title,[a.reference]:t.overridingTitle||e.title,[a.text]:""}[t.type])},methods:{formatAriaLabel(e){return this.shouldAppendOpensInBrowser?e+" (opens in browser)":e}},render(){return this.$scopedSlots.default({url:this.linkUrl||"",title:this.linkTitle||"",formatAriaLabel:this.formatAriaLabel,isExternal:this.isExternal})}},c=o,l=n("2877"),u=Object(l["a"])(c,r,s,!1,null,null,null);t["a"]=u.exports},cb92:function(e,t,n){"use strict";n("598a")},cbcf:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("nav",{ref:"nav",staticClass:"nav",class:e.rootClasses,attrs:{role:"navigation"}},[n("div",{ref:"wrapper",staticClass:"nav__wrapper"},[n("div",{staticClass:"nav__background"}),e.hasOverlay?n("div",{staticClass:"nav-overlay",on:{click:e.closeNav}}):e._e(),n("div",{staticClass:"nav-content"},[e._t("pre-title",null,{className:"pre-title"},{closeNav:e.closeNav,inBreakpoint:e.inBreakpoint,currentBreakpoint:e.currentBreakpoint,isOpen:e.isOpen}),e.$slots.default?n("div",{staticClass:"nav-title"},[e._t("default")],2):e._e(),e._t("after-title"),n("div",{staticClass:"nav-menu"},[n("a",{ref:"axToggle",staticClass:"nav-ax-toggle",attrs:{href:"#",role:"button"},on:{click:function(t){return t.preventDefault(),e.toggleNav.apply(null,arguments)}}},[n("span",{staticClass:"visuallyhidden"},[e.isOpen?[e._v(" "+e._s(e.$t("documentation.nav.close-menu"))+" ")]:[e._v(" "+e._s(e.$t("documentation.nav.open-menu"))+" ")]],2)]),n("div",{ref:"tray",staticClass:"nav-menu-tray",on:{transitionend:function(t){return t.target!==t.currentTarget?null:e.onTransitionEnd.apply(null,arguments)},click:e.handleTrayClick}},[e._t("tray",(function(){return[n("NavMenuItems",[e._t("menu-items")],2)]}),{closeNav:e.closeNav})],2)]),n("div",{staticClass:"nav-actions"},[n("a",{ref:"toggle",staticClass:"nav-menucta",attrs:{href:"#",tabindex:"-1","aria-hidden":"true"},on:{click:function(t){return t.preventDefault(),e.toggleNav.apply(null,arguments)}}},[n("span",{staticClass:"nav-menucta-chevron"})])])],2),e._t("after-content")],2),n("BreakpointEmitter",{attrs:{scope:e.BreakpointScopes.nav},on:{change:e.onBreakpointChange}})],1)},a=[],r=n("72e7"),s=n("9b30"),o=n("a97e"),c=n("f2af"),l=n("942d"),u=n("63b8"),d=n("95da"),p=n("3908");const{noClose:h}=l["a"],{BreakpointName:m,BreakpointScopes:f}=o["a"].constants,g=8,b={isDark:"theme-dark",isOpen:"nav--is-open",inBreakpoint:"nav--in-breakpoint-range",isTransitioning:"nav--is-transitioning",isSticking:"nav--is-sticking",hasSolidBackground:"nav--solid-background",hasNoBorder:"nav--noborder",hasFullWidthBorder:"nav--fullwidth-border",isWideFormat:"nav--is-wide-format",noBackgroundTransition:"nav--no-bg-transition"};var v={name:"NavBase",components:{NavMenuItems:s["a"],BreakpointEmitter:o["a"]},constants:{NavStateClasses:b,NoBGTransitionFrames:g},props:{breakpoint:{type:String,default:m.small},hasOverlay:{type:Boolean,default:!0},hasSolidBackground:{type:Boolean,default:!1},hasNoBorder:{type:Boolean,default:!1},hasFullWidthBorder:{type:Boolean,default:!1},isDark:{type:Boolean,default:!1},isWideFormat:{type:Boolean,default:!1}},mixins:[r["a"]],data(){return{isOpen:!1,isTransitioning:!1,isSticking:!1,noBackgroundTransition:!0,currentBreakpoint:m.large}},computed:{BreakpointScopes:()=>f,inBreakpoint:({currentBreakpoint:e,breakpoint:t})=>!Object(u["d"])(e,t),rootClasses:({isOpen:e,inBreakpoint:t,isTransitioning:n,isSticking:i,hasSolidBackground:a,hasNoBorder:r,hasFullWidthBorder:s,isDark:o,isWideFormat:c,noBackgroundTransition:l})=>({[b.isDark]:o,[b.isOpen]:e,[b.inBreakpoint]:t,[b.isTransitioning]:n,[b.isSticking]:i,[b.hasSolidBackground]:a,[b.hasNoBorder]:r,[b.hasFullWidthBorder]:s,[b.isWideFormat]:c,[b.noBackgroundTransition]:l})},watch:{isOpen(e){this.$emit("change",e),e?this.onExpand():this.onClose()}},async mounted(){window.addEventListener("keydown",this.onEscape),window.addEventListener("popstate",this.closeNav),window.addEventListener("orientationchange",this.closeNav),document.addEventListener("click",this.handleClickOutside),this.handleFlashOnMount(),await this.$nextTick()},beforeDestroy(){window.removeEventListener("keydown",this.onEscape),window.removeEventListener("popstate",this.closeNav),window.removeEventListener("orientationchange",this.closeNav),document.removeEventListener("click",this.handleClickOutside),this.isOpen&&this.toggleScrollLock(!1)},methods:{getIntersectionTargets(){return[document.getElementById(l["e"])||this.$el]},toggleNav(){this.isOpen=!this.isOpen,this.isTransitioning=!0},closeNav(){const e=this.isOpen;return this.isOpen=!1,this.resolveOnceTransitionsEnd(e)},resolveOnceTransitionsEnd(e){return e&&this.inBreakpoint?(this.isTransitioning=!0,new Promise(e=>{const t=this.$watch("isTransitioning",()=>{e(),t()})})):Promise.resolve()},async onTransitionEnd({propertyName:e}){"max-height"===e&&(this.$emit("changed",this.isOpen),this.isTransitioning=!1,this.isOpen?(this.$emit("opened"),this.toggleScrollLock(!0)):this.$emit("closed"))},onBreakpointChange(e){this.currentBreakpoint=e,this.inBreakpoint||this.closeNav()},onIntersect({intersectionRatio:e}){window.scrollY<0||(this.isSticking=1!==e)},onEscape({key:e}){"Escape"===e&&this.isOpen&&(this.closeNav(),this.$refs.axToggle.focus())},handleTrayClick({target:e}){e.href&&!e.classList.contains(h)&&this.closeNav()},handleClickOutside({target:e}){this.$refs.nav.contains(e)||this.closeNav()},toggleScrollLock(e){e?c["b"].lockScroll(this.$refs.tray):c["b"].unlockScroll(this.$refs.tray)},onExpand(){this.$emit("open"),d["a"].hide(this.$refs.wrapper),document.activeElement===this.$refs.toggle&&document.activeElement.blur()},onClose(){this.$emit("close"),this.toggleScrollLock(!1),d["a"].show(this.$refs.wrapper)},async handleFlashOnMount(){await Object(p["b"])(g),this.noBackgroundTransition=!1}}},y=v,w=(n("1f39"),n("2877")),_=Object(w["a"])(y,i,a,!1,null,"5c0521d3",null);t["a"]=_.exports},d0da:function(e,t,n){"use strict";n("64b5")},e3ab:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("aside",{class:e.kind,attrs:{"aria-label":e.kind}},[n("p",{staticClass:"label"},[e._v(e._s(e.name||e.$t(e.label)))]),e._t("default")],2)},a=[];const r={deprecated:"deprecated",experiment:"experiment",important:"important",note:"note",tip:"tip",warning:"warning"};var s={name:"Aside",props:{kind:{type:String,required:!0,validator:e=>Object.prototype.hasOwnProperty.call(r,e)},name:{type:String,required:!1}},computed:{label:({kind:e})=>"aside-kind."+e}},o=s,c=(n("b8f2"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"3ccce809",null);t["a"]=l.exports},e529:function(e,t,n){},e6db:function(e,t,n){"use strict";n("47cc")},ec71:function(e,t,n){"use strict";n("a4f0")},ee9e:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"row",class:{"with-columns":e.columns},style:e.style},[e._t("default")],2)},a=[],r=n("63b8"),s={name:"Row",props:{columns:{type:Object,required:!1,validator:e=>Object.entries(e).every(([e,t])=>r["b"][e]&&"number"===typeof t)},gap:{type:Number,required:!1}},computed:{style:({columns:e={},gap:t})=>({"--col-count-large":e.large,"--col-count-medium":e.medium,"--col-count-small":e.small||1,"--col-gap":t&&t+"px"})}},o=s,c=(n("17a4"),n("2877")),l=Object(c["a"])(o,i,a,!1,null,"1bcb2d0f",null);t["a"]=l.exports},efc1:function(e,t,n){"use strict";n("3b75")},f030:function(e,t,n){},f12c:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"TopicTypeIcon",style:e.styles},[e.imageOverride?n("OverridableAsset",{staticClass:"icon-inline",attrs:{imageOverride:e.imageOverride,shouldCalculateOptimalWidth:e.shouldCalculateOptimalWidth}}):n(e.icon,e._b({tag:"component",staticClass:"icon-inline"},"component",e.iconProps,!1))],1)},a=[],r=n("a295"),s=n("3024"),o=n("a9f1"),c=n("8d2d"),l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",height:"14",themeId:"topic-func"}},[n("path",{attrs:{d:"M13 1v12h-12v-12zM12.077 1.923h-10.154v10.154h10.154z"}}),n("path",{attrs:{d:"M5.191 9.529c0.044 0.002 0.089 0.004 0.133 0.004 0.108 0 0.196-0.025 0.262-0.074s0.122-0.113 0.166-0.188c0.044-0.077 0.078-0.159 0.103-0.247s0.049-0.173 0.074-0.251l0.598-2.186h-0.709l0.207-0.702h0.702l0.288-1.086c0.083-0.384 0.256-0.667 0.517-0.849s0.591-0.273 0.99-0.273c0.108 0 0.212 0.007 0.314 0.022s0.203 0.027 0.306 0.037l-0.207 0.761c-0.054-0.006-0.106-0.011-0.155-0.018s-0.102-0.011-0.155-0.011c-0.108 0-0.196 0.016-0.262 0.048s-0.122 0.075-0.166 0.129-0.080 0.115-0.107 0.185c-0.028 0.068-0.055 0.14-0.085 0.214l-0.222 0.842h0.768l-0.192 0.702h-0.783l-0.628 2.319c-0.059 0.222-0.129 0.419-0.21 0.594s-0.182 0.322-0.303 0.443-0.269 0.214-0.443 0.281-0.385 0.1-0.631 0.1c-0.084 0-0.168-0.004-0.251-0.011s-0.168-0.014-0.251-0.018l0.207-0.768c0.040 0 0.081 0.001 0.126 0.004z"}})])},u=[],d=n("be08"),p={name:"TopicFuncIcon",components:{SVGIcon:d["a"]}},h=p,m=n("2877"),f=Object(m["a"])(h,l,u,!1,null,null,null),g=f.exports,b=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"collection-icon",attrs:{viewBox:"0 0 14 14",themeId:"collection"}},[n("path",{attrs:{d:"m1 1v12h12v-12zm11 11h-10v-10h10z"}}),n("path",{attrs:{d:"m3 4h8v1h-8zm0 2.5h8v1h-8zm0 2.5h8v1h-8z"}}),n("path",{attrs:{d:"m3 4h8v1h-8z"}}),n("path",{attrs:{d:"m3 6.5h8v1h-8z"}}),n("path",{attrs:{d:"m3 9h8v1h-8z"}})])},v=[],y={name:"CollectionIcon",components:{SVGIcon:d["a"]}},w=y,_=Object(m["a"])(w,b,v,!1,null,null,null),x=_.exports,k=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",height:"14",themeId:"topic-func-op"}},[n("path",{attrs:{d:"M13 13h-12v-12h12zM1.923 12.077h10.154v-10.154h-10.154z"}}),n("path",{attrs:{d:"M5.098 4.968v-1.477h-0.738v1.477h-1.477v0.738h1.477v1.477h0.738v-1.477h1.477v-0.738z"}}),n("path",{attrs:{d:"M8.030 4.807l-2.031 5.538h0.831l2.031-5.538z"}}),n("path",{attrs:{d:"M8.894 8.805v0.923h2.215v-0.923z"}})])},C=[],S={name:"TopicFuncOpIcon",components:{SVGIcon:d["a"]}},E=S,O=Object(m["a"])(E,k,C,!1,null,null,null),I=O.exports,j=n("3b96"),T=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{attrs:{viewBox:"0 0 14 14",height:"14",themeId:"topic-subscript"}},[n("path",{attrs:{d:"M13 13h-12v-12h12zM1.923 12.077h10.154v-10.154h-10.154z"}}),n("path",{attrs:{d:"M4.133 3.633v6.738h1.938v-0.831h-0.923v-5.077h0.923v-0.831z"}}),n("path",{attrs:{d:"M9.856 10.371v-6.738h-1.938v0.831h0.923v5.077h-0.923v0.831z"}})])},A=[],L={name:"TopicSubscriptIcon",components:{SVGIcon:d["a"]}},B=L,$=Object(m["a"])(B,T,A,!1,null,null,null),N=$.exports,M=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"two-letter-icon",attrs:{width:"16px",height:"16px",viewBox:"0 0 16 16",themeId:"two-letter"}},[n("g",{attrs:{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"}},[n("g",{attrs:{transform:"translate(1.000000, 1.000000)"}},[n("rect",{attrs:{stroke:"currentColor",x:"0.5",y:"0.5",width:"13",height:"13"}}),n("text",{attrs:{"font-size":"8","font-weight":"bold",fill:"currentColor"}},[n("tspan",{attrs:{x:"8.2",y:"11"}},[e._v(e._s(e.second))])]),n("text",{attrs:{"font-size":"11","font-weight":"bold",fill:"currentColor"}},[n("tspan",{attrs:{x:"1.7",y:"11"}},[e._v(e._s(e.first))])])])])])},P=[],R={name:"TwoLetterSymbolIcon",components:{SVGIcon:d["a"]},props:{first:{type:String,required:!0},second:{type:String,required:!0}}},V=R,D=Object(m["a"])(V,M,P,!1,null,null,null),G=D.exports,z=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"single-letter-icon",attrs:{width:"16px",height:"16px",viewBox:"0 0 16 16",themeId:"single-letter"}},[n("g",{attrs:{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"}},[n("rect",{attrs:{stroke:"currentColor",x:"1",y:"1",width:"14",height:"14"}}),n("text",{attrs:{"font-size":"11","font-weight":"bold",fill:"currentColor",x:"49%",y:"12","text-anchor":"middle"}},[n("tspan",[e._v(e._s(e.symbol))])])])])},q=[],F={name:"SingleLetterSymbolIcon",components:{SVGIcon:d["a"]},props:{symbol:{type:String,required:!0}}},U=F,W=Object(m["a"])(U,z,q,!1,null,null,null),H=W.exports,K=n("31d4"),Z=n("2cae"),Y=n("fdd9");const X={[K["b"].article]:o["a"],[K["b"].associatedtype]:x,[K["b"].buildSetting]:x,[K["b"].class]:H,[K["b"].collection]:x,[K["b"].dictionarySymbol]:H,[K["b"].container]:x,[K["b"].enum]:H,[K["b"].extension]:G,[K["b"].func]:g,[K["b"].op]:I,[K["b"].httpRequest]:H,[K["b"].languageGroup]:x,[K["b"].learn]:r["a"],[K["b"].method]:H,[K["b"].macro]:H,[K["b"].module]:s["a"],[K["b"].overview]:r["a"],[K["b"].protocol]:G,[K["b"].property]:H,[K["b"].propertyListKey]:H,[K["b"].resources]:r["a"],[K["b"].sampleCode]:j["a"],[K["b"].struct]:H,[K["b"].subscript]:N,[K["b"].symbol]:x,[K["b"].tutorial]:c["a"],[K["b"].typealias]:H,[K["b"].union]:H,[K["b"].var]:H},J={[K["b"].class]:{symbol:"C"},[K["b"].dictionarySymbol]:{symbol:"O"},[K["b"].enum]:{symbol:"E"},[K["b"].extension]:{first:"E",second:"x"},[K["b"].httpRequest]:{symbol:"E"},[K["b"].method]:{symbol:"M"},[K["b"].macro]:{symbol:"#"},[K["b"].protocol]:{first:"P",second:"r"},[K["b"].property]:{symbol:"P"},[K["b"].propertyListKey]:{symbol:"K"},[K["b"].struct]:{symbol:"S"},[K["b"].typealias]:{symbol:"T"},[K["b"].union]:{symbol:"U"},[K["b"].var]:{symbol:"V"}};var Q={name:"TopicTypeIcon",components:{OverridableAsset:Y["a"],SVGIcon:d["a"],SingleLetterSymbolIcon:H},constants:{TopicTypeIcons:X,TopicTypeProps:J},props:{type:{type:String,required:!0},withColors:{type:Boolean,default:!1},imageOverride:{type:Object,default:null},shouldCalculateOptimalWidth:{type:Boolean,default:!0}},computed:{normalisedType:({type:e})=>K["a"][e]||e,icon:({normalisedType:e})=>X[e]||x,iconProps:({normalisedType:e})=>J[e]||{},color:({normalisedType:e})=>Z["b"][e],styles:({color:e,withColors:t})=>t&&e?{"--icon-color":`var(--color-type-icon-${e})`}:{}}},ee=Q,te=(n("9a61"),Object(m["a"])(ee,i,a,!1,null,"18b61706",null));t["a"]=te.exports},f2af:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));let i=!1,a=-1,r=0;const s="data-scroll-lock-disable",o=()=>window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1);function c(e){e.touches.length>1||e.preventDefault()}const l=e=>!!e&&e.scrollHeight-e.scrollTop<=e.clientHeight;function u(){r=document.body.getBoundingClientRect().top,document.body.style.overflow="hidden scroll",document.body.style.top=r+"px",document.body.style.position="fixed",document.body.style.width="100%"}function d(e){e&&(e.ontouchstart=null,e.ontouchmove=null),document.removeEventListener("touchmove",c)}function p(e,t){const n=e.targetTouches[0].clientY-a,i=e.target.closest(`[${s}]`)||t;return 0===i.scrollTop&&n>0||l(i)&&n<0?c(e):(e.stopPropagation(),!0)}function h(e){document.addEventListener("touchmove",c,{passive:!1}),e&&(e.ontouchstart=e=>{1===e.targetTouches.length&&(a=e.targetTouches[0].clientY)},e.ontouchmove=t=>{1===t.targetTouches.length&&p(t,e)})}t["b"]={lockScroll(e){i||(o()?h(e):u(),i=!0)},unlockScroll(e){i&&(o()?d(e):(document.body.style.removeProperty("overflow"),document.body.style.removeProperty("top"),document.body.style.removeProperty("position"),document.body.style.removeProperty("width"),window.scrollTo(0,Math.abs(r))),i=!1)}}},fb8e:function(e,t,n){"use strict";n("6058")},fda2:function(e,t,n){},fdd9:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.shouldUseAsset?n("ImageAsset",e._b({},"ImageAsset",{variants:e.variants,loading:null,shouldCalculateOptimalWidth:e.shouldCalculateOptimalWidth,alt:e.alt},!1)):n("SVGIcon",{attrs:{"icon-url":e.iconUrl,themeId:e.themeId}})},a=[],r=n("8bd9"),s=n("be08"),o={name:"OverridableAsset",components:{SVGIcon:s["a"],ImageAsset:r["a"]},props:{imageOverride:{type:Object,default:null},shouldCalculateOptimalWidth:{type:Boolean,default:!0}},computed:{variants:({imageOverride:e})=>e?e.variants:[],alt:({imageOverride:e})=>e.alt,firstVariant:({variants:e})=>e[0],iconUrl:({firstVariant:e})=>e&&e.url,themeId:({firstVariant:e})=>e&&e.svgID,isSameOrigin:({iconUrl:e,sameOrigin:t})=>t(e),shouldUseAsset:({isSameOrigin:e,themeId:t})=>!e||!t},methods:{sameOrigin(e){if(!e)return!1;const t=new URL(e,window.location),n=new URL(window.location);return t.origin===n.origin}}},c=o,l=n("2877"),u=Object(l["a"])(c,i,a,!1,null,null,null);t["a"]=u.exports},fe08:function(e,t,n){"use strict";n("a7d8")},fe1c:function(e,t,n){"use strict";n("81c0")}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-bash.1b52852f.js b/document/MixSdk.doccarchive/js/highlight-js-bash.1b52852f.js
new file mode 100644 (file)
index 0000000..6db1778
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-bash"],{f0f8:function(e,s){function t(e){const s=e.regex,t={},n={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(c);const o={className:"",begin:/\\"/},r={className:"string",begin:/'/,end:/'/},l={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],d=e.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),h={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},m=["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],u=["true","false"],b={match:/(\/[a-z._-]+)+/},g=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],f=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],w=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],k=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:m,literal:u,built_in:[...g,...f,"set","shopt",...w,...k]},contains:[d,e.SHEBANG(),h,l,e.HASH_COMMENT_MODE,i,b,c,o,r,t]}}e.exports=t}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-c.d1db3f17.js b/document/MixSdk.doccarchive/js/highlight-js-c.d1db3f17.js
new file mode 100644 (file)
index 0000000..3bc41ac
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-c"],{"1fe5":function(e,n){function s(e){const n=e.regex,s=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),t="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",i="<[^<>]+>",r="("+t+"|"+n.optional(a)+"[a-zA-Z_]\\w*"+n.optional(i)+")",l={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},o="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",c={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+o+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{className:"string",begin:/<.*?>/},s,e.C_BLOCK_COMMENT_MODE]},g={className:"title",begin:n.optional(a)+e.IDENT_RE,relevance:0},p=n.optional(a)+e.IDENT_RE+"\\s*\\(",m=["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],_=["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],f={keyword:m,type:_,literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},b=[u,l,s,e.C_BLOCK_COMMENT_MODE,d,c],w={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:f,contains:b.concat([{begin:/\(/,end:/\)/,keywords:f,contains:b.concat(["self"]),relevance:0}]),relevance:0},h={begin:"("+r+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:f,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:t,keywords:f,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(g,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[s,e.C_BLOCK_COMMENT_MODE,c,d,l,{begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:["self",s,e.C_BLOCK_COMMENT_MODE,c,d,l]}]},l,s,e.C_BLOCK_COMMENT_MODE,u]};return{name:"C",aliases:["h"],keywords:f,disableAutodetect:!0,illegal:"</",contains:[].concat(w,h,b,[u,{begin:e.IDENT_RE+"::",keywords:f},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:u,strings:c,keywords:f}}}e.exports=s}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-cpp.eaddddbe.js b/document/MixSdk.doccarchive/js/highlight-js-cpp.eaddddbe.js
new file mode 100644 (file)
index 0000000..db9fd82
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-cpp"],{"0209":function(e,t){function n(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="<[^<>]+>",s="(?!struct)("+a+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional(r)+")",c={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o="\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)",l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+o+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},_=t.optional(i)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],f=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],b=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],h=["NULL","false","nullopt","nullptr","true"],w=["_Pragma"],y={type:g,keyword:m,literal:h,built_in:w,_type_hints:f},v={className:"function.dispatch",relevance:0,keywords:{_hint:b},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},k=[v,u,c,n,e.C_BLOCK_COMMENT_MODE,d,l],x={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:k.concat([{begin:/\(/,end:/\)/,keywords:y,contains:k.concat(["self"]),relevance:0}]),relevance:0},E={className:"function",begin:"("+s+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:y,relevance:0},{begin:_,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,l,d,c,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,l,d,c]}]},c,n,e.C_BLOCK_COMMENT_MODE,u]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:y,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(x,E,v,k,[u,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<",end:">",keywords:y,contains:["self",c]},{begin:e.IDENT_RE+"::",keywords:y},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}e.exports=n}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-css.75eab1fe.js b/document/MixSdk.doccarchive/js/highlight-js-css.75eab1fe.js
new file mode 100644 (file)
index 0000000..3d507d0
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-css"],{ee8c:function(e,t){const o=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),i=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],a=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],n=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],l=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-height","max-width","min-height","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function s(e){const t=e.regex,s=o(e),d={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},c="and or not only",g=/@-?\w[\w]*(-\w+)*/,m="[a-zA-Z-][a-zA-Z0-9_-]*",p=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[s.BLOCK_COMMENT,d,s.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+m,relevance:0},s.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+a.join("|")+")"},{begin:":(:)?("+n.join("|")+")"}]},s.CSS_VARIABLE,{className:"attribute",begin:"\\b("+l.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[s.BLOCK_COMMENT,s.HEXCOLOR,s.IMPORTANT,s.CSS_NUMBER_MODE,...p,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},s.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:g},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:c,attribute:r.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...p,s.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+i.join("|")+")\\b"}]}}e.exports=s}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-custom-markdown.7cffc4b3.js b/document/MixSdk.doccarchive/js/highlight-js-custom-markdown.7cffc4b3.js
new file mode 100644 (file)
index 0000000..5271416
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-custom-markdown","highlight-js-markdown"],{"04b0":function(n,e){function a(n){const e=n.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},t={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},c={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},d=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,d,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},g={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},o={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};g.contains.push(o),o.contains.push(g);let r=[a,l];g.contains=g.contains.concat(r),o.contains=o.contains.concat(r),r=r.concat(g,o);const b={className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:r},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:r}]}]},u={className:"quote",begin:"^>\\s+",contains:r,end:"$"};return{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[b,a,t,g,o,u,s,i,l,c]}}n.exports=a},"84cb":function(n,e,a){"use strict";a.r(e);var i=a("04b0"),s=a.n(i);const t={begin:"<doc:",end:">",returnBegin:!0,contains:[{className:"link",begin:"doc:",end:">",excludeEnd:!0}]},c={className:"link",begin:/`{2}(?!`)/,end:/`{2}(?!`)/,excludeBegin:!0,excludeEnd:!0},d={begin:"^>\\s+[Note:|Tip:|Important:|Experiment:|Warning:]",end:"$",returnBegin:!0,contains:[{className:"quote",begin:"^>",end:"\\s+"},{className:"type",begin:"Note|Tip|Important|Experiment|Warning",end:":"},{className:"quote",begin:".*",end:"$",endsParent:!0}]},l={begin:"@",end:"[{\\)\\s]",returnBegin:!0,contains:[{className:"title",begin:"@",end:"[\\s+(]",excludeEnd:!0},{begin:":",end:"[,\\)\n\t]",excludeBegin:!0,keywords:{literal:"true false null undefined"},contains:[{className:"number",begin:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",endsWithParent:!0,excludeEnd:!0},{className:"string",variants:[{begin:/"""/,end:/"""/},{begin:/"/,end:/"/}],endsParent:!0},{className:"link",begin:"http|https",endsWithParent:!0,excludeEnd:!0}]}]};e["default"]=function(n){const e=s()(n),a=e.contains.find(({className:n})=>"code"===n);a.variants=a.variants.filter(({begin:n})=>!n.includes("( {4}|\\t)"));const i=[...e.contains.filter(({className:n})=>"code"!==n),a];return{...e,contains:[c,t,d,l,...i]}}}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-custom-swift.5cda5c20.js b/document/MixSdk.doccarchive/js/highlight-js-custom-swift.5cda5c20.js
new file mode 100644 (file)
index 0000000..d19f988
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-custom-swift","highlight-js-swift"],{"2a39":function(e,n){function t(e){return e?"string"===typeof e?e:e.source:null}function a(e){return i("(?=",e,")")}function i(...e){const n=e.map(e=>t(e)).join("");return n}function s(e){const n=e[e.length-1];return"object"===typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function c(...e){const n=s(e),a="("+(n.capture?"":"?:")+e.map(e=>t(e)).join("|")+")";return a}const u=e=>i(/\b/,e,/\w$/.test(e)?/\b/:/\B/),o=["Protocol","Type"].map(u),r=["init","self"].map(u),l=["Any","Self"],m=["actor","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],d=["false","nil","true"],p=["assignment","associativity","higherThan","left","lowerThan","none","right"],F=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],b=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],f=c(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),h=c(f,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),w=i(f,h,"*"),y=c(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),g=c(y,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),E=i(y,g,"*"),v=i(/[A-Z]/,g,"*"),A=["autoclosure",i(/convention\(/,c("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",i(/objc\(/,E,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],N=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function k(e){const n={match:/\s+/,relevance:0},t=e.COMMENT("/\\*","\\*/",{contains:["self"]}),s=[e.C_LINE_COMMENT_MODE,t],f={match:[/\./,c(...o,...r)],className:{2:"keyword"}},y={match:i(/\./,c(...m)),relevance:0},k=m.filter(e=>"string"===typeof e).concat(["_|0"]),C=m.filter(e=>"string"!==typeof e).concat(l).map(u),D={variants:[{className:"keyword",match:c(...C,...r)}]},B={$pattern:c(/\b\w+/,/#\w+/),keyword:k.concat(F),literal:d},_=[f,y,D],S={match:i(/\./,c(...b)),relevance:0},x={className:"built_in",match:i(/\b/,c(...b),/(?=\()/)},M=[S,x],I={match:/->/,relevance:0},$={className:"operator",relevance:0,variants:[{match:w},{match:`\\.(\\.|${h})+`}]},O=[I,$],L="([0-9]_*)+",T="([0-9a-fA-F]_*)+",j={className:"number",relevance:0,variants:[{match:`\\b(${L})(\\.(${L}))?([eE][+-]?(${L}))?\\b`},{match:`\\b0x(${T})(\\.(${T}))?([pP][+-]?(${L}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},K=(e="")=>({className:"subst",variants:[{match:i(/\\/,e,/[0\\tnr"']/)},{match:i(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),P=(e="")=>({className:"subst",match:i(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),z=(e="")=>({className:"subst",label:"interpol",begin:i(/\\/,e,/\(/),end:/\)/}),q=(e="")=>({begin:i(e,/"""/),end:i(/"""/,e),contains:[K(e),P(e),z(e)]}),U=(e="")=>({begin:i(e,/"/),end:i(/"/,e),contains:[K(e),z(e)]}),Z={className:"string",variants:[q(),q("#"),q("##"),q("###"),U(),U("#"),U("##"),U("###")]},V={match:i(/`/,E,/`/)},W={className:"variable",match:/\$\d+/},G={className:"variable",match:`\\$${g}+`},J=[V,W,G],R={match:/(@|#)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:N,contains:[...O,j,Z]}]}},X={className:"keyword",match:i(/@/,c(...A))},H={className:"meta",match:i(/@/,E)},Q=[R,X,H],Y={match:a(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:i(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,g,"+")},{className:"type",match:v,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:i(/\s+&\s+/,a(v)),relevance:0}]},ee={begin:/</,end:/>/,keywords:B,contains:[...s,..._,...Q,I,Y]};Y.contains.push(ee);const ne={match:i(E,/\s*:/),keywords:"_|0",relevance:0},te={begin:/\(/,end:/\)/,relevance:0,keywords:B,contains:["self",ne,...s,..._,...M,...O,j,Z,...J,...Q,Y]},ae={begin:/</,end:/>/,contains:[...s,Y]},ie={begin:c(a(i(E,/\s*:/)),a(i(E,/\s+/,E,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:E}]},se={begin:/\(/,end:/\)/,keywords:B,contains:[ie,...s,..._,...O,j,Z,...Q,Y,te],endsParent:!0,illegal:/["']/},ce={match:[/func/,/\s+/,c(V.match,E,w)],className:{1:"keyword",3:"title.function"},contains:[ae,se,n],illegal:[/\[/,/%/]},ue={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ae,se,n],illegal:/\[|%/},oe={match:[/operator/,/\s+/,w],className:{1:"keyword",3:"title"}},re={begin:[/precedencegroup/,/\s+/,v],className:{1:"keyword",3:"title"},contains:[Y],keywords:[...p,...d],end:/}/};for(const a of Z.variants){const e=a.contains.find(e=>"interpol"===e.label);e.keywords=B;const n=[..._,...M,...O,j,Z,...J];e.contains=[...n,{begin:/\(/,end:/\)/,contains:["self",...n]}]}return{name:"Swift",keywords:B,contains:[...s,ce,ue,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:B,contains:[e.inherit(e.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),..._]},oe,re,{beginKeywords:"import",end:/$/,contains:[...s],relevance:0},..._,...M,...O,j,Z,...J,...Q,Y,te]}}e.exports=k},"81c8":function(e,n,t){"use strict";t.r(n);var a=t("2a39"),i=t.n(a);n["default"]=function(e){const n=i()(e);n.keywords.keyword=[...n.keywords.keyword,"distributed"];const t=({beginKeywords:e=""})=>e.split(" ").includes("class"),a=n.contains.findIndex(t);if(a>=0){const{beginKeywords:e,...t}=n.contains[a];n.contains[a]={...t,begin:/\b(struct|protocol|extension|enum|actor|class\b(?!.*\bfunc))\b/}}return n}}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-diff.62d66733.js b/document/MixSdk.doccarchive/js/highlight-js-diff.62d66733.js
new file mode 100644 (file)
index 0000000..64337fa
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-diff"],{"48b8":function(e,n){function a(e){const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}e.exports=a}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-http.163e45b6.js b/document/MixSdk.doccarchive/js/highlight-js-http.163e45b6.js
new file mode 100644 (file)
index 0000000..14f39a9
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-http"],{c01d:function(e,n){function a(e){const n=e.regex,a="HTTP/(2|1\\.[01])",s=/[A-Za-z][A-Za-z0-9-]*/,t={className:"attribute",begin:n.concat("^",s,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},i=[t,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+a+" \\d{3})",end:/$/,contains:[{className:"meta",begin:a},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:i}},{begin:"(?=^[A-Z]+ (.*?) "+a+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:a},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:i}},e.inherit(t,{relevance:0})]}}e.exports=a}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-java.8326d9d8.js b/document/MixSdk.doccarchive/js/highlight-js-java.8326d9d8.js
new file mode 100644 (file)
index 0000000..f11ca2a
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-java"],{"332f":function(e,a){var n="[0-9](_*[0-9])*",s=`\\.(${n})`,i="[0-9a-fA-F](_*[0-9a-fA-F])*",t={className:"number",variants:[{begin:`(\\b(${n})((${s})|\\.)?|(${s}))[eE][+-]?(${n})[fFdD]?\\b`},{begin:`\\b(${n})((${s})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${s})[fFdD]?\\b`},{begin:`\\b(${n})[fFdD]\\b`},{begin:`\\b0[xX]((${i})\\.?|(${i})?\\.(${i}))[pP][+-]?(${n})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${i})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function r(e,a,n){return-1===n?"":e.replace(a,s=>r(e,a,n-1))}function c(e){e.regex;const a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",n=a+r("(?:<"+a+"~~~(?:\\s*,\\s*"+a+"~~~)*>)?",/~~~/g,2),s=["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do"],i=["super","this"],c=["false","true","null"],l=["char","boolean","long","float","int","byte","short","double"],o={keyword:s,literal:c,type:l,built_in:i},b={className:"meta",begin:"@"+a,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},_={className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:o,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{begin:[a,/\s+/,a,/\s+/,/=/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,a],className:{1:"keyword",3:"title.class"},contains:[_,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+n+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:o,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:o,relevance:0,contains:[b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,t,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},t,b]}}e.exports=c}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-javascript.acb8a8eb.js b/document/MixSdk.doccarchive/js/highlight-js-javascript.acb8a8eb.js
new file mode 100644 (file)
index 0000000..ac843fc
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-javascript"],{"4dd1":function(e,n){const a="[A-Za-z$_][0-9A-Za-z$_]*",t=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],s=["true","false","null","undefined","NaN","Infinity"],c=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],r=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],i=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o=["arguments","this","super","console","window","document","localStorage","module","global"],l=[].concat(i,c,r);function b(e){const n=e.regex,b=(e,{after:n})=>{const a="</"+e[0].slice(1),t=e.input.indexOf(a,n);return-1!==t},d=a,g={begin:"<>",end:"</>"},u=/<[A-Za-z0-9\\._:-]+\s*\/>/,m={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{const a=e[0].length+e.index,t=e.input[a];if("<"===t||","===t)return void n.ignoreMatch();let s;">"===t&&(b(e,{after:a})||n.ignoreMatch());const c=e.input.substr(a);(s=c.match(/^\s+extends\s+/))&&0===s.index&&n.ignoreMatch()}},E={$pattern:a,keyword:t,literal:s,built_in:l,"variable.language":o},A="[0-9](_?[0-9])*",y=`\\.(${A})`,N="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${N})((${y})|\\.)?|(${y}))[eE][+-]?(${A})\\b`},{begin:`\\b(${N})\\b((${y})\\b|\\.)?|(${y})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:E,contains:[]},_={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},p={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},v={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},w=e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),S={className:"comment",variants:[w,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},R=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,p,v,f];h.contains=R.concat({begin:/\{/,end:/\}/,keywords:E,contains:["self"].concat(R)});const k=[].concat(S,h.contains),O=k.concat([{begin:/\(/,end:/\)/,keywords:E,contains:["self"].concat(k)}]),I={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:O},x={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,n.concat(d,"(",n.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},T={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]+|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+/),className:"title.class",keywords:{_:[...c,...r]}},C={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},M={variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[I],illegal:/%/},B={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function $(e){return n.concat("(?!",e.join("|"),")")}const D={match:n.concat(/\b/,$([...i,"super"]),d,n.lookahead(/\(/)),className:"title.function",relevance:0},U={begin:n.concat(/\./,n.lookahead(n.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Z={match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},I]},z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",F={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,n.lookahead(z)],className:{1:"keyword",3:"title.function"},contains:[I]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:E,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:T},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),C,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,p,v,S,f,T,{className:"attr",begin:d+n.lookahead(":"),relevance:0},F,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[S,e.REGEXP_MODE,{className:"function",begin:z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:E,contains:O}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:g.begin,end:g.end},{match:u},{begin:m.begin,"on:begin":m.isTrulyOpeningTag,end:m.end}],subLanguage:"xml",contains:[{begin:m.begin,end:m.end,skip:!0,contains:["self"]}]}]},M,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[I,e.inherit(e.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},U,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[I]},D,B,x,Z,{match:/\$[(.]/}]}}e.exports=b}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-json.471128d2.js b/document/MixSdk.doccarchive/js/highlight-js-json.471128d2.js
new file mode 100644 (file)
index 0000000..c87d3c3
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-json"],{"5ad2":function(n,e){function a(n){const e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},a={match:/[{}[\],:]/,className:"punctuation",relevance:0},s={beginKeywords:["true","false","null"].join(" ")};return{name:"JSON",contains:[e,a,n.QUOTE_STRING_MODE,s,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}n.exports=a}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-llvm.6100b125.js b/document/MixSdk.doccarchive/js/highlight-js-llvm.6100b125.js
new file mode 100644 (file)
index 0000000..0beb806
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-llvm"],{"7c30":function(e,n){function a(e){const n=e.regex,a=/([-a-zA-Z$._][\w$.-]*)/,t={className:"type",begin:/\bi\d+(?=\s|\b)/},i={className:"operator",relevance:0,begin:/=/},c={className:"punctuation",relevance:0,begin:/,/},l={className:"number",variants:[{begin:/0[xX][a-fA-F0-9]+/},{begin:/-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?/}],relevance:0},r={className:"symbol",variants:[{begin:/^\s*[a-z]+:/}],relevance:0},s={className:"variable",variants:[{begin:n.concat(/%/,a)},{begin:/%\d+/},{begin:/#\d+/}]},o={className:"title",variants:[{begin:n.concat(/@/,a)},{begin:/@\d+/},{begin:n.concat(/!/,a)},{begin:n.concat(/!\d+/,a)},{begin:/!\d+/}]};return{name:"LLVM IR",keywords:"begin end true false declare define global constant private linker_private internal available_externally linkonce linkonce_odr weak weak_odr appending dllimport dllexport common default hidden protected extern_weak external thread_local zeroinitializer undef null to tail target triple datalayout volatile nuw nsw nnan ninf nsz arcp fast exact inbounds align addrspace section alias module asm sideeffect gc dbg linker_private_weak attributes blockaddress initialexec localdynamic localexec prefix unnamed_addr ccc fastcc coldcc x86_stdcallcc x86_fastcallcc arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ptx_kernel intel_ocl_bicc msp430_intrcc spir_func spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc cc c signext zeroext inreg sret nounwind noreturn noalias nocapture byval nest readnone readonly inlinehint noinline alwaysinline optsize ssp sspreq noredzone noimplicitfloat naked builtin cold nobuiltin noduplicate nonlazybind optnone returns_twice sanitize_address sanitize_memory sanitize_thread sspstrong uwtable returned type opaque eq ne slt sgt sle sge ult ugt ule uge oeq one olt ogt ole oge ord uno ueq une x acq_rel acquire alignstack atomic catch cleanup filter inteldialect max min monotonic nand personality release seq_cst singlethread umax umin unordered xchg add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor icmp fcmp phi call trunc zext sext fptrunc fpext uitofp sitofp fptoui fptosi inttoptr ptrtoint bitcast addrspacecast select va_arg ret br switch invoke unwind unreachable indirectbr landingpad resume malloc alloca free load store getelementptr extractelement insertelement shufflevector getresult extractvalue insertvalue atomicrmw cmpxchg fence argmemonly double",contains:[t,e.COMMENT(/;\s*$/,null,{relevance:0}),e.COMMENT(/;/,/$/),e.QUOTE_STRING_MODE,{className:"string",variants:[{begin:/"/,end:/[^\\]"/}]},o,c,i,s,r,l]}}e.exports=a}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-markdown.90077643.js b/document/MixSdk.doccarchive/js/highlight-js-markdown.90077643.js
new file mode 100644 (file)
index 0000000..dc8d097
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-markdown"],{"04b0":function(n,e){function a(n){const e=n.regex,a={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},s={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},c={className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},t={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},g=/[A-Za-z][A-Za-z0-9+.-]*/,d={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.concat(/\[.+?\]\(/,g,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},o={className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{begin:/_(?!_)/,end:/_/,relevance:0}]};l.contains.push(o),o.contains.push(l);let b=[a,d];l.contains=l.contains.concat(b),o.contains=o.contains.concat(b),b=b.concat(l,o);const r={className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:b},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:b}]}]},m={className:"quote",begin:"^>\\s+",contains:b,end:"$"};return{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[r,a,c,l,o,m,s,i,d,t]}}n.exports=a}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-objectivec.bcdf5156.js b/document/MixSdk.doccarchive/js/highlight-js-objectivec.bcdf5156.js
new file mode 100644 (file)
index 0000000..2456ffc
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-objectivec"],{"9bf2":function(e,n){function _(e){const n={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},_=/[a-zA-Z@][a-zA-Z0-9_]*/,i=["int","float","while","char","export","sizeof","typedef","const","struct","for","union","unsigned","long","volatile","static","bool","mutable","if","do","return","goto","void","enum","else","break","extern","asm","case","short","default","double","register","explicit","signed","typename","this","switch","continue","wchar_t","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","super","unichar","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],t=["false","true","FALSE","TRUE","nil","YES","NO","NULL"],a=["BOOL","dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],o={$pattern:_,keyword:i,literal:t,built_in:a},s={$pattern:_,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"</",contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+s.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:s,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}e.exports=_}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-perl.757d7b6f.js b/document/MixSdk.doccarchive/js/highlight-js-perl.757d7b6f.js
new file mode 100644 (file)
index 0000000..a4c74d1
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-perl"],{"6a51":function(e,n){function t(e){const n=e.regex,t=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],s=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:t.join(" ")},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={variants:[{begin:/\$\d/},{begin:n.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},c=[e.BACKSLASH_ESCAPE,i,o],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],l=(e,t,r="\\1")=>{const i="\\1"===r?r:n.concat(r,t);return n.concat(n.concat("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,i,/(?:\\.|[^\\\/])*?/,r,s)},d=(e,t,r)=>n.concat(n.concat("(?:",e,")"),t,/(?:\\.|[^\\\/])*?/,r,s),p=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:l("s|tr|y",n.either(...g,{capture:!0}))},{begin:l("s|tr|y","\\(","\\)")},{begin:l("s|tr|y","\\[","\\]")},{begin:l("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:d("(?:m|qr)?",/\//,/\//)},{begin:d("m|qr",n.either(...g,{capture:!0}),/\1/)},{begin:d("m|qr",/\(/,/\)/)},{begin:d("m|qr",/\[/,/\]/)},{begin:d("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return i.contains=p,a.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:p}}e.exports=t}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-php.cc8d6c27.js b/document/MixSdk.doccarchive/js/highlight-js-php.cc8d6c27.js
new file mode 100644 (file)
index 0000000..3d12a9c
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-php"],{2907:function(e,r){function t(e){const r={className:"variable",begin:"\\$+[a-zA-Z_\7f-ÿ][a-zA-Z0-9_\7f-ÿ]*(?![A-Za-z0-9])(?![$])"},t={className:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?[=]?/},{begin:/\?>/}]},a={className:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},n=e.inherit(e.APOS_STRING_MODE,{illegal:null}),i=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(a)}),o=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(a)}),l={className:"string",contains:[e.BACKSLASH_ESCAPE,t],variants:[e.inherit(n,{begin:"b'",end:"'"}),e.inherit(i,{begin:'b"',end:'"'}),i,n,o]},c={className:"number",variants:[{begin:"\\b0b[01]+(?:_[01]+)*\\b"},{begin:"\\b0o[0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:e[+-]?\\d+)?"}],relevance:0},s={keyword:"__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ die echo exit include include_once print require require_once array abstract and as binary bool boolean break callable case catch class clone const continue declare default do double else elseif empty enddeclare endfor endforeach endif endswitch endwhile enum eval extends final finally float for foreach from global goto if implements instanceof insteadof int integer interface isset iterable list match|0 mixed new object or private protected public real return string switch throw trait try unset use var void while xor yield",literal:"false null true",built_in:"Error|0 AppendIterator ArgumentCountError ArithmeticError ArrayIterator ArrayObject AssertionError BadFunctionCallException BadMethodCallException CachingIterator CallbackFilterIterator CompileError Countable DirectoryIterator DivisionByZeroError DomainException EmptyIterator ErrorException Exception FilesystemIterator FilterIterator GlobIterator InfiniteIterator InvalidArgumentException IteratorIterator LengthException LimitIterator LogicException MultipleIterator NoRewindIterator OutOfBoundsException OutOfRangeException OuterIterator OverflowException ParentIterator ParseError RangeException RecursiveArrayIterator RecursiveCachingIterator RecursiveCallbackFilterIterator RecursiveDirectoryIterator RecursiveFilterIterator RecursiveIterator RecursiveIteratorIterator RecursiveRegexIterator RecursiveTreeIterator RegexIterator RuntimeException SeekableIterator SplDoublyLinkedList SplFileInfo SplFileObject SplFixedArray SplHeap SplMaxHeap SplMinHeap SplObjectStorage SplObserver SplObserver SplPriorityQueue SplQueue SplStack SplSubject SplSubject SplTempFileObject TypeError UnderflowException UnexpectedValueException UnhandledMatchError ArrayAccess Closure Generator Iterator IteratorAggregate Serializable Stringable Throwable Traversable WeakReference WeakMap Directory __PHP_Incomplete_Class parent php_user_filter self static stdClass"};return{case_insensitive:!0,keywords:s,contains:[e.HASH_COMMENT_MODE,e.COMMENT("//","$",{contains:[t]}),e.COMMENT("/\\*","\\*/",{contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.COMMENT("__halt_compiler.+?;",!1,{endsWithParent:!0,keywords:"__halt_compiler"}),t,{className:"keyword",begin:/\$this\b/},r,{begin:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{className:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{className:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:s,contains:["self",r,e.C_BLOCK_COMMENT_MODE,l,c]}]},{className:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"use",relevance:0,end:";",contains:[e.UNDERSCORE_TITLE_MODE]},l,c]}}e.exports=t}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-python.c214ed92.js b/document/MixSdk.doccarchive/js/highlight-js-python.c214ed92.js
new file mode 100644 (file)
index 0000000..c8d2ed8
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-python"],{9510:function(e,n){function a(e){const n=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s=["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],t=["__debug__","Ellipsis","False","None","NotImplemented","True"],r=["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i,built_in:s,literal:t,type:r},o={className:"meta",begin:/^(>>>|\.\.\.) /},b={className:"subst",begin:/\{/,end:/\}/,keywords:l,illegal:/#/},c={begin:/\{\{/,relevance:0},d={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,o],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,o],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,o,c,b]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,o,c,b]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,c,b]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,c,b]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",g=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,m={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${g}))[eE][+-]?(${p})[jJ]?\\b`},{begin:`(${g})[jJ]?`},{begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?\\b"},{begin:"\\b0[bB](_?[01])+[lL]?\\b"},{begin:"\\b0[oO](_?[0-7])+[lL]?\\b"},{begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?\\b"},{begin:`\\b(${p})[jJ]\\b`}]},_={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},u={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",o,m,d,e.HASH_COMMENT_MODE]}]};return b.contains=[d,m,o],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|->|\?)|=>/,contains:[o,m,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},d,_,e.HASH_COMMENT_MODE,{match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[u]},{variants:[{match:[/class/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/class/,/\s+/,a]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[m,u,d]}]}}e.exports=a}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-ruby.f889d392.js b/document/MixSdk.doccarchive/js/highlight-js-ruby.f889d392.js
new file mode 100644 (file)
index 0000000..a8355da
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-ruby"],{"82cb":function(e,n){function a(e){const n=e.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor __FILE__",built_in:"proc lambda",literal:"true false nil"},s={className:"doctag",begin:"@[A-Za-z]+"},b={begin:"#<",end:">"},c=[e.COMMENT("#","$",{contains:[s]}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10}),e.COMMENT("^__END__","\\n$")],r={className:"subst",begin:/#\{/,end:/\}/,keywords:i},d={className:"string",contains:[e.BACKSLASH_ESCAPE,r],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,r]})]}]},t="[1-9](_?[0-9])*|0",o="[0-9](_?[0-9])*",g={className:"number",relevance:0,variants:[{begin:`\\b(${t})(\\.(${o}))?([eE][+-]?(${o})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},l={className:"params",begin:"\\(",end:"\\)",endsParent:!0,keywords:i},_=[d,{className:"class",beginKeywords:"class module",end:"$|;",illegal:/=/,contains:[e.inherit(e.TITLE_MODE,{begin:"[A-Za-z_]\\w*(::\\w+)*(\\?|!)?"}),{begin:"<\\s*",contains:[{begin:"("+e.IDENT_RE+"::)?"+e.IDENT_RE,relevance:0}]}].concat(c)},{className:"function",begin:n.concat(/def\s+/,n.lookahead(a+"\\s*(\\(|;|$)")),relevance:0,keywords:"def",end:"$|;",contains:[e.inherit(e.TITLE_MODE,{begin:a}),l].concat(c)},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[d,{begin:a}],relevance:0},g,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,relevance:0,keywords:i},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,r],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(b,c),relevance:0}].concat(b,c);r.contains=_,l.contains=_;const w="[>?]>",E="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>",N=[{begin:/^\s*=>/,starts:{end:"$",contains:_}},{className:"meta",begin:"^("+w+"|"+E+"|"+u+")(?=[ ])",starts:{end:"$",contains:_}}];return c.unshift(b),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:i,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(N).concat(c).concat(_)}}e.exports=a}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-scss.62ee18da.js b/document/MixSdk.doccarchive/js/highlight-js-scss.62ee18da.js
new file mode 100644 (file)
index 0000000..8f46244
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-scss"],{6113:function(e,t){const i=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),o=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],a=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],n=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],l=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-height","max-width","min-height","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function s(e){const t=i(e),s=n,d=a,c="@[a-z-]+",p="and or not only",g="[a-zA-Z-][a-zA-Z0-9_-]*",m={className:"variable",begin:"(\\$"+g+")\\b"};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+o.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+d.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+s.join("|")+")"},m,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+l.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,m,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT]},{begin:"@(page|font-face)",keywords:{$pattern:c,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:p,attribute:r.join(" ")},contains:[{begin:c,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},m,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}e.exports=s}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-shell.dd7f411f.js b/document/MixSdk.doccarchive/js/highlight-js-shell.dd7f411f.js
new file mode 100644 (file)
index 0000000..999f452
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-shell"],{b65b:function(s,n){function e(s){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}s.exports=e}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-swift.84f3e88c.js b/document/MixSdk.doccarchive/js/highlight-js-swift.84f3e88c.js
new file mode 100644 (file)
index 0000000..89d1daf
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-swift"],{"2a39":function(e,n){function a(e){return e?"string"===typeof e?e:e.source:null}function t(e){return i("(?=",e,")")}function i(...e){const n=e.map(e=>a(e)).join("");return n}function s(e){const n=e[e.length-1];return"object"===typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function u(...e){const n=s(e),t="("+(n.capture?"":"?:")+e.map(e=>a(e)).join("|")+")";return t}const c=e=>i(/\b/,e,/\w$/.test(e)?/\b/:/\B/),o=["Protocol","Type"].map(c),r=["init","self"].map(c),l=["Any","Self"],m=["actor","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],p=["false","nil","true"],d=["assignment","associativity","higherThan","left","lowerThan","none","right"],F=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],b=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],h=u(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),f=u(h,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),w=i(h,f,"*"),y=u(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),g=u(y,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),E=i(y,g,"*"),v=i(/[A-Z]/,g,"*"),A=["autoclosure",i(/convention\(/,u("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",i(/objc\(/,E,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],N=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function C(e){const n={match:/\s+/,relevance:0},a=e.COMMENT("/\\*","\\*/",{contains:["self"]}),s=[e.C_LINE_COMMENT_MODE,a],h={match:[/\./,u(...o,...r)],className:{2:"keyword"}},y={match:i(/\./,u(...m)),relevance:0},C=m.filter(e=>"string"===typeof e).concat(["_|0"]),k=m.filter(e=>"string"!==typeof e).concat(l).map(c),D={variants:[{className:"keyword",match:u(...k,...r)}]},B={$pattern:u(/\b\w+/,/#\w+/),keyword:C.concat(F),literal:p},_=[h,y,D],S={match:i(/\./,u(...b)),relevance:0},M={className:"built_in",match:i(/\b/,u(...b),/(?=\()/)},x=[S,M],$={match:/->/,relevance:0},I={className:"operator",relevance:0,variants:[{match:w},{match:`\\.(\\.|${f})+`}]},O=[$,I],L="([0-9]_*)+",T="([0-9a-fA-F]_*)+",j={className:"number",relevance:0,variants:[{match:`\\b(${L})(\\.(${L}))?([eE][+-]?(${L}))?\\b`},{match:`\\b0x(${T})(\\.(${T}))?([pP][+-]?(${L}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},P=(e="")=>({className:"subst",variants:[{match:i(/\\/,e,/[0\\tnr"']/)},{match:i(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),K=(e="")=>({className:"subst",match:i(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),z=(e="")=>({className:"subst",label:"interpol",begin:i(/\\/,e,/\(/),end:/\)/}),q=(e="")=>({begin:i(e,/"""/),end:i(/"""/,e),contains:[P(e),K(e),z(e)]}),U=(e="")=>({begin:i(e,/"/),end:i(/"/,e),contains:[P(e),z(e)]}),Z={className:"string",variants:[q(),q("#"),q("##"),q("###"),U(),U("#"),U("##"),U("###")]},V={match:i(/`/,E,/`/)},W={className:"variable",match:/\$\d+/},G={className:"variable",match:`\\$${g}+`},J=[V,W,G],R={match:/(@|#)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:N,contains:[...O,j,Z]}]}},X={className:"keyword",match:i(/@/,u(...A))},H={className:"meta",match:i(/@/,E)},Q=[R,X,H],Y={match:t(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:i(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,g,"+")},{className:"type",match:v,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:i(/\s+&\s+/,t(v)),relevance:0}]},ee={begin:/</,end:/>/,keywords:B,contains:[...s,..._,...Q,$,Y]};Y.contains.push(ee);const ne={match:i(E,/\s*:/),keywords:"_|0",relevance:0},ae={begin:/\(/,end:/\)/,relevance:0,keywords:B,contains:["self",ne,...s,..._,...x,...O,j,Z,...J,...Q,Y]},te={begin:/</,end:/>/,contains:[...s,Y]},ie={begin:u(t(i(E,/\s*:/)),t(i(E,/\s+/,E,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:E}]},se={begin:/\(/,end:/\)/,keywords:B,contains:[ie,...s,..._,...O,j,Z,...Q,Y,ae],endsParent:!0,illegal:/["']/},ue={match:[/func/,/\s+/,u(V.match,E,w)],className:{1:"keyword",3:"title.function"},contains:[te,se,n],illegal:[/\[/,/%/]},ce={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[te,se,n],illegal:/\[|%/},oe={match:[/operator/,/\s+/,w],className:{1:"keyword",3:"title"}},re={begin:[/precedencegroup/,/\s+/,v],className:{1:"keyword",3:"title"},contains:[Y],keywords:[...d,...p],end:/}/};for(const t of Z.variants){const e=t.contains.find(e=>"interpol"===e.label);e.keywords=B;const n=[..._,...x,...O,j,Z,...J];e.contains=[...n,{begin:/\(/,end:/\)/,contains:["self",...n]}]}return{name:"Swift",keywords:B,contains:[...s,ue,ce,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:B,contains:[e.inherit(e.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),..._]},oe,re,{beginKeywords:"import",end:/$/,contains:[...s],relevance:0},..._,...x,...O,j,Z,...J,...Q,Y,ae]}}e.exports=C}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/highlight-js-xml.9c3688c7.js b/document/MixSdk.doccarchive/js/highlight-js-xml.9c3688c7.js
new file mode 100644 (file)
index 0000000..55cc1e2
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["highlight-js-xml"],{"8dcb":function(e,n){function a(e){const n=e.regex,a=n.concat(/[A-Z_]/,n.optional(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),s=/[A-Za-z0-9._:-]+/,t={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},c=e.inherit(i,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),r=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),g={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:s,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[t]},{begin:/'/,end:/'/,contains:[t]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[i,r,l,c,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,c,r,l]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},t,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[g],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[g],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:n.concat(/</,n.lookahead(n.concat(a,n.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:a,relevance:0,starts:g}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(a,/>/))),contains:[{className:"name",begin:a,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}e.exports=a}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/index.e8a5d294.js b/document/MixSdk.doccarchive/js/index.e8a5d294.js
new file mode 100644 (file)
index 0000000..f24cc9e
--- /dev/null
@@ -0,0 +1,9 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */(function(e){function t(t){for(var i,o,s=t[0],c=t[1],l=t[2],u=0,h=[];u<s.length;u++)o=s[u],Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&h.push(r[o][0]),r[o]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);d&&d(t);while(h.length)h.shift()();return a.push.apply(a,l||[]),n()}function n(){for(var e,t=0;t<a.length;t++){for(var n=a[t],i=!0,o=1;o<n.length;o++){var s=n[o];0!==r[s]&&(i=!1)}i&&(a.splice(t--,1),e=c(c.s=n[0]))}return e}var i={},o={index:0},r={index:0},a=[];function s(e){return c.p+"js/"+({"documentation-topic~topic~tutorials-overview":"documentation-topic~topic~tutorials-overview","documentation-topic~topic":"documentation-topic~topic","documentation-topic":"documentation-topic",topic:"topic","tutorials-overview":"tutorials-overview","highlight-js-bash":"highlight-js-bash","highlight-js-c":"highlight-js-c","highlight-js-cpp":"highlight-js-cpp","highlight-js-css":"highlight-js-css","highlight-js-custom-markdown":"highlight-js-custom-markdown","highlight-js-custom-swift":"highlight-js-custom-swift","highlight-js-diff":"highlight-js-diff","highlight-js-http":"highlight-js-http","highlight-js-java":"highlight-js-java","highlight-js-javascript":"highlight-js-javascript","highlight-js-json":"highlight-js-json","highlight-js-llvm":"highlight-js-llvm","highlight-js-markdown":"highlight-js-markdown","highlight-js-objectivec":"highlight-js-objectivec","highlight-js-perl":"highlight-js-perl","highlight-js-php":"highlight-js-php","highlight-js-python":"highlight-js-python","highlight-js-ruby":"highlight-js-ruby","highlight-js-scss":"highlight-js-scss","highlight-js-shell":"highlight-js-shell","highlight-js-swift":"highlight-js-swift","highlight-js-xml":"highlight-js-xml"}[e]||e)+"."+{"documentation-topic~topic~tutorials-overview":"90c61522","chunk-c0335d80":"76a68cc5","documentation-topic~topic":"1679ec90","documentation-topic":"57e91f8a",topic:"8cd0c0c4","tutorials-overview":"2a32cd6f","chunk-2d0d3105":"cd72cc8e","highlight-js-bash":"1b52852f","highlight-js-c":"d1db3f17","highlight-js-cpp":"eaddddbe","highlight-js-css":"75eab1fe","highlight-js-custom-markdown":"7cffc4b3","highlight-js-custom-swift":"5cda5c20","highlight-js-diff":"62d66733","highlight-js-http":"163e45b6","highlight-js-java":"8326d9d8","highlight-js-javascript":"acb8a8eb","highlight-js-json":"471128d2","highlight-js-llvm":"6100b125","highlight-js-markdown":"90077643","highlight-js-objectivec":"bcdf5156","highlight-js-perl":"757d7b6f","highlight-js-php":"cc8d6c27","highlight-js-python":"c214ed92","highlight-js-ruby":"f889d392","highlight-js-scss":"62ee18da","highlight-js-shell":"dd7f411f","highlight-js-swift":"84f3e88c","highlight-js-xml":"9c3688c7"}[e]+".js"}function c(t){if(i[t])return i[t].exports;var n=i[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,c),n.l=!0,n.exports}c.e=function(e){var t=[],n={"documentation-topic~topic~tutorials-overview":1,"chunk-c0335d80":1,"documentation-topic~topic":1,"documentation-topic":1,topic:1,"tutorials-overview":1};o[e]?t.push(o[e]):0!==o[e]&&n[e]&&t.push(o[e]=new Promise((function(t,n){for(var i="css/"+({"documentation-topic~topic~tutorials-overview":"documentation-topic~topic~tutorials-overview","documentation-topic~topic":"documentation-topic~topic","documentation-topic":"documentation-topic",topic:"topic","tutorials-overview":"tutorials-overview","highlight-js-bash":"highlight-js-bash","highlight-js-c":"highlight-js-c","highlight-js-cpp":"highlight-js-cpp","highlight-js-css":"highlight-js-css","highlight-js-custom-markdown":"highlight-js-custom-markdown","highlight-js-custom-swift":"highlight-js-custom-swift","highlight-js-diff":"highlight-js-diff","highlight-js-http":"highlight-js-http","highlight-js-java":"highlight-js-java","highlight-js-javascript":"highlight-js-javascript","highlight-js-json":"highlight-js-json","highlight-js-llvm":"highlight-js-llvm","highlight-js-markdown":"highlight-js-markdown","highlight-js-objectivec":"highlight-js-objectivec","highlight-js-perl":"highlight-js-perl","highlight-js-php":"highlight-js-php","highlight-js-python":"highlight-js-python","highlight-js-ruby":"highlight-js-ruby","highlight-js-scss":"highlight-js-scss","highlight-js-shell":"highlight-js-shell","highlight-js-swift":"highlight-js-swift","highlight-js-xml":"highlight-js-xml"}[e]||e)+"."+{"documentation-topic~topic~tutorials-overview":"d6f5411c","chunk-c0335d80":"10a2f091","documentation-topic~topic":"b6287bcf","documentation-topic":"1d1eec04",topic:"d8c126f3","tutorials-overview":"c249c765","chunk-2d0d3105":"31d6cfe0","highlight-js-bash":"31d6cfe0","highlight-js-c":"31d6cfe0","highlight-js-cpp":"31d6cfe0","highlight-js-css":"31d6cfe0","highlight-js-custom-markdown":"31d6cfe0","highlight-js-custom-swift":"31d6cfe0","highlight-js-diff":"31d6cfe0","highlight-js-http":"31d6cfe0","highlight-js-java":"31d6cfe0","highlight-js-javascript":"31d6cfe0","highlight-js-json":"31d6cfe0","highlight-js-llvm":"31d6cfe0","highlight-js-markdown":"31d6cfe0","highlight-js-objectivec":"31d6cfe0","highlight-js-perl":"31d6cfe0","highlight-js-php":"31d6cfe0","highlight-js-python":"31d6cfe0","highlight-js-ruby":"31d6cfe0","highlight-js-scss":"31d6cfe0","highlight-js-shell":"31d6cfe0","highlight-js-swift":"31d6cfe0","highlight-js-xml":"31d6cfe0"}[e]+".css",r=c.p+i,a=document.getElementsByTagName("link"),s=0;s<a.length;s++){var l=a[s],u=l.getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(u===i||u===r))return t()}var h=document.getElementsByTagName("style");for(s=0;s<h.length;s++){l=h[s],u=l.getAttribute("data-href");if(u===i||u===r)return t()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=t,d.onerror=function(t){var i=t&&t.target&&t.target.src||r,a=new Error("Loading CSS chunk "+e+" failed.\n("+i+")");a.code="CSS_CHUNK_LOAD_FAILED",a.request=i,delete o[e],d.parentNode.removeChild(d),n(a)},d.href=r;var g=document.getElementsByTagName("head")[0];g.appendChild(d)})).then((function(){o[e]=0})));var i=r[e];if(0!==i)if(i)t.push(i[2]);else{var a=new Promise((function(t,n){i=r[e]=[t,n]}));t.push(i[2]=a);var l,u=document.createElement("script");u.charset="utf-8",u.timeout=120,c.nc&&u.setAttribute("nonce",c.nc),u.src=s(e);var h=new Error;l=function(t){u.onerror=u.onload=null,clearTimeout(d);var n=r[e];if(0!==n){if(n){var i=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;h.message="Loading chunk "+e+" failed.\n("+i+": "+o+")",h.name="ChunkLoadError",h.type=i,h.request=o,n[1](h)}r[e]=void 0}};var d=setTimeout((function(){l({type:"timeout",target:u})}),12e4);u.onerror=u.onload=l,document.head.appendChild(u)}return Promise.all(t)},c.m=e,c.c=i,c.d=function(e,t,n){c.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},c.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,t){if(1&t&&(e=c(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(c.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)c.d(n,i,function(t){return e[t]}.bind(null,i));return n},c.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return c.d(t,"a",t),t},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.p="{{BASE_PATH}}/",c.oe=function(e){throw console.error(e),e};var l=window["webpackJsonp"]=window["webpackJsonp"]||[],u=l.push.bind(l);l.push=t,l=l.slice();for(var h=0;h<l.length;h++)t(l[h]);var d=u;a.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("f161")},"002d":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return s})),n.d(t,"b",(function(){return c})),n.d(t,"d",(function(){return l})),n.d(t,"g",(function(){return u})),n.d(t,"f",(function(){return h})),n.d(t,"e",(function(){return d}));n("e7a5");const i=/(?:\s+|[`"<>])/g,o=/^-+/,r=/["'&<>]/g;function a(e){return e.trim().replace(i,"-").replace(o,"").toLowerCase()}function s(e){const t=e=>({'"':"&quot;","'":"&apos;","&":"&amp;","<":"&lt;",">":"&gt;"}[e]||e);return e.replace(r,t)}function c(e){return e.replace(/#(.*)/,(e,t)=>"#"+CSS.escape(t))}function l(e){return e.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}function u(e){let t,n;const i="\\s*",o=" ",r=e.trim(),a=r.length;if(!a)return o;const s=[];for(t=0;t<a;t+=1)n=r[t],"\\"===n?(s.push(`${0===t?"":i}${n}`),s.push(r[t+1]),t+=1):0===t?s.push(n):n!==o&&s.push(`${i}${n}`);return s.join("")}function h(e,t,n=0){return`${e.slice(0,n)}${t}${e.slice(n)}`}function d(e){const t=e.split(/(?:\r?\n)+/);return t[0]}},"01da":function(e,t,n){},"161e":function(e,t,n){},2788:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return h}));var i=n("6842"),o=n("d26a");const r=Object(i["c"])(["meta","title"],"Documentation"),a=({title:e,description:t,url:n,currentLocale:i})=>[{name:"description",content:t},{property:"og:locale",content:i},{property:"og:site_name",content:r},{property:"og:type",content:"website"},{property:"og:title",content:e},{property:"og:description",content:t},{property:"og:url",content:n},{property:"og:image",content:Object(o["e"])("/developer-og.jpg")},{name:"twitter:image",content:Object(o["e"])("/developer-og-twitter.jpg")},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:description",content:t},{name:"twitter:title",content:e},{name:"twitter:url",content:n}],s=e=>[e,r].filter(Boolean).join(" | "),c=e=>{const{content:t}=e,n=e.property?"property":"name",i=e[n],o=document.querySelector(`meta[${n}="${i}"]`);if(o&&t)o.setAttribute("content",t);else if(o&&!t)o.remove();else if(t){const t=document.createElement("meta");t.setAttribute(n,e[n]),t.setAttribute("content",e.content),document.getElementsByTagName("head")[0].appendChild(t)}},l=e=>{document.title=e};function u({title:e,description:t,url:n,currentLocale:i}){const o=s(e);l(o),a({title:o,description:t,url:n,currentLocale:i}).forEach(e=>c(e))}function h(e){document.querySelector("html").setAttribute("lang",e)}},"34b0":function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-chevron-right-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-chevron-right"}},[n("path",{attrs:{d:"M2.964 1.366l0.649-0.76 7.426 6.343-7.423 6.445-0.655-0.755 6.545-5.683-6.542-5.59z"}})])},o=[],r=n("be08"),a={name:"InlineChevronRightIcon",components:{SVGIcon:r["a"]}},s=a,c=n("2877"),l=Object(c["a"])(s,i,o,!1,null,null,null);t["a"]=l.exports},3502:function(e,t,n){},3908:function(e,t,n){"use strict";function i(e){let t=null,n=e-1;const i=new Promise(e=>{t=e});return requestAnimationFrame((function e(){n-=1,n<=0?t():requestAnimationFrame(e)})),i}function o(e){return new Promise(t=>{setTimeout(t,e)})}n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}))},"3be4":function(e,t,n){},"3ca7":function(e){e.exports=JSON.parse('[{"code":"en-US","name":"English","slug":"en-US"},{"code":"zh-CN","name":"简体中文","slug":"zh-CN"},{"code":"ja-JP","name":"日本語","slug":"ja-JP"}]')},4009:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));const i="app-top"},"48b1":function(e,t,n){"use strict";n("e487")},5522:function(e,t,n){"use strict";n("a3e8")},"5c0b":function(e,t,n){"use strict";n("9c0c")},"5d2d":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"b",(function(){return l}));const i="developer.setting.";function o(e=localStorage){return{getItem:t=>{try{return e.getItem(t)}catch(n){return null}},setItem:(t,n)=>{try{e.setItem(t,n)}catch(i){}},removeItem:t=>{try{e.removeItem(t)}catch(n){}}}}function r(e){return{get:(t,n)=>{const o=JSON.parse(e.getItem(i+t));return null!==o?o:n},set:(t,n)=>e.setItem(i+t,JSON.stringify(n)),remove:t=>e.removeItem(i+t)}}const a=o(window.localStorage),s=o(window.sessionStorage),c=r(a),l=r(s)},"63b8":function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return r})),n.d(t,"d",(function(){return s}));const i={large:"large",medium:"medium",small:"small"},o={default:"default",nav:"nav"},r={[o.default]:{[i.large]:{minWidth:1069,contentWidth:980},[i.medium]:{minWidth:736,maxWidth:1068,contentWidth:692},[i.small]:{minWidth:320,maxWidth:735,contentWidth:280}},[o.nav]:{[i.large]:{minWidth:1024},[i.medium]:{minWidth:768,maxWidth:1023},[i.small]:{minWidth:320,maxWidth:767}}},a={[i.small]:0,[i.medium]:1,[i.large]:2};function s(e,t){return a[e]>a[t]}},6842:function(e,t,n){"use strict";function i(e,t,n){let i,o=e,r=t;for("string"===typeof r&&(r=[r]),i=0;i<r.length;i+=1){if("undefined"===typeof o[r[i]])return n;o=o[r[i]]}return o}n.d(t,"d",(function(){return r})),n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"c",(function(){return c}));var o=n("d26a");const r={meta:{},theme:{},features:{}},{baseUrl:a}=window;async function s(){const e=Object(o["e"])("/theme-settings.json");return fetch(e).then(e=>e.json()).catch(()=>({}))}const c=(e,t)=>i(r,e,t)},"748c":function(e,t,n){"use strict";function i(e){return e.reduce((e,t)=>(t.traits.includes("dark")?e.dark.push(t):e.light.push(t),e),{light:[],dark:[]})}function o(e){const t=["1x","2x","3x"];return t.reduce((t,n)=>{const i=e.find(e=>e.traits.includes(n));return i?t.concat({density:n,src:i.url,size:i.size}):t},[])}function r(e){const t="/",n=new RegExp(t+"+","g");return e.join(t).replace(n,t)}function a(e){const{baseUrl:t}=window,n=Array.isArray(e)?r(e):e;return n&&"string"===typeof n&&!n.startsWith(t)&&n.startsWith("/")?r([t,n]):n}function s(e){return e?e.startsWith("/")?e:"/"+e:e}function c(e){return e?`url('${a(e)}')`:void 0}function l(e){return new Promise((t,n)=>{const i=new Image;i.src=e,i.onerror=n,i.onload=()=>t({width:i.width,height:i.height})})}n.d(t,"e",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"f",(function(){return c})),n.d(t,"b",(function(){return l}))},"7ac6":function(e,t,n){},"7d8d":function(e){e.exports=JSON.parse('{"view-in":"日本語で表示","continue-viewing":"日本語で表示を続ける","language":"言語","video":{"replay":"リプレイ","play":"再生","pause":"一時停止","watch":"概要のビデオを観る"},"tutorials":{"title":"チュートリアル | チュートリアル","step":"手順{number}","submit":"送信","next":"次へ","preview":{"title":"プレビューなし | プレビュー | プレビュー","no-preview-available-step":"この手順では利用可能なプレビューがありません。"},"nav":{"chapters":"章","current":"現在の{thing}"},"assessment":{"check-your-understanding":"理解度を確認する","success-message":"よくできました。このチュートリアルの問題にすべて回答しました。","answer-number-is":"問題番号{index}は","correct":"正解です","incorrect":"不正解です","next-question":"次の問題"},"project-files":"プロジェクトファイル","estimated-time":"予測時間","sections":{"chapter":"{number}章"},"question-of":"{total}問中の{index}問","section-of":"{total}件中の{number}件","overriding-title":"{title}の{newTitle}","time":{"format":"{number} {minutes}","minutes":{"full":"分 | 分 | {count}分","short":"分 | 分"},"hours":{"full":"時間 | 時間"}}},"documentation":{"title":"ドキュメント","nav":{"breadcrumbs":"パンくずリスト","menu":"メニュー","open-menu":"メニューを開く","close-menu":"メニューを閉じる"},"current-page":"現在のページは{title}です","card":{"learn-more":"詳しい情報","read-article":"記事を読む","start-tutorial":"チュートリアルを開始","view-api":"APIのコレクションを表示","view-symbol":"記号を表示","view-sample-code":"サンプルコードを表示"}},"aside-kind":{"beta":"ベータ版","experiment":"試験運用版","important":"重要","note":"注意","tip":"ヒント","warning":"警告","deprecated":"非推奨"},"change-type":{"added":"追加","modified":"変更","deprecated":"非推奨"},"verbs":{"hide":"非表示","show":"表示","close":"閉じる"},"sections":{"title":"セクション{number}","on-this-page":"このページの内容","topics":"トピック","default-implementations":"デフォルト実装","relationships":"関連項目","see-also":"参照","declaration":"宣言","details":"詳細","parameters":"パラメータ","possible-values":"使用できる値","parts":"パーツ","availability":"利用可能","resources":"リソース"},"metadata":{"details":{"name":"名前","key":"キー","type":"タイプ"},"beta":{"legal":"このドキュメントはベータ版のソフトウェアのもので、変更される可能性があります。","software":"ベータ版ソフトウェア"},"default-implementation":"デフォルト実装あり。| デフォルト実装あり。"},"availability":{"introduced-and-deprecated":"{name} {introducedAt}で導入され、{name} {deprecatedAt}で非推奨になりました","available-on":"{name} {introducedAt}以降で使用できます"},"more":"さらに表示","less":"表示を減らす","api-reference":"APIリファレンス","filter":{"title":"フィルタ","search-symbols":"{technology}でシンボルを検索","suggested-tags":"提案されたタグ | 提案されたタグ","selected-tags":"選択したタグ | 選択したタグ","add-tag":"タグを追加","tag-select-remove":"タグ。選択してリストから削除します。","navigate":"シンボルを移動するには、上下左右の矢印キーを押します。","siblings-label":"{total-siblings}個中{number-siblings}個のシンボルが{parent-siblings}の中にあります","parent-label":"{total-siblings}個中{number-siblings}個のシンボルが1個のシンボルを含む{parent-siblings}の中にあります | {total-siblings}個中{number-siblings}個のシンボルが{number-parent}個のシンボルを含む{parent-siblings}の中にあります","reset-filter":"フィルタをリセット"},"navigator":{"title":"ドキュメントナビゲータ","open-navigator":"ドキュメントナビゲータを開く","close-navigator":"ドキュメントナビゲータを閉じる","no-results":"結果が見つかりません。","no-children":"使用できるデータがありません。","error-fetching":"データを取得する際にエラーが起きました。","items-found":"項目が見つかりません | 1個の項目が見つかりました | {number}個の項目が見つかりましたTabキーを押すと項目をナビゲートできます。","navigator-is":"ナビゲータは{state}です","state":{"loading":"読み込み中","ready":"準備完了"},"tags":{"hide-deprecated":"非推奨の項目を非表示"}},"tab":{"request":"リクエスト","response":"レスポンス"},"required":"必須","parameters":{"default":"デフォルト","minimum":"最小","maximum":"最大","possible-types":"タイプ | 使用できるタイプ","possible-values":"値 | 使用できる値"},"content-type":"Content-Type: {value}","read-only":"読み出し専用","error":{"unknown":"原因不明のエラーが起きました。","image":"イメージを読み込めませんでした"},"color-scheme":{"select":"カラースキーム環境設定を選択","auto":"自動","dark":"ダーク","light":"ライト"},"accessibility":{"strike":{"start":"取り消し線テキストの開始","end":"取り消し線テキストの終了"},"code":{"start":"コードブロックの開始","end":"コードブロックの終了"},"skip-navigation":"ナビゲーションをスキップ"},"select-language":"このページの言語を選択","icons":{"clear":"消去","web-service-endpoint":"Webサービスのエンドポイント","search":"検索"},"formats":{"parenthesis":"({content})","colon":"{content}: "},"quicknav":{"button":{"label":"クイックナビゲーションを開く","title":"クリックするか「/」を入力すると素早く移動します"}}}')},"821b":function(e,t,n){"use strict";t["a"]={auto:"auto",dark:"dark",light:"light"}},"942d":function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o})),n.d(t,"e",(function(){return r})),n.d(t,"d",(function(){return a})),n.d(t,"a",(function(){return s}));const i=52,o=48,r="nav-sticky-anchor",a="nav-open-navigator",s={noClose:"noclose"}},"94a8":function(e){e.exports=JSON.parse('{"view-in":"View in English","continue-viewing":"Continue viewing in English","language":"Language","video":{"replay":"Replay","play":"Play","pause":"Pause","watch":"Watch intro video"},"tutorials":{"title":"Tutorial | Tutorials","step":"Step {number}","submit":"Submit","next":"Next","preview":{"title":"No Preview | Preview | Previews","no-preview-available-step":"No preview available for this step."},"nav":{"chapters":"Chapters","current":"Current {thing}"},"assessment":{"check-your-understanding":"Check Your Understanding","success-message":"Great job, you\'ve answered all the questions for this tutorial.","answer-number-is":"Answer number {index} is","correct":"correct","incorrect":"incorrect","next-question":"Next question"},"project-files":"Project files","estimated-time":"Estimated Time","sections":{"chapter":"Chapter {number}"},"question-of":"Question {index} of {total}","section-of":"{number} of {total}","overriding-title":"{newTitle} with {title}","time":{"format":"{number} {minutes}","minutes":{"full":"minute | minutes | {count} minutes","short":"min | mins"},"hours":{"full":"hour | hours"}}},"documentation":{"title":"Documentation","nav":{"breadcrumbs":"Breadcrumbs","menu":"Menu","open-menu":"Open Menu","close-menu":"Close Menu"},"current-page":"Current page is {title}","card":{"learn-more":"Learn More","read-article":"Read article","start-tutorial":"Start tutorial","view-api":"View API collection","view-symbol":"View symbol","view-sample-code":"View sample code"}},"aside-kind":{"beta":"Beta","experiment":"Experiment","important":"Important","note":"Note","tip":"Tip","warning":"Warning","deprecated":"Deprecated"},"change-type":{"added":"Added","modified":"Modified","deprecated":"Deprecated"},"verbs":{"hide":"Hide","show":"Show","close":"Close"},"sections":{"title":"Section {number}","on-this-page":"On this page","topics":"Topics","default-implementations":"Default Implementations","relationships":"Relationships","see-also":"See Also","declaration":"Declaration","details":"Details","parameters":"Parameters","possible-values":"Possible Values","parts":"Parts","availability":"Availability","resources":"Resources"},"metadata":{"details":{"name":"Name","key":"Key","type":"Type"},"beta":{"legal":"This documentation refers to beta software and may be changed.","software":"Beta Software"},"default-implementation":"Default implementation provided. | Default implementations provided."},"availability":{"introduced-and-deprecated":"Introduced in {name} {introducedAt} and deprecated in {name} {deprecatedAt}","available-on":"Available on {name} {introducedAt} and later"},"more":"More","less":"Less","api-reference":"API Reference","filter":{"title":"Filter","search-symbols":"Search symbols in {technology}","suggested-tags":"Suggested tag | Suggested tags","selected-tags":"Selected tag | Selected tags","add-tag":"Add tag","tag-select-remove":"Tag. Select to remove from list.","navigate":"To navigate the symbols, press Up Arrow, Down Arrow, Left Arrow or Right Arrow","siblings-label":"{number-siblings} of {total-siblings} symbols inside {parent-siblings}","parent-label":"{number-siblings} of {total-siblings} symbols inside {parent-siblings} containing one symbol | {number-siblings} of {total-siblings} symbols inside {parent-siblings} containing {number-parent} symbols","reset-filter":"Reset Filter"},"navigator":{"title":"Documentation Navigator","open-navigator":"Open Documentation Navigator","close-navigator":"Close Documentation Navigator","no-results":"No results found.","no-children":"No data available.","error-fetching":"There was an error fetching the data.","items-found":"No items were found | 1 item was found | {number} items were found. Tab back to navigate through them.","navigator-is":"Navigator is {state}","state":{"loading":"loading","ready":"ready"},"tags":{"hide-deprecated":"Hide Deprecated"}},"tab":{"request":"Request","response":"Response"},"required":"Required","parameters":{"default":"Default","minimum":"Minimum","maximum":"Maximum","possible-types":"Type | Possible types","possible-values":"Value | Possible Values"},"content-type":"Content-Type: {value}","read-only":"Read-only","error":{"unknown":"An unknown error occurred.","image":"Image failed to load","not-found":"The page you\'re looking for can\'t be found."},"color-scheme":{"select":"Select a color scheme preference","auto":"Auto","dark":"Dark","light":"Light"},"accessibility":{"strike":{"start":"start of stricken text","end":"end of stricken text"},"code":{"start":"start of code block","end":"end of code block"},"skip-navigation":"Skip Navigation","in-page-link":"in page link"},"select-language":"Select the language for this page","icons":{"clear":"Clear","web-service-endpoint":"Web Service Endpoint","search":"Search"},"formats":{"parenthesis":"({content})","colon":"{content}: "},"quicknav":{"button":{"label":"Open Quick Navigation","title":"Click or type / for quick navigation"}}}')},9895:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o}));const i="not-found",o="documentation-topic"},9923:function(e,t,n){"use strict";n.r(t),n.d(t,"defaultLocale",(function(){return a})),n.d(t,"messages",(function(){return s}));var i=n("94a8"),o=n("d9c4"),r=n("7d8d");const a="en-US",s={"en-US":i,"zh-CN":o,"ja-JP":r}},"9b56":function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return l})),n.d(t,"c",(function(){return u}));var i=n("3ca7"),o=n("9923"),r=n("2788");const a=i.reduce((e,t)=>({...e,[t.slug]:t.code}),{});function s(e){return a[e]}function c(e){return!!a[e]}function l(e){return{params:{locale:e===o["defaultLocale"]?void 0:e}}}function u(e=o["defaultLocale"],t){if(!c(e))return;t.$i18n.locale=e;const n=s(e);Object(r["b"])(n)}},"9c0c":function(e,t,n){},"9dba":function(e,t,n){"use strict";n("3502")},a2be:function(e,t,n){"use strict";n("01da")},a3e8:function(e,t,n){},a919:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"close-icon",attrs:{viewBox:"0 0 14 14",themeId:"close"}},[n("path",{attrs:{d:"M12.73,0l1.27,1.27-5.74,5.73,5.72,5.72-1.27,1.27-5.72-5.72L1.28,13.99,.01,12.72,5.72,7.01,0,1.28,1.27,.01,6.99,5.73,12.73,0Z"}})])},o=[],r=n("be08"),a={name:"CloseIcon",components:{SVGIcon:r["a"]}},s=a,c=n("2877"),l=Object(c["a"])(s,i,o,!1,null,null,null);t["a"]=l.exports},be08:function(e,t,n){"use strict";var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{staticClass:"svg-icon",attrs:{"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}},[e.themeOverrideURL?n("use",{attrs:{href:e.themeOverrideURL+"#"+e.themeId,width:"100%",height:"100%"}}):e._t("default")],2)},o=[],r=n("6842"),a={name:"SVGIcon",props:{themeId:{type:String,required:!1},iconUrl:{type:String,default:null}},computed:{themeOverrideURL:({iconUrl:e,themeId:t})=>e||Object(r["c"])(["theme","icons",t],void 0)}},s=a,c=(n("c2c4"),n("2877")),l=Object(c["a"])(s,i,o,!1,null,"33d3200a",null);t["a"]=l.exports},c2c4:function(e,t,n){"use strict";n("161e")},c83d:function(e,t,n){},d26a:function(e,t,n){"use strict";n.d(t,"d",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s})),n.d(t,"c",(function(){return c})),n.d(t,"e",(function(){return l}));var i=n("748c"),o={input:"input",tags:"tags"};function r(e={}){return Object.entries(e).reduce((e,[t,n])=>n?e.concat(`${encodeURIComponent(t)}=${encodeURIComponent(n)}`):e,[]).join("&")}function a(e,{changes:t,language:n,context:i}={}){const[o,a]=e.split("#"),s=o.match(/\?.*/),c=r({changes:t,language:n,context:i}),l=s?"&":"?",u=a?o:e,h=c?`${l}${c}`:"",d=a?"#"+a:"";return`${u}${h}${d}`}function s(e,t){const{query:{changes:n,[o.input]:i,[o.tags]:r,...a}={}}=e,{query:{changes:s,[o.input]:c,[o.tags]:l,...u}={}}=t;return e.name===t.name&&JSON.stringify({path:e.path,query:a})===JSON.stringify({path:t.path,query:u})}function c(e,t=window.location.href){return new URL(Object(i["c"])(e),t)}function l(e,t){return c(e,t).href}},d369:function(e,t,n){"use strict";var i=n("5d2d");const o={preferredColorScheme:"developer.setting.preferredColorScheme",preferredLocale:"developer.setting.preferredLocale",preferredLanguage:"docs.setting.preferredLanguage"},r={preferredColorScheme:"docs.setting.preferredColorScheme"};t["a"]=Object.defineProperties({},Object.keys(o).reduce((e,t)=>({...e,[t]:{get:()=>{const e=r[t],n=i["a"].getItem(o[t]);return e?n||i["a"].getItem(e):n},set:e=>i["a"].setItem(o[t],e)}}),{}))},d9c4:function(e){e.exports=JSON.parse('{"view-in":"以中文查看","continue-viewing":"继续以中文查看","language":"语言","video":{"replay":"重新播放","play":"播放","pause":"暂停","watch":"观看介绍视频"},"tutorials":{"title":"教程","step":"第 {number} 步","submit":"提交","next":"下一步","preview":{"title":"无预览 | 预览","no-preview-available-step":"这一步没有预览。"},"nav":{"chapters":"章节","current":"当前{thing}"},"assessment":{"check-your-understanding":"检查你的理解程度","success-message":"很棒,你回答了此教程的所有问题。","answer-number-is":"第 {index} 个答案","correct":"正确","incorrect":"错误","next-question":"下一个问题"},"project-files":"项目文件","estimated-time":"预计时间","sections":{"chapter":"第 {number} 章"},"question-of":"第 {index} 个问题(共 {total} 个)","section-of":"{number}/{total}","overriding-title":"{newTitle}{title}","time":{"format":"{number} {minutes}","minutes":{"full":"分钟 | {count} 分钟","short":"分钟"},"hours":{"full":"小时"}}},"documentation":{"title":"文档","nav":{"breadcrumbs":"面包屑导航","menu":"菜单","open-menu":"打开菜单","close-menu":"关闭菜单"},"current-page":"当前页面为:{title}","card":{"learn-more":"进一步了解","read-article":"阅读文章","start-tutorial":"开始教程","view-api":"查看 API 集合","view-symbol":"查看符号","view-sample-code":"查看示例代码"}},"aside-kind":{"beta":"Beta 版","experiment":"试验","important":"重要事项","note":"注","tip":"提示","warning":"警告","deprecated":"已弃用"},"change-type":{"added":"已添加","modified":"已修改","deprecated":"已弃用"},"verbs":{"hide":"隐藏","show":"显示","close":"关闭"},"sections":{"title":"第 {number} 部分","on-this-page":"在此页面上","topics":"主题","default-implementations":"默认实现","relationships":"关系","see-also":"另请参阅","declaration":"声明","details":"详细信息","parameters":"参数","possible-values":"可能值","parts":"部件","availability":"可用性","resources":"资源"},"metadata":{"details":{"name":"名称","key":"密钥","type":"类型"},"beta":{"legal":"此文档涉及 Beta 版软件且可能会改动。","software":"Beta 版软件"},"default-implementation":"提供默认实现。| 提供默认实现方法。"},"availability":{"introduced-and-deprecated":"{name} {introducedAt} 中引入,{name} {deprecatedAt} 中弃用","available-on":"{name} {introducedAt} 及更高版本中可用"},"more":"更多","less":"更少","api-reference":"API 参考","filter":{"title":"过滤","search-symbols":"在 {technology} 搜索符号","suggested-tags":"建议标签","selected-tags":"所选标签","add-tag":"添加标签","tag-select-remove":"标签。选择以从列表中移除。","navigate":"若要导航符号,请按下上箭头、下箭头、左箭头或右箭头。","siblings-label":"{parent-siblings} 内含 {number-siblings} 个符号(共 {total-siblings} 个)","parent-label":"{parent-siblings} 内含 {number-siblings} 个符号(共 {total-siblings} 个)包含一个符号 | {parent-siblings} 内含 {number-siblings} 个符号(共 {total-siblings} 个)包含 {number-parent} 个符号","reset-filter":"还原过滤条件"},"navigator":{"title":"文档导航器","open-navigator":"打开文档导航器","close-navigator":"关闭文档导航器","no-results":"未找到结果。","no-children":"无可用数据。","error-fetching":"获取数据时出错。","items-found":"未找到任何项目 | 找到 1 个项目 | 找到 {number} 个项目。按下 Tab 键导航。","navigator-is":"导航器{state}","state":{"loading":"正在载入","ready":"准备就绪"},"tags":{"hide-deprecated":"隐藏已弃用"}},"tab":{"request":"请求","response":"回复"},"required":"必需","parameters":{"default":"默认","minimum":"最小值","maximum":"最大值","possible-types":"类型 | 可能类型","possible-values":"值 | 可能值"},"content-type":"内容类型:{value}","read-only":"只读","error":{"unknown":"出现未知错误。","image":"图像无法载入"},"color-scheme":{"select":"选择首选颜色方案","auto":"自动","dark":"深色","light":"浅色"},"accessibility":{"strike":{"start":"删除线文本开始","end":"删除线文本结束"},"code":{"start":"代码块开头","end":"代码块结尾"},"skip-navigation":"跳过导航"},"select-language":"选择此页面的语言","icons":{"clear":"清除","web-service-endpoint":"网络服务端点","search":"搜索"},"formats":{"parenthesis":"({content})","colon":"{content}: "},"quicknav":{"button":{"label":"打开快速导航","title":"点按或键入 / 进行快速导航"}}}')},dd18:function(e,t,n){"use strict";t["a"]={eager:"eager",lazy:"lazy"}},e425:function(e,t,n){"use strict";var i=n("821b"),o=n("dd18"),r=n("d369"),a=n("3ca7");const s="undefined"!==typeof window.matchMedia&&[i["a"].light,i["a"].dark,"no-preference"].some(e=>window.matchMedia(`(prefers-color-scheme: ${e})`).matches),c=s?i["a"].auto:i["a"].light;t["a"]={state:{imageLoadingStrategy:"ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET?o["a"].eager:o["a"].lazy,preferredColorScheme:r["a"].preferredColorScheme||c,preferredLocale:r["a"].preferredLocale,supportsAutoColorScheme:s,systemColorScheme:i["a"].light,availableLocales:[]},reset(){this.state.imageLoadingStrategy="ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET?o["a"].eager:o["a"].lazy,this.state.preferredColorScheme=r["a"].preferredColorScheme||c,this.state.supportsAutoColorScheme=s,this.state.systemColorScheme=i["a"].light},setImageLoadingStrategy(e){this.state.imageLoadingStrategy=e},setPreferredColorScheme(e){this.state.preferredColorScheme=e,r["a"].preferredColorScheme=e},setAllLocalesAreAvailable(){const e=a.map(e=>e.code);this.state.availableLocales=e},setAvailableLocales(e=[]){this.state.availableLocales=e},setPreferredLocale(e){this.state.preferredLocale=e,r["a"].preferredLocale=this.state.preferredLocale},setSystemColorScheme(e){this.state.systemColorScheme=e},syncPreferredColorScheme(){r["a"].preferredColorScheme&&r["a"].preferredColorScheme!==this.state.preferredColorScheme&&(this.state.preferredColorScheme=r["a"].preferredColorScheme)}}},e487:function(e,t,n){},e759:function(e,t,n){"use strict";n("3be4")},e9e6:function(e,t,n){"use strict";n("7ac6")},ed78:function(e,t,n){"use strict";n("c83d")},ed96:function(e,t,n){n.p=window.baseUrl},f161:function(e,t,n){"use strict";n.r(t);n("ed96");var i=n("2b0e"),o=n("a925"),r=n("8c4f"),a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{fromkeyboard:e.fromKeyboard,hascustomheader:e.hasCustomHeader},attrs:{id:"app"}},[n("div",{attrs:{id:e.AppTopID}}),e.isTargetIDE?e._e():n("a",{attrs:{href:"#main",id:"skip-nav"}},[e._v(e._s(e.$t("accessibility.skip-navigation")))]),n("InitialLoadingPlaceholder"),e._t("header",(function(){return[e.enablei18n?n("SuggestLang"):e._e(),e.hasCustomHeader?n("custom-header",{attrs:{"data-color-scheme":e.preferredColorScheme}}):e._e()]}),{isTargetIDE:e.isTargetIDE}),n("div",{attrs:{id:e.baseNavStickyAnchorId}}),e._t("default",(function(){return[n("router-view",{staticClass:"router-content"}),e.hasCustomFooter?n("custom-footer",{attrs:{"data-color-scheme":e.preferredColorScheme}}):e.isTargetIDE?e._e():n("Footer",{scopedSlots:e._u([{key:"default",fn:function(t){var i=t.className;return[e.enablei18n?n("div",{class:i},[n("LocaleSelector")],1):e._e()]}}])})]}),{isTargetIDE:e.isTargetIDE}),e._t("footer",null,{isTargetIDE:e.isTargetIDE})],2)},s=[],c=n("e425"),l=n("821b"),u=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("footer",{staticClass:"footer"},[n("div",{staticClass:"row"},[n("ColorSchemeToggle")],1),e._t("default",null,{className:"row"})],2)},h=[],d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"color-scheme-toggle",attrs:{"aria-label":e.$t("color-scheme.select"),role:"radiogroup"}},e._l(e.options,(function(t){return n("label",{key:t},[n("input",{attrs:{type:"radio"},domProps:{checked:t==e.preferredColorScheme,value:t},on:{input:e.setPreferredColorScheme}}),n("div",{staticClass:"text"},[e._v(e._s(e.$t("color-scheme."+t)))])])})),0)},g=[],m={name:"ColorSchemeToggle",data:()=>({appState:c["a"].state}),computed:{options:({supportsAutoColorScheme:e})=>[l["a"].light,l["a"].dark,...e?[l["a"].auto]:[]],preferredColorScheme:({appState:e})=>e.preferredColorScheme,supportsAutoColorScheme:({appState:e})=>e.supportsAutoColorScheme},methods:{setPreferredColorScheme:e=>{c["a"].setPreferredColorScheme(e.target.value)}},watch:{preferredColorScheme:{immediate:!0,handler(e){document.body.dataset.colorScheme=e}}}},p=m,f=(n("9dba"),n("2877")),b=Object(f["a"])(p,d,g,!1,null,"02a6f6ec",null),v=b.exports,w={name:"Footer",components:{ColorSchemeToggle:v}},y=w,j=(n("e9e6"),Object(f["a"])(y,u,h,!1,null,"4e049dbd",null)),S=j.exports,E=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.loaded?e._e():n("div",{staticClass:"InitialLoadingPlaceholder",attrs:{id:"loading-placeholder"}})},C=[],_={name:"InitialLoadingPlaceholder",data(){return{loaded:!1}},created(){const e=()=>{this.loaded=!0};this.$router.onReady(e,e)}},P=_,k=(n("48b1"),Object(f["a"])(P,E,C,!1,null,"35c356b6",null)),L=k.exports,A=n("942d"),T=n("6842");function x(e,t){return e&&"object"===typeof e&&Object.prototype.hasOwnProperty.call(e,t)&&"string"===typeof e[t]}function O(e,t,n,i){if(!t||"object"!==typeof t||i&&(x(t,"light")||x(t,"dark"))){let o=t;if(x(t,i)&&(o=t[i]),"object"===typeof o)return;n[e]=o}else Object.entries(t).forEach(([t,o])=>{const r=[e,t].join("-");O(r,o,n,i)})}function I(e,t="light"){const n={},i=e||{};return O("-",i,n,t),n}var $=n("4009"),D=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.displaySuggestLang?n("div",{staticClass:"suggest-lang"},[n("div",{staticClass:"suggest-lang__wrapper"},[n("router-link",{staticClass:"suggest-lang__link",attrs:{to:e.getLocaleParam(e.preferredLocale),lang:e.getCodeForSlug(e.preferredLocale)},nativeOn:{click:function(t){return e.setPreferredLocale(e.preferredLocale)}}},[e._v(e._s(e.$i18n.messages[e.preferredLocale]["view-in"])),n("InlineChevronRightIcon",{staticClass:"icon-inline"})],1),n("div",{staticClass:"suggest-lang__close-icon-wrapper"},[n("button",{staticClass:"suggest-lang__close-icon-button",attrs:{"aria-label":e.$t("continue-viewing")},on:{click:function(t){return e.setPreferredLocale(e.$i18n.locale)}}},[n("CloseIcon",{staticClass:"icon-inline"})],1)])],1)]):e._e()},N=[],R=n("34b0"),U=n("a919"),q=n("3ca7"),V=n("9b56"),B={name:"SuggestLang",components:{InlineChevronRightIcon:R["a"],CloseIcon:U["a"]},computed:{preferredLocale:()=>{const e=c["a"].state.preferredLocale;if(e)return e;const t=q.find(e=>{const t=e.code.split("-")[0],n=window.navigator.language.split("-")[0];return n===t});return t?t.slug:null},displaySuggestLang:({preferredLocale:e,$i18n:t})=>e&&t.locale!==e},methods:{setPreferredLocale:e=>{c["a"].setPreferredLocale(e)},getCodeForSlug:V["a"],getLocaleParam:V["b"]}},M=B,W=(n("ed78"),Object(f["a"])(M,D,N,!1,null,"ad72c62e",null)),F=W.exports,G=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"locale-selector"},[n("select",{attrs:{"aria-label":e.$t("select-language")},domProps:{value:e.$i18n.locale},on:{change:e.updateRouter}},e._l(e.locales,(function(t){var i=t.slug,o=t.name,r=t.code;return n("option",{key:i,attrs:{lang:r},domProps:{value:i}},[e._v(" "+e._s(o)+" ")])})),0),n("ChevronThickIcon",{staticClass:"icon-inline"})],1)},H=[],J=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"chevron-thick-icon",attrs:{viewBox:"0 0 14 10.5",themeId:"chevron-thick"}},[n("path",{attrs:{d:"M12.43,0l1.57,1.22L7,10.5,0,1.23,1.58,0,7,7,12.43,0Z"}})])},K=[],z=n("be08"),Y={name:"ChevronThickIcon",components:{SVGIcon:z["a"]}},Q=Y,Z=Object(f["a"])(Q,J,K,!1,null,null,null),X=Z.exports,ee={name:"LocaleSelector",components:{ChevronThickIcon:X},methods:{updateRouter({target:{value:e}}){this.$router.push(Object(V["b"])(e)),c["a"].setPreferredLocale(e),Object(V["c"])(e,this)}},computed:{availableLocales:()=>c["a"].state.availableLocales,locales:({availableLocales:e})=>q.filter(({code:t})=>e.includes(t))}},te=ee,ne=(n("e759"),Object(f["a"])(te,G,H,!1,null,"7e4d9b69",null)),ie=ne.exports,oe={name:"CoreApp",components:{Footer:S,InitialLoadingPlaceholder:L,SuggestLang:F,LocaleSelector:ie},provide(){return{isTargetIDE:this.isTargetIDE,performanceMetricsEnabled:"true"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_PERFORMANCE_ENABLED}},data(){return{AppTopID:$["a"],appState:c["a"].state,fromKeyboard:!1,isTargetIDE:"ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET,themeSettings:T["d"],baseNavStickyAnchorId:A["e"]}},computed:{currentColorScheme:({appState:e})=>e.systemColorScheme,preferredColorScheme:({appState:e})=>e.preferredColorScheme,availableLocales:({appState:e})=>e.availableLocales,CSSCustomProperties:({currentColorScheme:e,preferredColorScheme:t,themeSettings:n})=>I(n.theme,t===l["a"].auto?e:t),hasCustomHeader:()=>!!window.customElements.get("custom-header"),hasCustomFooter:()=>!!window.customElements.get("custom-footer"),enablei18n:({availableLocales:e})=>Object(T["c"])(["features","docs","i18n","enable"],!1)&&e.length>1},props:{enableThemeSettings:{type:Boolean,default:!0}},watch:{CSSCustomProperties:{immediate:!0,handler(e){this.detachStylesFromRoot(e),this.attachStylesToRoot(e)}}},async created(){window.addEventListener("keydown",this.onKeyDown),this.$bridge.on("navigation",this.handleNavigationRequest),this.enableThemeSettings&&Object.assign(this.themeSettings,await Object(T["b"])()),window.addEventListener("pageshow",this.syncPreferredColorScheme),this.$once("hook:beforeDestroy",()=>{window.removeEventListener("pageshow",this.syncPreferredColorScheme)})},mounted(){(document.querySelector(".footer-current-year")||{}).innerText=(new Date).getFullYear(),this.attachColorSchemeListeners()},beforeDestroy(){this.fromKeyboard?window.removeEventListener("mousedown",this.onMouseDown):window.removeEventListener("keydown",this.onKeyDown),this.$bridge.off("navigation",this.handleNavigationRequest),this.detachStylesFromRoot(this.CSSCustomProperties)},methods:{onKeyDown(){this.fromKeyboard=!0,window.addEventListener("mousedown",this.onMouseDown),window.removeEventListener("keydown",this.onKeyDown)},onMouseDown(){this.fromKeyboard=!1,window.addEventListener("keydown",this.onKeyDown),window.removeEventListener("mousedown",this.onMouseDown)},handleNavigationRequest(e){this.$router.push(e)},attachColorSchemeListeners(){if(!window.matchMedia)return;const e=window.matchMedia("(prefers-color-scheme: dark)");e.addListener(this.onColorSchemePreferenceChange),this.$once("hook:beforeDestroy",()=>{e.removeListener(this.onColorSchemePreferenceChange)}),this.onColorSchemePreferenceChange(e)},onColorSchemePreferenceChange({matches:e}){const t=e?l["a"].dark:l["a"].light;c["a"].setSystemColorScheme(t)},attachStylesToRoot(e){const t=document.body;Object.entries(e).filter(([,e])=>Boolean(e)).forEach(([e,n])=>{t.style.setProperty(e,n)})},detachStylesFromRoot(e){const t=document.body;Object.entries(e).forEach(([e])=>{t.style.removeProperty(e)})},syncPreferredColorScheme(){c["a"].syncPreferredColorScheme()}}},re=oe,ae=(n("5c0b"),n("a2be"),Object(f["a"])(re,a,s,!1,null,"7d594ed9",null)),se=ae.exports;class ce{constructor(){this.$send=()=>{}}send(e){this.$send(e)}}class le{constructor(){const{webkit:{messageHandlers:{bridge:e={}}={}}={}}=window;this.bridge=e;const{postMessage:t=(()=>{})}=e;this.$send=t.bind(e)}send(e){this.$send(e)}}class ue{constructor(e=new ce){this.backend=e,this.listeners={}}send(e){this.backend.send(e)}receive(e){this.emit(e.type,e.data)}emit(e,t){this.listeners[e]&&this.listeners[e].forEach(e=>e(t))}on(e,t){this.listeners[e]||(this.listeners[e]=new Set),this.listeners[e].add(t)}off(e,t){this.listeners[e]&&this.listeners[e].delete(t)}}var he={install(e,t){let n;n=t.performanceMetricsEnabled||"ide"===t.appTarget?new le:new ce,e.prototype.$bridge=new ue(n)}};function de(e){return"custom-"+e}function ge(e){return class extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"}),n=e.content.cloneNode(!0);t.appendChild(n)}}}function me(e){const t=de(e),n=document.getElementById(t);n&&window.customElements.define(t,ge(n))}function pe(e,t={names:["header","footer"]}){const{names:n}=t;e.config.ignoredElements=/^custom-/,n.forEach(me)}function fe(e,t){const{value:n=!1}=t;e.style.display=n?"none":""}var be={hide:fe};function ve(e,{performanceMetrics:t=!1}={}){e.config.productionTip=!1,e.use(pe),e.directive("hide",be.hide),e.use(he,{appTarget:Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET,performanceMetricsEnabled:t}),window.bridge=e.prototype.$bridge,e.config.performance=t}var we=n("9895"),ye=n("63b8"),je=n("3908"),Se=n("002d"),Ee=n("d26a");const Ce=10;function _e(e){const{name:t}=e,n=t.includes(we["a"]);return n?Ce:0}function Pe(){const{location:e}=window;return e.pathname+e.search+e.hash}function ke(){const e=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0);return e<ye["a"].nav.small.maxWidth?A["c"]:A["b"]}async function Le(e,t,n){if(n)return await this.app.$nextTick(),n;if(e.meta&&e.meta.preventScrolling)return!1;if(e.hash){const{name:t,query:n,hash:i}=e,o=t.includes(we["a"]),r=!!n.changes,a=ke(),s=o&&r?a:0,c=a+s+_e(e),l="ide"===Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET?0:c;return{selector:Object(Se["b"])(i),offset:{x:0,y:l}}}return!Object(Ee["a"])(e,t)&&{x:0,y:0}}async function Ae(){let e=window.sessionStorage.getItem("scrollPosition");if(e){try{e=JSON.parse(e)}catch(t){return void console.error("Error parsing scrollPosition from sessionStorage",t)}Pe()===e.location&&(await Object(je["b"])(2),window.scrollTo(e.x,e.y))}}function Te(){window.location.hash||sessionStorage.setItem("scrollPosition",JSON.stringify({x:window.pageXOffset,y:window.pageYOffset,location:Pe()}))}var xe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("GenericError")},Oe=[],Ie=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"generic-error"},[n("div",{staticClass:"container"},[n("h1",{staticClass:"title error-content"},[e._v(e._s(e.message||e.$t("error.unknown")))]),e._t("default")],2)])},$e=[],De={name:"GenericError",props:{message:{type:String,required:!1}}},Ne=De,Re=(n("5522"),Object(f["a"])(Ne,Ie,$e,!1,null,"1f05d9ec",null)),Ue=Re.exports,qe={name:"ServerError",components:{GenericError:Ue},created(){c["a"].setAllLocalesAreAvailable()}},Ve=qe,Be=Object(f["a"])(Ve,xe,Oe,!1,null,null,null),Me=Be.exports,We=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("GenericError",{attrs:{message:e.$t("error.not-found")}},[e._t("default")],2)},Fe=[],Ge={name:"NotFound",components:{GenericError:Ue},created(){c["a"].setAllLocalesAreAvailable()}},He=Ge,Je=Object(f["a"])(He,We,Fe,!1,null,null,null),Ke=Je.exports,ze=[{path:"/tutorials/:id",name:"tutorials-overview",component:()=>Promise.all([n.e("documentation-topic~topic~tutorials-overview"),n.e("tutorials-overview")]).then(n.bind(null,"f025"))},{path:"/tutorials/:id/*",name:"topic",component:()=>Promise.all([n.e("documentation-topic~topic~tutorials-overview"),n.e("documentation-topic~topic"),n.e("topic")]).then(n.bind(null,"3213"))},{path:"/documentation/*",name:we["a"],component:()=>Promise.all([n.e("documentation-topic~topic~tutorials-overview"),n.e("chunk-c0335d80"),n.e("documentation-topic~topic"),n.e("documentation-topic")]).then(n.bind(null,"f8ac"))},{path:"*",name:we["b"],component:Ke},{path:"*",name:"server-error",component:Me}];const Ye=[{pathPrefix:"/:locale?",nameSuffix:"-locale"}];function Qe(e,t=[],n=Ye){return n.reduce((n,i)=>n.concat(e.filter(e=>!t.includes(e.name)).map(e=>({...e,path:i.pathPrefix+e.path,name:e.name+i.nameSuffix}))),[])}const Ze=[...Qe(ze,[we["b"]]),...ze];function Xe(e={}){const t=new r["a"]({mode:"history",base:T["a"],scrollBehavior:Le,...e,routes:e.routes||Ze});return t.onReady(()=>{"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual"),Ae()}),"ide"!==Object({NODE_ENV:"production",VUE_APP_TITLE:"Documentation",BASE_URL:"{{BASE_PATH}}/"}).VUE_APP_TARGET&&t.onError(e=>{const{route:n={path:"/"}}=e;t.replace({name:"server-error",params:[n.path]})}),window.addEventListener("unload",Te),t}var et=n("9923");function tt(e=et){const{defaultLocale:t,messages:n,dateTimeFormats:i={}}=e,r=new o["a"]({dateTimeFormats:i,locale:t,fallbackLocale:t,messages:n});return r}i["default"].use(ve),i["default"].use(r["a"]),i["default"].use(o["a"]),new i["default"]({router:Xe(),render:e=>e(se),i18n:tt()}).$mount("#app")}});
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/topic.8cd0c0c4.js b/document/MixSdk.doccarchive/js/topic.8cd0c0c4.js
new file mode 100644 (file)
index 0000000..af0651e
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["topic"],{"0466":function(e,t,n){},"0503":function(e,t,n){"use strict";n("e38e")},"0c11":function(e,t,n){},"0c14":function(e,t,n){},1006:function(e,t,n){"use strict";n("a95e")},"1dd5":function(e,t,n){"use strict";n("7b17")},"257c":function(e,t,n){"use strict";n("7748")},"2a05":function(e,t,n){},"2f9d":function(e,t,n){"use strict";n("525c")},3213:function(e,t,n){"use strict";n.r(t);var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e.topicData?n(e.componentFor(e.topicData),e._b({key:e.topicKey,tag:"component",attrs:{hierarchy:e.hierarchy}},"component",e.propsFor(e.topicData),!1)):e._e()],1)},i=[],r=n("25a9"),o=n("a97e");const{BreakpointName:a}=o["a"].constants;var c,l,u={state:{linkableSections:[],breakpoint:a.large,references:{}},addLinkableSection(e){const t={...e,visibility:0};t.sectionNumber=this.state.linkableSections.length,this.state.linkableSections.push(t)},reset(){this.state.linkableSections=[],this.state.breakpoint=a.large,this.state.references={}},updateLinkableSection(e){this.state.linkableSections=this.state.linkableSections.map(t=>e.anchor===t.anchor?{...t,visibility:e.visibility}:t)},updateBreakpoint(e){this.state.breakpoint=e},setReferences(e){this.state.references=e}},d=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"article"},[e.isTargetIDE?e._e():n("NavigationBar",{attrs:{chapters:e.hierarchy.modules,technology:e.metadata.category,topic:e.heroTitle||"",rootReference:e.hierarchy.reference,identifierUrl:e.identifierUrl}}),n("main",{attrs:{id:"main",role:"main",tabindex:"0"}},[e._t("above-hero"),e._l(e.sections,(function(t,s){return n(e.componentFor(t),e._b({key:s,tag:"component"},"component",e.propsFor(t),!1))}))],2),n("PortalTarget",{attrs:{name:"modal-destination",multiple:""}})],1)},p=[],h=n("2b88"),m=n("e425"),f=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavBase",{attrs:{id:"nav","aria-label":e.technology,hasSolidBackground:""}},[n("template",{slot:"default"},[n("ReferenceUrlProvider",{attrs:{reference:e.rootReference},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.urlWithParams;return n("NavTitleContainer",{attrs:{to:s}},[n("template",{slot:"default"},[e._v(e._s(e.technology))]),n("template",{slot:"subhead"},[e._v(e._s(e.$tc("tutorials.title",2)))])],2)}}])})],1),n("template",{slot:"after-title"},[n("div",{staticClass:"separator"})]),n("template",{slot:"tray"},[n("div",{staticClass:"mobile-dropdown-container"},[n("MobileDropdown",{attrs:{options:e.chapters,sections:e.optionsForSections,currentOption:e.currentSection?e.currentSection.title:""},on:{"select-section":e.onSelectSection}})],1),n("div",{staticClass:"dropdown-container"},[n("PrimaryDropdown",{staticClass:"primary-dropdown",attrs:{options:e.chapters,currentOption:e.topic}}),n("ChevronIcon",{staticClass:"icon-inline"}),e.currentSection?n("SecondaryDropdown",{staticClass:"secondary-dropdown",attrs:{options:e.optionsForSections,currentOption:e.currentSection.title,sectionTracker:e.sectionIndicatorText},on:{"select-section":e.onSelectSection}}):e._e()],1),e._t("tray",null,{siblings:e.chapters.length+e.optionsForSections.length})],2)],2)},v=[],b=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"chevron-icon",attrs:{viewBox:"0 0 14 14",themeId:"chevron"}},[n("path",{attrs:{d:"M3.22 1.184l0.325-0.38 7.235 6.201-7.235 6.19-0.325-0.38 6.792-5.811-6.792-5.82z"}})])},g=[],y=n("be08"),C={name:"ChevronIcon",components:{SVGIcon:y["a"]}},w=C,_=n("2877"),k=Object(_["a"])(w,b,g,!1,null,null,null),S=k.exports,x=n("d26a"),T=n("2f34"),I={name:"ReferenceUrlProvider",mixins:[T["a"]],props:{reference:{type:String,required:!0}},computed:{resolvedReference:({references:e,reference:t})=>e[t]||{},url:({resolvedReference:e})=>e.url,title:({resolvedReference:e})=>e.title},render(){return this.$scopedSlots.default({url:this.url,urlWithParams:Object(x["b"])(this.url,this.$route.query),title:this.title,reference:this.resolvedReference})}},A=I,$=Object(_["a"])(A,c,l,!1,null,null,null),O=$.exports,N=n("8a61"),P=n("cbcf"),q=n("653a"),D=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("NavMenuItems",{staticClass:"mobile-dropdown"},e._l(e.options,(function(t){return n("ReferenceUrlProvider",{key:t.reference,attrs:{reference:t.reference},scopedSlots:e._u([{key:"default",fn:function(s){var i=s.title;return n("NavMenuItemBase",{staticClass:"chapter-list",attrs:{role:"group"}},[n("p",{staticClass:"chapter-name"},[e._v(e._s(i))]),n("ul",{staticClass:"tutorial-list"},e._l(t.projects,(function(t){return n("ReferenceUrlProvider",{key:t.reference,attrs:{reference:t.reference},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.url,i=t.urlWithParams,r=t.title;return n("li",{staticClass:"tutorial-list-item"},[n("router-link",{staticClass:"option tutorial",attrs:{to:i,value:r}},[e._v(" "+e._s(r)+" ")]),s===e.$route.path?n("ul",{staticClass:"section-list",attrs:{role:"listbox"}},e._l(e.sections,(function(t){return n("li",{key:t.title},[n("router-link",{class:e.classesFor(t),attrs:{to:{path:t.path,query:e.$route.query},value:t.title},nativeOn:{click:function(n){return e.onClick(t)}}},[e._v(" "+e._s(t.title)+" ")])],1)})),0):e._e()],1)}}],null,!0)})})),1)])}}],null,!0)})})),1)},j=[],R=n("863d"),M=n("9b30"),B={name:"MobileDropdown",components:{NavMenuItems:M["a"],NavMenuItemBase:R["a"],ReferenceUrlProvider:O},props:{options:{type:Array,required:!0},currentOption:{type:String,required:!0},sections:{type:Array,required:!1,default:()=>[]}},methods:{classesFor(e){return["option","section",{active:this.currentOption===e.title},this.depthClass(e)]},depthClass(e){const{depth:t=0}=e;return"depth"+t},onClick(e){this.$emit("select-section",e.path)}}},L=B,E=(n("e688"),Object(_["a"])(L,D,j,!1,null,"154acfbd",null)),F=E.exports,V=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("DropdownCustom",{staticClass:"tutorial-dropdown",attrs:{value:e.currentOption,"aria-label":e.$t("tutorials.nav.current",{thing:e.$t("sections.title")}),isSmall:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.closeAndFocusToggler,i=t.contentClasses,r=t.navigateOverOptions,o=t.OptionClass,a=t.ActiveOptionClass;return[n("ul",{staticClass:"options",class:i,attrs:{role:"listbox",tabindex:"0"}},e._l(e.options,(function(t){return n("router-link",{key:t.title,attrs:{to:{path:t.path,query:e.$route.query},custom:""},scopedSlots:e._u([{key:"default",fn:function(i){var c,l=i.navigate;return[n("li",{class:[o,(c={},c[a]=e.currentOption===t.title,c)],attrs:{role:"option",value:t.title,"aria-selected":e.currentOption===t.title,"aria-current":e.ariaCurrent(t.title),tabindex:-1},on:{click:function(n){return e.setActive(t,l,s,n)},keydown:[function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"enter",13,n.key,"Enter")?null:e.setActive(t,l,s,n)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:s.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")?null:s.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),r(t,1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),r(t,-1))}]}},[e._v(" "+e._s(t.title)+" ")])]}}],null,!0)})})),1)]}}])},[n("template",{slot:"toggle-post-content"},[n("span",{staticClass:"section-tracker"},[e._v(e._s(e.sectionTracker))])])],2)},U=[],H=function(){var e,t=this,n=t.$createElement,s=t._self._c||n;return s("BaseDropdown",{staticClass:"dropdown-custom",class:(e={},e[t.OpenedClass]=t.isOpen,e["dropdown-small"]=t.isSmall,e),attrs:{value:t.value},scopedSlots:t._u([{key:"dropdown",fn:function(e){var n=e.dropdownClasses;return[s("span",{staticClass:"visuallyhidden",attrs:{id:"DropdownLabel_"+t._uid}},[t._v(t._s(t.ariaLabel))]),s("button",{ref:"dropdownToggle",staticClass:"form-dropdown-toggle",class:n,attrs:{role:"button",id:"DropdownToggle_"+t._uid,"aria-labelledby":"DropdownLabel_"+t._uid+" DropdownToggle_"+t._uid,"aria-expanded":t.isOpen?"true":"false","aria-haspopup":"true"},on:{click:t.toggleDropdown,keydown:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:(e.preventDefault(),t.openDropdown.apply(null,arguments))},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"])?null:t.closeAndFocusToggler.apply(null,arguments)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?null:(e.preventDefault(),t.openDropdown.apply(null,arguments))},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?null:(e.preventDefault(),t.openDropdown.apply(null,arguments))}]}},[s("span",{staticClass:"form-dropdown-title"},[t._v(t._s(t.value))]),t._t("toggle-post-content")],2)]}}],null,!0)},[s("template",{slot:"eyebrow"},[t._t("eyebrow")],2),s("template",{slot:"after"},[t._t("default",null,null,{value:t.value,isOpen:t.isOpen,contentClasses:["form-dropdown-content",{"is-open":t.isOpen}],closeDropdown:t.closeDropdown,onChangeAction:t.onChangeAction,closeAndFocusToggler:t.closeAndFocusToggler,navigateOverOptions:t.navigateOverOptions,OptionClass:t.OptionClass,ActiveOptionClass:t.ActiveOptionClass})],2)],2)},z=[],G=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"form-element"},[e._t("dropdown",(function(){return[n("select",e._b({directives:[{name:"model",rawName:"v-model",value:e.modelValue,expression:"modelValue"}],class:e.dropdownClasses,on:{change:function(t){var n=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.modelValue=t.target.multiple?n:n[0]}}},"select",e.$attrs,!1),[e._t("default")],2)]}),{dropdownClasses:e.dropdownClasses,value:e.value}),n("InlineChevronDownIcon",{staticClass:"form-icon",attrs:{"aria-hidden":"true"}}),e.$slots.eyebrow?n("span",{staticClass:"form-label",attrs:{"aria-hidden":"true"}},[e._t("eyebrow")],2):e._e(),e._t("after")],2)},W=[],Q=n("7948"),K={name:"BaseDropdown",inheritAttrs:!1,props:{value:{type:String,default:""}},components:{InlineChevronDownIcon:Q["a"]},computed:{modelValue:{get:({value:e})=>e,set(e){this.$emit("input",e)}},dropdownClasses({value:e}){return["form-dropdown",{"form-dropdown-selectnone":""===e,"no-eyebrow":!this.$slots.eyebrow}]}}},X=K,J=(n("ed71"),Object(_["a"])(X,G,W,!1,null,"998803d8",null)),Y=J.exports;const Z="is-open",ee="option",te="option-active";var ne={name:"DropdownCustom",components:{BaseDropdown:Y},constants:{OpenedClass:Z,OptionClass:ee,ActiveOptionClass:te},props:{value:{type:String,default:""},ariaLabel:{type:String,default:""},isSmall:{type:Boolean,default:!1}},data(){return{isOpen:!1,OpenedClass:Z,OptionClass:ee,ActiveOptionClass:te}},mounted(){document.addEventListener("click",this.closeOnLoseFocus)},beforeDestroy(){document.removeEventListener("click",this.closeOnLoseFocus)},methods:{onChangeAction(e){this.$emit("input",e)},toggleDropdown(){this.isOpen?this.closeDropdown():this.openDropdown()},async closeAndFocusToggler(){this.closeDropdown(),await this.$nextTick(),this.$refs.dropdownToggle.focus({preventScroll:!0})},closeDropdown(){this.isOpen=!1,this.$emit("close")},openDropdown(){this.isOpen=!0,this.$emit("open"),this.focusActiveLink()},closeOnLoseFocus(e){!this.$el.contains(e.target)&&this.isOpen&&this.closeDropdown()},navigateOverOptions({target:e},t){const n=this.$el.querySelectorAll("."+ee),s=Array.from(n),i=s.indexOf(e),r=s[i+t];r&&r.focus({preventScroll:!0})},async focusActiveLink(){const e=this.$el.querySelector("."+te);e&&(await this.$nextTick(),e.focus({preventScroll:!0}))}}},se=ne,ie=(n("e84c"),Object(_["a"])(se,H,z,!1,null,"12dd746a",null)),re=ie.exports,oe={name:"SecondaryDropdown",components:{DropdownCustom:re},props:{options:{type:Array,required:!0},currentOption:{type:String,required:!0},sectionTracker:{type:String,required:!1}},methods:{ariaCurrent(e){return this.currentOption===e&&"section"},setActive(e,t,n,s){t(s),this.$emit("select-section",e.path),n()}}},ae=oe,ce=(n("7f7b"),Object(_["a"])(ae,V,U,!1,null,"554d62b6",null)),le=ce.exports,ue=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("DropdownCustom",{staticClass:"tutorial-dropdown",attrs:{value:e.currentOption,"aria-label":e.$t("tutorials.nav.current",{thing:e.$tc("tutorials.title",1)}),isSmall:""},scopedSlots:e._u([{key:"default",fn:function(t){var s=t.closeAndFocusToggler,i=t.contentClasses,r=t.closeDropdown,o=t.navigateOverOptions,a=t.OptionClass,c=t.ActiveOptionClass;return[n("ul",{staticClass:"options",class:i,attrs:{tabindex:"0"}},e._l(e.options,(function(t){return n("ReferenceUrlProvider",{key:t.reference,attrs:{reference:t.reference},scopedSlots:e._u([{key:"default",fn:function(i){var l=i.title;return n("li",{staticClass:"chapter-list",attrs:{role:"group"}},[n("p",{staticClass:"chapter-name"},[e._v(e._s(l))]),n("ul",{attrs:{role:"listbox"}},e._l(t.projects,(function(t){return n("ReferenceUrlProvider",{key:t.reference,attrs:{reference:t.reference},scopedSlots:e._u([{key:"default",fn:function(t){var i=t.urlWithParams,l=t.title;return[n("router-link",{attrs:{to:i,custom:""},scopedSlots:e._u([{key:"default",fn:function(t){var i,u=t.navigate,d=t.isActive;return[n("li",{class:(i={},i[a]=!0,i[c]=d,i),attrs:{role:"option",value:l,"aria-selected":d,"aria-current":!!d&&"tutorial",tabindex:-1},on:{click:function(t){return e.setActive(u,r,t)},keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.setActive(u,r,t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:s.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")?null:s.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:(t.preventDefault(),o(t,1))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:(t.preventDefault(),o(t,-1))}]}},[e._v(" "+e._s(l)+" ")])]}}],null,!0)})]}}],null,!0)})})),1)])}}],null,!0)})})),1)]}}])})},de=[],pe={name:"PrimaryDropdown",components:{DropdownCustom:re,ReferenceUrlProvider:O},props:{options:{type:Array,required:!0},currentOption:{type:String,required:!0}},methods:{setActive(e,t,n){e(n),t()}}},he=pe,me=(n("9938"),Object(_["a"])(he,ue,de,!1,null,"4bddb6e6",null)),fe=me.exports;const ve={title:"Introduction",url:"#introduction",reference:"introduction",sectionNumber:0,depth:0};var be={name:"NavigationBar",components:{NavTitleContainer:q["a"],NavBase:P["a"],ReferenceUrlProvider:O,PrimaryDropdown:fe,SecondaryDropdown:le,MobileDropdown:F,ChevronIcon:S},mixins:[N["a"],T["a"]],props:{chapters:{type:Array,required:!0},technology:{type:String,required:!0},topic:{type:String,required:!0},rootReference:{type:String,required:!0},identifierUrl:{type:String,required:!0}},data(){return{currentSection:ve,tutorialState:this.store.state}},watch:{pageSectionWithHighestVisibility(e){e&&(this.currentSection=e)}},computed:{currentProject(){return this.chapters.reduce((e,{projects:t})=>e.concat(t),[]).find(e=>e.reference===this.identifierUrl)},pageSections(){if(!this.currentProject)return[];const e=[ve].concat(this.currentProject.sections);return this.tutorialState.linkableSections.map((t,n)=>{const s=e[n],i=this.references[s.reference],{url:r,title:o}=i||s;return{...t,title:o,path:r}})},optionsForSections(){return this.pageSections.map(({depth:e,path:t,title:n})=>({depth:e,path:t,title:n}))},pageSectionWithHighestVisibility(){return[...this.pageSections].sort((e,t)=>t.visibility-e.visibility).find(e=>e.visibility>0)},sectionIndicatorText(){const e=this.tutorialState.linkableSections.length-1,{sectionNumber:t}=this.currentSection||{};if(0!==t)return this.$t("tutorials.section-of",{number:t,total:e})}},methods:{onSelectSection(e){const t=e.split("#")[1];this.handleFocusAndScroll(t)}}},ge=be,ye=(n("ea88"),Object(_["a"])(ge,f,v,!1,null,"717bc942",null)),Ce=ye.exports,we=n("bf08"),_e=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"body"},[n("BodyContent",{attrs:{content:e.content}})],1)},ke=[],Se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("article",{staticClass:"body-content"},e._l(e.content,(function(t,s){return n(e.componentFor(t),e._b({key:s,tag:"component",staticClass:"layout"},"component",e.propsFor(t),!1))})),1)},xe=[],Te=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"columns",class:e.classes},[e._l(e.columns,(function(t,s){return[n("Asset",{key:t.media,attrs:{identifier:t.media,videoAutoplays:!1}}),t.content?n("ContentNode",{key:s,attrs:{content:t.content}}):e._e()]}))],2)},Ie=[],Ae=n("80e4"),$e=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseContentNode",{attrs:{content:e.articleContent}})},Oe=[],Ne=n("5677"),Pe={name:"ContentNode",components:{BaseContentNode:Ne["default"]},props:Ne["default"].props,computed:{articleContent(){return this.map(e=>{switch(e.type){case Ne["default"].BlockType.codeListing:return{...e,showLineNumbers:!0};case Ne["default"].BlockType.heading:{const{anchor:t,...n}=e;return n}default:return e}})}},methods:Ne["default"].methods,BlockType:Ne["default"].BlockType,InlineType:Ne["default"].InlineType},qe=Pe,De=(n("cb8d"),Object(_["a"])(qe,$e,Oe,!1,null,"3cfe1c35",null)),je=De.exports,Re={name:"Columns",components:{Asset:Ae["a"],ContentNode:je},props:{columns:{type:Array,required:!0}},computed:{classes(){return{"cols-2":2===this.columns.length,"cols-3":3===this.columns.length}}}},Me=Re,Be=(n("e9b0"),Object(_["a"])(Me,Te,Ie,!1,null,"30edf911",null)),Le=Be.exports,Ee=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"content-and-media",class:e.classes},[n("ContentNode",{attrs:{content:e.content}}),n("Asset",{attrs:{identifier:e.media}})],1)},Fe=[];const Ve={leading:"leading",trailing:"trailing"};var Ue={name:"ContentAndMedia",components:{Asset:Ae["a"],ContentNode:je},props:{content:je.props.content,media:Ae["a"].props.identifier,mediaPosition:{type:String,default:()=>Ve.trailing,validator:e=>Object.prototype.hasOwnProperty.call(Ve,e)}},computed:{classes(){return{"media-leading":this.mediaPosition===Ve.leading,"media-trailing":this.mediaPosition===Ve.trailing}}},MediaPosition:Ve},He=Ue,ze=(n("1006"),Object(_["a"])(He,Ee,Fe,!1,null,"3fa44f9e",null)),Ge=ze.exports,We=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"full-width"},e._l(e.groups,(function(t,s){return n(e.componentFor(t),e._b({key:s,tag:"component",staticClass:"group"},"component",e.propsFor(t),!1),[n("ContentNode",{attrs:{content:t.content}})],1)})),1)},Qe=[],Ke=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.tag,{tag:"component",attrs:{id:e.anchor}},[e._t("default")],2)},Xe=[],Je=n("72e7"),Ye={name:"LinkableElement",mixins:[Je["a"]],inject:{navigationBarHeight:{default(){}},store:{default(){return{addLinkableSection(){},updateLinkableSection(){}}}}},props:{anchor:{type:String,required:!0},depth:{type:Number,default:()=>0},tag:{type:String,default:()=>"div"},title:{type:String,required:!0}},computed:{intersectionRootMargin(){const e=this.navigationBarHeight?`-${this.navigationBarHeight}px`:"0%";return e+" 0% -50% 0%"}},created(){this.store.addLinkableSection({anchor:this.anchor,depth:this.depth,title:this.title,visibility:0})},methods:{onIntersect(e){const t=Math.min(1,e.intersectionRatio);this.store.updateLinkableSection({anchor:this.anchor,depth:this.depth,title:this.title,visibility:t})}}},Ze=Ye,et=Object(_["a"])(Ze,Ke,Xe,!1,null,null,null),tt=et.exports;const{BlockType:nt}=je;var st={name:"FullWidth",components:{ContentNode:je,LinkableElement:tt},props:je.props,computed:{groups:({content:e})=>e.reduce((e,t)=>0===e.length||t.type===nt.heading?[...e,{heading:t.type===nt.heading?t:null,content:[t]}]:[...e.slice(0,e.length-1),{heading:e[e.length-1].heading,content:e[e.length-1].content.concat(t)}],[])},methods:{componentFor(e){return e.heading?tt:"div"},depthFor(e){switch(e.level){case 1:case 2:return 0;default:return 1}},propsFor(e){return e.heading?{anchor:e.heading.anchor,depth:this.depthFor(e.heading),title:e.heading.text}:{}}}},it=st,rt=(n("aece"),Object(_["a"])(it,We,Qe,!1,null,"1f2be54b",null)),ot=rt.exports;const at={columns:"columns",contentAndMedia:"contentAndMedia",fullWidth:"fullWidth"};var ct={name:"BodyContent",props:{content:{type:Array,required:!0,validator:e=>e.every(({kind:e})=>Object.prototype.hasOwnProperty.call(at,e))}},methods:{componentFor(e){return{[at.columns]:Le,[at.contentAndMedia]:Ge,[at.fullWidth]:ot}[e.kind]},propsFor(e){const{content:t,kind:n,media:s,mediaPosition:i}=e;return{[at.columns]:{columns:t},[at.contentAndMedia]:{content:t,media:s,mediaPosition:i},[at.fullWidth]:{content:t}}[n]}},LayoutKind:at},lt=ct,ut=(n("1dd5"),Object(_["a"])(lt,Se,xe,!1,null,"4d5a806e",null)),dt=ut.exports,pt={name:"Body",components:{BodyContent:dt},props:dt.props},ht=pt,mt=(n("5237"),Object(_["a"])(ht,_e,ke,!1,null,"6499e2f2",null)),ft=mt.exports,vt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TutorialCTA",e._b({},"TutorialCTA",e.$props,!1))},bt=[],gt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BaseCTA",e._b({attrs:{label:e.$t("tutorials.next")}},"BaseCTA",e.baseProps,!1))},yt=[],Ct=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"call-to-action"},[n("Row",[n("LeftColumn",[n("span",{staticClass:"label"},[e._v(e._s(e.label))]),n("h2",[e._v(" "+e._s(e.title)+" ")]),e.abstract?n("ContentNode",{staticClass:"description",attrs:{content:[e.abstractParagraph]}}):e._e(),e.action?n("Button",{attrs:{action:e.action}}):e._e()],1),n("RightColumn",{staticClass:"right-column"},[e.media?n("Asset",{staticClass:"media",attrs:{identifier:e.media}}):e._e()],1)],1)],1)},wt=[],_t=n("0f00"),kt=n("620a"),St=n("c081"),xt={name:"CallToAction",components:{Asset:Ae["a"],Button:St["a"],ContentNode:Ne["default"],LeftColumn:{render(e){return e(kt["a"],{props:{span:{large:5,small:12}}},this.$slots.default)}},RightColumn:{render(e){return e(kt["a"],{props:{span:{large:6,small:12}}},this.$slots.default)}},Row:_t["a"]},props:{title:{type:String,required:!0},label:{type:String,required:!0},abstract:{type:Array,required:!1},action:{type:Object,required:!1},media:{type:String,required:!1}},computed:{abstractParagraph(){return{type:"paragraph",inlineContent:this.abstract}}}},Tt=xt,It=(n("c7dd"),Object(_["a"])(Tt,Ct,wt,!1,null,"042a0474",null)),At=It.exports,$t={name:"CallToAction",components:{BaseCTA:At},computed:{baseProps(){return{title:this.title,abstract:this.abstract,action:this.action,media:this.media}}},props:{title:{type:String,required:!0},abstract:{type:Array,required:!1},action:{type:Object,required:!1},media:{type:String,required:!1}}},Ot=$t,Nt=Object(_["a"])(Ot,gt,yt,!1,null,null,null),Pt=Nt.exports,qt={name:"CallToAction",components:{TutorialCTA:Pt},props:Pt.props},Dt=qt,jt=(n("3e1b"),Object(_["a"])(Dt,vt,bt,!1,null,"426a965c",null)),Rt=jt.exports,Mt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TutorialHero",e._b({},"TutorialHero",e.$props,!1))},Bt=[],Lt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("LinkableSection",{staticClass:"tutorial-hero",attrs:{anchor:"introduction",title:e.sectionTitle}},[n("div",{staticClass:"hero dark"},[e.backgroundImageUrl?n("div",{staticClass:"bg",style:e.bgStyle}):e._e(),e._t("above-title"),n("Row",[n("Column",[n("Headline",{attrs:{level:1}},[e.chapter?n("template",{slot:"eyebrow"},[e._v(e._s(e.chapter))]):e._e(),e._v(" "+e._s(e.title)+" ")],2),e.content||e.video?n("div",{staticClass:"intro"},[e.content?n("ContentNode",{attrs:{content:e.content}}):e._e(),e.video?[n("p",[n("a",{staticClass:"call-to-action",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.toggleCallToActionModal.apply(null,arguments)}}},[e._v(" Watch intro video "),n("PlayIcon",{staticClass:"cta-icon icon-inline"})],1)]),n("GenericModal",{attrs:{visible:e.callToActionModalVisible,isFullscreen:"",theme:"dark"},on:{"update:visible":function(t){e.callToActionModalVisible=t}}},[n("Asset",{directives:[{name:"show",rawName:"v-show",value:e.callToActionModalVisible,expression:"callToActionModalVisible"}],ref:"asset",staticClass:"video-asset",attrs:{identifier:e.video},on:{videoEnded:e.handleVideoEnd}})],1)]:e._e()],2):e._e(),n("Metadata",{staticClass:"metadata",attrs:{projectFilesUrl:e.projectFilesUrl,estimatedTimeInMinutes:e.estimatedTimeInMinutes,xcodeRequirement:e.xcodeRequirementData}})],1)],1)],2)])},Et=[],Ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"headline"},[e.$slots.eyebrow?n("span",{staticClass:"eyebrow"},[e._t("eyebrow")],2):e._e(),n("Heading",{staticClass:"heading",attrs:{level:e.level}},[e._t("default")],2)],1)},Vt=[];const Ut=1,Ht=6,zt={type:Number,required:!0,validator:e=>e>=Ut&&e<=Ht},Gt={name:"Heading",render:function(e){return e("h"+this.level,this.$slots.default)},props:{level:zt}};var Wt={name:"Headline",components:{Heading:Gt},props:{level:zt}},Qt=Wt,Kt=(n("3976"),Object(_["a"])(Qt,Ft,Vt,!1,null,"d46a1474",null)),Xt=Kt.exports,Jt=n("c161"),Yt=n("c4dd"),Zt=n("748c"),en=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"metadata"},[e.estimatedTimeInMinutes?n("div",{staticClass:"item",attrs:{"aria-label":"\n      "+e.$tc("tutorials.time.minutes.full",e.estimatedTimeInMinutes,{count:e.estimatedTimeInMinutes})+"\n      "+e.$t("tutorials.estimated-time")+"\n    "}},[n("div",{staticClass:"content",attrs:{"aria-hidden":"true"}},[n("i18n",{staticClass:"duration",attrs:{path:"tutorials.time.format",tag:"div"},scopedSlots:e._u([{key:"number",fn:function(){return[e._v(" "+e._s(e.estimatedTimeInMinutes)+" ")]},proxy:!0},{key:"minutes",fn:function(){return[n("div",{staticClass:"minutes"},[e._v(e._s(e.$tc("tutorials.time.minutes.short",e.estimatedTimeInMinutes))+" ")])]},proxy:!0}],null,!1,3313752798)})],1),n("div",{staticClass:"bottom",attrs:{"aria-hidden":"true"}},[e._v(e._s(e.$t("tutorials.estimated-time")))])]):e._e(),e.projectFilesUrl?n("div",{staticClass:"item"},[n("DownloadIcon",{staticClass:"item-large-icon icon-inline"}),n("div",{staticClass:"content bottom"},[n("a",{staticClass:"content-link project-download",attrs:{href:e.projectFilesUrl}},[e._v(" "+e._s(e.$t("tutorials.project-files"))+" "),n("InlineDownloadIcon",{staticClass:"small-icon icon-inline"})],1)])],1):e._e(),e.xcodeRequirement?n("div",{staticClass:"item"},[n("XcodeIcon",{staticClass:"item-large-icon icon-inline"}),n("div",{staticClass:"content bottom"},[e.isTargetIDE?n("span",[e._v(e._s(e.xcodeRequirement.title))]):n("a",{staticClass:"content-link",attrs:{href:e.xcodeRequirement.url}},[e._v(" "+e._s(e.xcodeRequirement.title)+" "),n("InlineChevronRightIcon",{staticClass:"icon-inline small-icon xcode-icon"})],1)])],1):e._e()])},tn=[],nn=n("de60"),sn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"xcode-icon",attrs:{viewBox:"0 0 14 14",themeId:"xcode"}},[n("path",{attrs:{d:"M2.668 4.452l-1.338-2.229 0.891-0.891 2.229 1.338 1.338 2.228 3.667 3.666 0.194-0.194 2.933 2.933c0.13 0.155 0.209 0.356 0.209 0.576 0 0.497-0.403 0.9-0.9 0.9-0.22 0-0.421-0.079-0.577-0.209l0.001 0.001-2.934-2.933 0.181-0.181-3.666-3.666z"}}),n("path",{attrs:{d:"M11.824 1.277l-0.908 0.908c-0.091 0.091-0.147 0.216-0.147 0.354 0 0.106 0.033 0.205 0.090 0.286l-0.001-0.002 0.058 0.069 0.185 0.185c0.090 0.090 0.215 0.146 0.353 0.146 0.107 0 0.205-0.033 0.286-0.090l-0.002 0.001 0.069-0.057 0.909-0.908c0.118 0.24 0.187 0.522 0.187 0.82 0 1.045-0.848 1.893-1.893 1.893-0.296 0-0.577-0.068-0.826-0.189l0.011 0.005-5.5 5.5c0.116 0.238 0.184 0.518 0.184 0.813 0 1.045-0.848 1.893-1.893 1.893-0.296 0-0.576-0.068-0.826-0.189l0.011 0.005 0.908-0.909c0.090-0.090 0.146-0.215 0.146-0.353 0-0.107-0.033-0.205-0.090-0.286l0.001 0.002-0.057-0.069-0.185-0.185c-0.091-0.091-0.216-0.147-0.354-0.147-0.106 0-0.205 0.033-0.286 0.090l0.002-0.001-0.069 0.058-0.908 0.908c-0.116-0.238-0.184-0.518-0.184-0.813 0-1.045 0.847-1.892 1.892-1.892 0.293 0 0.571 0.067 0.819 0.186l-0.011-0.005 5.5-5.5c-0.116-0.238-0.184-0.519-0.184-0.815 0-1.045 0.847-1.892 1.892-1.892 0.296 0 0.577 0.068 0.827 0.19l-0.011-0.005z"}})])},rn=[],on={name:"XcodeIcon",components:{SVGIcon:y["a"]}},an=on,cn=Object(_["a"])(an,sn,rn,!1,null,null,null),ln=cn.exports,un=n("34b0"),dn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-download-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-download"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5z"}}),n("path",{attrs:{d:"M7.51 2.964l-0.001 5.431 1.308-2.041 0.842 0.539-2.664 4.162-2.633-4.164 0.845-0.534 1.303 2.059 0.001-5.452z"}})])},pn=[],hn={name:"InlineDownloadIcon",components:{SVGIcon:y["a"]}},mn=hn,fn=Object(_["a"])(mn,dn,pn,!1,null,null,null),vn=fn.exports,bn={name:"HeroMetadata",components:{InlineDownloadIcon:vn,InlineChevronRightIcon:un["a"],DownloadIcon:nn["a"],XcodeIcon:ln},inject:["isTargetIDE"],props:{projectFilesUrl:{type:String},estimatedTimeInMinutes:{type:Number},xcodeRequirement:{type:Object,required:!1}}},gn=bn,yn=(n("33ff"),Object(_["a"])(gn,en,tn,!1,null,"94ff76c0",null)),Cn=yn.exports,wn={name:"Hero",components:{PlayIcon:Yt["a"],GenericModal:Jt["a"],Column:{render(e){return e(kt["a"],{props:{span:{large:7,medium:9,small:12}}},this.$slots.default)}},ContentNode:Ne["default"],Headline:Xt,Metadata:Cn,Row:_t["a"],Asset:Ae["a"],LinkableSection:tt},mixins:[T["a"]],props:{title:{type:String,required:!0},chapter:{type:String},content:{type:Array},projectFiles:{type:String},estimatedTimeInMinutes:{type:Number},xcodeRequirement:{type:String,required:!1},video:{type:String},backgroundImage:{type:String}},computed:{backgroundImageUrl(){const e=this.references[this.backgroundImage]||{},{variants:t=[]}=e,n=t.find(e=>e.traits.includes("light"));return Object(Zt["c"])((n||{}).url)},projectFilesUrl(){return this.projectFiles?Object(Zt["c"])(this.references[this.projectFiles].url):null},bgStyle(){return{backgroundImage:Object(Zt["f"])(this.backgroundImageUrl)}},xcodeRequirementData(){return this.references[this.xcodeRequirement]},sectionTitle(){return"Introduction"}},data(){return{callToActionModalVisible:!1}},methods:{async toggleCallToActionModal(){this.callToActionModalVisible=!0,await this.$nextTick();const e=this.$refs.asset.$el.querySelector("video");if(e)try{await e.play(),e.muted=!1}catch(t){}},handleVideoEnd(){this.callToActionModalVisible=!1}}},_n=wn,kn=(n("7fae"),Object(_["a"])(_n,Lt,Et,!1,null,"55543c5a",null)),Sn=kn.exports,xn={name:"Hero",components:{TutorialHero:Sn},props:Sn.props},Tn=xn,In=(n("2f9d"),Object(_["a"])(Tn,Mt,Bt,!1,null,"35a9482f",null)),An=In.exports,$n=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("TutorialAssessments",e._b({},"TutorialAssessments",e.$props,!1),[n("p",{attrs:{slot:"success"},slot:"success"},[e._v("Great job, you've answered all the questions for this article.")])])},On=[],Nn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("LinkableSection",{staticClass:"assessments-wrapper",attrs:{anchor:e.anchor,title:e.title}},[n("Row",{ref:"assessments",staticClass:"assessments"},[n("MainColumn",[n("Row",{staticClass:"banner"},[n("HeaderColumn",[n("h2",{staticClass:"title"},[e._v(e._s(e.title))])])],1),e.completed?n("div",{staticClass:"success"},[e._t("success",(function(){return[n("p",[e._v(e._s(e.SuccessMessage))])]}))],2):n("div",[n("Progress",e._b({ref:"progress"},"Progress",e.progress,!1)),n("Quiz",{key:e.activeIndex,attrs:{choices:e.activeAssessment.choices,content:e.activeAssessment.content,isLast:e.isLast,title:e.activeAssessment.title},on:{submit:e.onSubmit,advance:e.onAdvance,"see-results":e.onSeeResults}})],1),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"assertive"}},[e.completed?e._t("success",(function(){return[e._v(" "+e._s(e.SuccessMessage)+" ")]})):e._e()],2)],1)],1)],1)},Pn=[],qn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Row",[n("p",{staticClass:"title"},[e._v(e._s(e.$t("tutorials.question-of",{index:e.index,total:e.total})))])])},Dn=[],jn={name:"AssessmentsProgress",components:{Row:_t["a"]},props:{index:{type:Number,required:!0},total:{type:Number,required:!0}}},Rn=jn,Mn=(n("6866"),Object(_["a"])(Rn,qn,Dn,!1,null,"28135d78",null)),Bn=Mn.exports,Ln=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"quiz"},[n("ContentNode",{staticClass:"title",attrs:{content:e.title}}),e.content?n("ContentNode",{staticClass:"question-content",attrs:{content:e.content}}):e._e(),n("div",{staticClass:"choices"},[e._l(e.choices,(function(t,s){return n("label",{key:s,class:e.choiceClasses[s]},[n(e.getIconComponent(s),{tag:"component",staticClass:"choice-icon"}),n("input",{directives:[{name:"model",rawName:"v-model",value:e.selectedIndex,expression:"selectedIndex"}],attrs:{type:"radio",name:"assessment"},domProps:{value:s,checked:e._q(e.selectedIndex,s)},on:{change:function(t){e.selectedIndex=s}}}),n("ContentNode",{staticClass:"question",attrs:{content:t.content}}),e.userChoices[s].checked?[n("ContentNode",{staticClass:"answer",attrs:{content:t.justification}}),t.reaction?n("p",{staticClass:"answer"},[e._v(e._s(t.reaction))]):e._e()]:e._e()],2)})),n("div",{staticClass:"visuallyhidden",attrs:{"aria-live":"assertive"}},[e._v(" "+e._s(e.ariaLiveText)+" ")])],2),n("div",{staticClass:"controls"},[n("ButtonLink",{staticClass:"check",attrs:{disabled:null===e.selectedIndex||e.showNextQuestion},nativeOn:{click:function(t){return e.submit.apply(null,arguments)}}},[e._v(" "+e._s(e.$t("tutorials.submit"))+" ")]),e.isLast?n("ButtonLink",{staticClass:"results",attrs:{disabled:!e.showNextQuestion},nativeOn:{click:function(t){return e.seeResults.apply(null,arguments)}}},[e._v(" "+e._s(e.$t("tutorials.next"))+" ")]):n("ButtonLink",{staticClass:"next",attrs:{disabled:!e.showNextQuestion},nativeOn:{click:function(t){return e.advance.apply(null,arguments)}}},[e._v(" "+e._s(e.$t("tutorials.assessment.next-question"))+" ")])],1)],1)},En=[],Fn=n("76ab"),Vn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"reset-circle-icon",attrs:{viewBox:"0 0 14 14",themeId:"reset-circle"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5v0c0-3.038-2.462-5.5-5.5-5.5v0z"}}),n("path",{attrs:{d:"M3.828 4.539l0.707-0.707 5.657 5.657-0.707 0.707-5.657-5.657z"}}),n("path",{attrs:{d:"M3.828 9.489l5.657-5.657 0.707 0.707-5.657 5.657-0.707-0.707z"}})])},Un=[],Hn={name:"ResetCircleIcon",components:{SVGIcon:y["a"]}},zn=Hn,Gn=Object(_["a"])(zn,Vn,Un,!1,null,null,null),Wn=Gn.exports,Qn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"check-circle-icon",attrs:{viewBox:"0 0 14 14",themeId:"check-circle"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5v0c0-3.038-2.462-5.5-5.5-5.5v0z"}}),n("path",{attrs:{d:"M9.626 3.719l0.866 0.5-3.5 6.062-3.464-2 0.5-0.866 2.6 1.5z"}})])},Kn=[],Xn={name:"CheckCircleIcon",components:{SVGIcon:y["a"]}},Jn=Xn,Yn=Object(_["a"])(Jn,Qn,Kn,!1,null,null,null),Zn=Yn.exports,es={name:"Quiz",components:{CheckCircleIcon:Zn,ResetCircleIcon:Wn,ContentNode:Ne["default"],ButtonLink:Fn["a"]},props:{content:{type:Array,required:!1},choices:{type:Array,required:!0},isLast:{type:Boolean,default:!1},title:{type:Array,required:!0}},data(){return{userChoices:this.choices.map(()=>({checked:!1})),selectedIndex:null,checkedIndex:null}},computed:{correctChoices(){return this.choices.reduce((e,t,n)=>t.isCorrect?e.add(n):e,new Set)},choiceClasses(){return this.userChoices.map((e,t)=>({choice:!0,active:this.selectedIndex===t,disabled:e.checked||this.showNextQuestion,correct:e.checked&&this.choices[t].isCorrect,incorrect:e.checked&&!this.choices[t].isCorrect}))},showNextQuestion(){return Array.from(this.correctChoices).every(e=>this.userChoices[e].checked)},ariaLiveText(){if(null===this.checkedIndex)return"";const{isCorrect:e}=this.choices[this.checkedIndex];return`${this.$t("tutorials.assessment.answer-number-is",{index:this.checkedIndex+1})} ${e?this.$t("tutorials.assessment.correct"):this.$t("tutorials.assessment.incorrect")}\n      `}},methods:{getIconComponent(e){const t=this.userChoices[e];if(t&&t.checked)return this.choices[e].isCorrect?Zn:Wn},submit(){this.$set(this.userChoices,this.selectedIndex,{checked:!0}),this.checkedIndex=this.selectedIndex,this.$emit("submit")},advance(){this.$emit("advance")},seeResults(){this.$emit("see-results")}}},ts=es,ns=(n("0503"),Object(_["a"])(ts,Ln,En,!1,null,"19ed40e2",null)),ss=ns.exports;const is=12,rs="tutorials.assessment.success-message";var os={name:"Assessments",constants:{SuccessMessage:rs},components:{LinkableSection:tt,Quiz:ss,Progress:Bn,Row:_t["a"],HeaderColumn:{render(e){return e(kt["a"],{props:{isCentered:{large:!0},span:{large:10}}},this.$slots.default)}},MainColumn:{render(e){return e(kt["a"],{props:{isCentered:{large:!0},span:{large:10,medium:10,small:12}}},this.$slots.default)}}},props:{assessments:{type:Array,required:!0},anchor:{type:String,required:!0}},inject:["navigationBarHeight"],data(){return{activeIndex:0,completed:!1,SuccessMessage:this.$t(rs)}},computed:{activeAssessment(){return this.assessments[this.activeIndex]},isLast(){return this.activeIndex===this.assessments.length-1},progress(){return{index:this.activeIndex+1,total:this.assessments.length}},title(){return this.$t("tutorials.assessment.check-your-understanding")}},methods:{scrollTo(e,t=0){e.scrollIntoView(!0),window.scrollBy(0,-this.navigationBarHeight-t)},onSubmit(){this.$nextTick(()=>{this.scrollTo(this.$refs.progress.$el,is)})},onAdvance(){this.activeIndex+=1,this.$nextTick(()=>{this.scrollTo(this.$refs.progress.$el,is)})},onSeeResults(){this.completed=!0,this.$nextTick(()=>{this.scrollTo(this.$refs.assessments.$el,is)})}}},as=os,cs=(n("da20"),Object(_["a"])(as,Nn,Pn,!1,null,"65e3c02c",null)),ls=cs.exports,us={name:"Assessments",components:{TutorialAssessments:ls},props:ls.props},ds=us,ps=(n("f264"),Object(_["a"])(ds,$n,On,!1,null,"3c94366b",null)),hs=ps.exports;const ms={articleBody:"articleBody",callToAction:"callToAction",hero:"hero",assessments:"assessments"};var fs={name:"Article",components:{NavigationBar:Ce,PortalTarget:h["PortalTarget"]},mixins:[we["a"]],inject:{isTargetIDE:{default:!1},store:{default(){return{reset(){},setReferences(){}}}}},props:{hierarchy:{type:Object,required:!0},metadata:{type:Object,required:!0},references:{type:Object,required:!0},sections:{type:Array,required:!0,validator:e=>e.every(({kind:e})=>Object.prototype.hasOwnProperty.call(ms,e))},identifierUrl:{type:String,required:!0}},computed:{heroSection(){return this.sections.find(this.isHero)},heroTitle(){return(this.heroSection||{}).title},pageTitle(){return this.heroTitle?`${this.heroTitle} — ${this.metadata.category} Tutorials`:void 0},pageDescription:({heroSection:e,extractFirstParagraphText:t})=>e?t(e.content):null},methods:{componentFor(e){const{kind:t}=e;return{[ms.articleBody]:ft,[ms.callToAction]:Rt,[ms.hero]:An,[ms.assessments]:hs}[t]},isHero(e){return e.kind===ms.hero},propsFor(e){const{abstract:t,action:n,anchor:s,assessments:i,backgroundImage:r,chapter:o,content:a,estimatedTimeInMinutes:c,kind:l,media:u,projectFiles:d,title:p,video:h,xcodeRequirement:m}=e;return{[ms.articleBody]:{content:a},[ms.callToAction]:{abstract:t,action:n,media:u,title:p},[ms.hero]:{backgroundImage:r,chapter:o,content:a,estimatedTimeInMinutes:c,projectFiles:d,title:p,video:h,xcodeRequirement:m},[ms.assessments]:{anchor:s,assessments:i}}[l]}},created(){m["a"].setAvailableLocales(this.metadata.availableLocales),this.store.reset(),this.store.setReferences(this.references)},watch:{references(e){this.store.setReferences(e)},"metadata.availableLocales":function(e){m["a"].setAvailableLocales(e)}},SectionKind:ms},vs=fs,bs=(n("79ef"),Object(_["a"])(vs,d,p,!1,null,"7d4562ea",null)),gs=bs.exports,ys=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"tutorial"},[e.isTargetIDE?e._e():n("NavigationBar",{attrs:{technology:e.metadata.category,chapters:e.hierarchy.modules,topic:e.tutorialTitle||"",rootReference:e.hierarchy.reference,identifierUrl:e.identifierUrl}}),n("main",{attrs:{id:"main",role:"main",tabindex:"0"}},[e._l(e.sections,(function(e,t){return n("Section",{key:t,attrs:{section:e}})})),n("BreakpointEmitter",{on:{change:e.handleBreakpointChange}})],2),n("PortalTarget",{attrs:{name:"modal-destination",multiple:""}})],1)},Cs=[],ws=n("66c9"),_s=n("7689"),ks=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sections"},e._l(e.tasks,(function(t,s){return n("Section",e._b({key:s,attrs:{id:t.anchor,sectionNumber:s+1,isRuntimePreviewVisible:e.isRuntimePreviewVisible},on:{"runtime-preview-toggle":e.onRuntimePreviewToggle}},"Section",t,!1))})),1)},Ss=[],xs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("LinkableSection",{staticClass:"section",attrs:{anchor:e.anchor,title:e.introProps.title}},[n("Intro",e._b({},"Intro",e.introProps,!1)),e.stepsSection.length>0?n("Steps",{attrs:{content:e.stepsSection,isRuntimePreviewVisible:e.isRuntimePreviewVisible,sectionNumber:e.sectionNumber},on:{"runtime-preview-toggle":e.onRuntimePreviewToggle}}):e._e()],1)},Ts=[],Is=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"intro-container"},[n("Row",{class:["intro","intro-"+e.sectionNumber,{ide:e.isTargetIDE}]},[n("Column",{staticClass:"left"},[n("Headline",{attrs:{level:2}},[n("router-link",{attrs:{slot:"eyebrow",to:e.sectionLink},slot:"eyebrow"},[e._v(" "+e._s(e.$t("sections.title",{number:e.sectionNumber}))+" ")]),e._v(" "+e._s(e.title)+" ")],1),n("ContentNode",{attrs:{content:e.content}})],1),n("Column",{staticClass:"right"},[n("div",{staticClass:"media"},[e.media?n("Asset",{attrs:{identifier:e.media,showsReplayButton:!e.isClientMobile,showsVideoControls:e.isClientMobile,videoAutoplays:!e.isClientMobile}}):e._e()],1)])],1),e.expandedSections.length>0?n("ExpandedIntro",{staticClass:"expanded-intro",attrs:{content:e.expandedSections}}):e._e()],1)},As=[],$s={name:"SectionIntro",inject:{isClientMobile:{default:()=>!1},isTargetIDE:{default:()=>!1}},components:{Asset:Ae["a"],ContentNode:Ne["default"],ExpandedIntro:dt,Headline:Xt,Row:_t["a"],Column:{render(e){return e(kt["a"],{props:{span:{large:6,small:12}}},this.$slots.default)}}},props:{sectionAnchor:{type:String,required:!0},content:{type:Array,required:!0},media:{type:String,required:!0},title:{type:String,required:!0},sectionNumber:{type:Number,required:!0},expandedSections:{type:Array,default:()=>[]}},methods:{focus(){this.$emit("focus",this.media)}},computed:{sectionLink(){return{path:this.$route.path,hash:this.sectionAnchor,query:this.$route.query}}}},Os=$s,Ns=(n("257c"),Object(_["a"])(Os,Is,As,!1,null,"7f9a8f65",null)),Ps=Ns.exports,qs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"steps"},[n("div",{staticClass:"content-container"},e._l(e.contentNodes,(function(t,s){return n(t.component,e._b({key:s,ref:"contentNodes",refInFor:!0,tag:"component",class:e.contentClass(s),attrs:{currentIndex:e.activeStep}},"component",t.props,!1))})),1),e.isBreakpointSmall?e._e():n("BackgroundTheme",{staticClass:"asset-container",class:e.assetContainerClasses},[n("transition",{attrs:{name:"fade"}},[e.visibleAsset.media?n("div",{key:e.visibleAsset.media,class:["asset-wrapper",{ide:e.isTargetIDE}]},[n("Asset",{ref:"asset",staticClass:"step-asset",attrs:{identifier:e.visibleAsset.media,showsReplayButton:"",showsVideoControls:!1}})],1):e._e(),e.visibleAsset.code?n("CodePreview",{attrs:{code:e.visibleAsset.code,preview:e.visibleAsset.runtimePreview,isRuntimePreviewVisible:e.isRuntimePreviewVisible},on:{"runtime-preview-toggle":e.onRuntimePreviewToggle}},[e.visibleAsset.runtimePreview?n("transition",{attrs:{name:"fade"}},[n("Asset",{key:e.visibleAsset.runtimePreview,attrs:{identifier:e.visibleAsset.runtimePreview}})],1):e._e()],1):e._e()],1)],1)],1)},Ds=[],js=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["code-preview",{ide:e.isTargetIDE}]},[n("CodeTheme",[e.code?n("CodeListing",e._b({attrs:{showLineNumbers:""}},"CodeListing",e.codeProps,!1)):e._e()],1),n("div",{staticClass:"runtime-preview",class:e.runtimePreviewClasses,style:e.previewStyles},[n("div",{staticClass:"runtimve-preview__container"},[n("button",{staticClass:"header",attrs:{disabled:!e.hasRuntimePreview,title:e.runtimePreviewTitle},on:{click:e.togglePreview}},[n("span",{staticClass:"runtime-preview-label",attrs:{"aria-label":e.textAriaLabel}},[e._v(e._s(e.togglePreviewText))]),n("DiagonalArrowIcon",{staticClass:"icon-inline preview-icon",class:[e.shouldDisplayHideLabel?"preview-hide":"preview-show"]})],1),n("transition",{on:{leave:e.handleLeave}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.shouldDisplayHideLabel,expression:"shouldDisplayHideLabel"}],staticClass:"runtime-preview-asset"},[e._t("default")],2)])],1)])],1)},Rs=[],Ms=n("7b69"),Bs=n("6667"),Ls=n("8590");const{BreakpointName:Es}=o["a"].constants;function Fs({width:e,height:t},n=1){const s=400,i=e<=s?1.75:3;return{width:e/(i/n),height:t/(i/n)}}var Vs={name:"CodePreview",inject:{isTargetIDE:{default:!1},store:{default(){return{state:{references:{}}}}}},components:{DiagonalArrowIcon:Bs["a"],CodeListing:Ms["a"],CodeTheme:Ls["a"]},props:{code:{type:String,required:!0},preview:{type:String,required:!1},isRuntimePreviewVisible:{type:Boolean,required:!0}},data(){return{tutorialState:this.store.state}},computed:{references:({tutorialState:e})=>e.references,currentBreakpoint(){return this.tutorialState.breakpoint},hasRuntimePreview(){return!!this.preview},previewAssetSize(){const e=this.hasRuntimePreview?this.references[this.preview]:{},t=(e.variants||[{}])[0]||{},n={width:900};let s=t.size||{};s.width||s.height||(s=n);const i=this.currentBreakpoint===Es.medium?.8:1;return Fs(s,i)},previewSize(){const e={width:102};return this.shouldDisplayHideLabel&&this.previewAssetSize?{width:this.previewAssetSize.width}:e},previewStyles(){const{width:e}=this.previewSize;return{width:e+"px"}},codeProps(){return this.references[this.code]},runtimePreviewClasses(){return{collapsed:!this.shouldDisplayHideLabel,disabled:!this.hasRuntimePreview,"runtime-preview-ide":this.isTargetIDE}},shouldDisplayHideLabel(){return this.hasRuntimePreview&&this.isRuntimePreviewVisible},runtimePreviewTitle(){return this.hasRuntimePreview?null:this.$t("tutorials.preview.no-preview-available-step")},togglePreviewText(){return this.$tc("tutorials.preview.title",this.hasRuntimePreview?1:0)},textAriaLabel(){return`${this.togglePreviewText}, ${this.shouldDisplayHideLabel?this.$t("verbs.hide"):this.$t("verbs.show")}`}},methods:{handleLeave(e,t){setTimeout(t,200)},togglePreview(){this.hasRuntimePreview&&this.$emit("runtime-preview-toggle",!this.isRuntimePreviewVisible)}}},Us=Vs,Hs=(n("b27b"),Object(_["a"])(Us,js,Rs,!1,null,"4f53426a",null)),zs=Hs.exports,Gs=n("3908"),Ws=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{style:e.backgroundStyle},[e._t("default")],2)},Qs=[],Ks={name:"BackgroundTheme",data(){return{codeThemeState:ws["a"].state}},computed:{backgroundStyle(){const{codeColors:e}=this.codeThemeState;return e?{"--background":e.background}:null}}},Xs=Ks,Js=Object(_["a"])(Xs,Ws,Qs,!1,null,null,null),Ys=Js.exports,Zs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["step-container","step-"+e.stepNumber]},[n("div",{ref:"step",staticClass:"step",class:{focused:e.isActive},attrs:{"data-index":e.index}},[n("p",{staticClass:"step-label"},[e._v(e._s(e.$t("tutorials.step",{number:e.stepNumber})))]),n("ContentNode",{attrs:{content:e.content}}),e.caption&&e.caption.length>0?n("ContentNode",{staticClass:"caption",attrs:{content:e.caption}}):e._e()],1),e.isBreakpointSmall||!e.isTargetIDE?n("div",{staticClass:"media-container"},[e.media?n("Asset",{attrs:{identifier:e.media,showsReplayButton:!e.isClientMobile,showsVideoControls:e.isClientMobile,videoAutoplays:!e.isClientMobile}}):e._e(),e.code?n("MobileCodePreview",{attrs:{code:e.code}},[e.runtimePreview?n("Asset",{staticClass:"preview",attrs:{identifier:e.runtimePreview}}):e._e()],1):e._e()],1):e._e()])},ei=[],ti=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("BackgroundTheme",{staticClass:"mobile-code-preview"},[e.code?n("GenericModal",{staticClass:"full-code-listing-modal",attrs:{theme:e.isTargetIDE?"code":"light",codeBackgroundColorOverride:e.modalBackgroundColor,isFullscreen:"",visible:e.fullCodeIsVisible},on:{"update:visible":function(t){e.fullCodeIsVisible=t}}},[n("div",{staticClass:"full-code-listing-modal-content"},[n("CodeTheme",[n("CodeListing",e._b({staticClass:"full-code-listing",attrs:{showLineNumbers:""}},"CodeListing",e.codeProps,!1))],1)],1)]):e._e(),n("CodeTheme",[e.code?n("MobileCodeListing",e._b({attrs:{showLineNumbers:""},on:{"file-name-click":e.toggleFullCode}},"MobileCodeListing",e.codeProps,!1)):e._e()],1),n("CodeTheme",{staticClass:"preview-toggle-container"},[n("PreviewToggle",{attrs:{isActionable:!!e.$slots.default},on:{click:e.togglePreview}})],1),e.$slots.default?n("GenericModal",{staticClass:"runtime-preview-modal",attrs:{theme:e.isTargetIDE?"dynamic":"light",isFullscreen:"",visible:e.previewIsVisible},on:{"update:visible":function(t){e.previewIsVisible=t}}},[n("div",{staticClass:"runtime-preview-modal-content"},[n("span",{staticClass:"runtime-preview-label"},[e._v(e._s(e.$tc("tutorials.preview.title",1)))]),e._t("default")],2)]):e._e()],1)},ni=[],si=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"code-listing-preview",attrs:{"data-syntax":e.syntax}},[n("CodeListing",{attrs:{fileName:e.fileName,syntax:e.syntax,fileType:e.fileType,content:e.previewedLines,startLineNumber:e.displayedRange.start,highlights:e.highlights,showLineNumbers:"",isFileNameActionable:""},on:{"file-name-click":function(t){return e.$emit("file-name-click")}}})],1)},ii=[],ri={name:"MobileCodeListing",components:{CodeListing:Ms["a"]},props:{fileName:String,syntax:String,fileType:String,content:{type:Array,required:!0},highlights:{type:Array,default:()=>[]}},computed:{highlightedLineNumbers(){return new Set(this.highlights.map(({line:e})=>e))},firstHighlightRange(){if(0===this.highlightedLineNumbers.size)return{start:1,end:this.content.length};const e=Math.min(...this.highlightedLineNumbers.values());let t=e;while(this.highlightedLineNumbers.has(t+1))t+=1;return{start:e,end:t}},displayedRange(){const e=this.firstHighlightRange,t=e.start-2<1?1:e.start-2,n=e.end+3>=this.content.length+1?this.content.length+1:e.end+3;return{start:t,end:n}},previewedLines(){return this.content.slice(this.displayedRange.start-1,this.displayedRange.end-1)}}},oi=ri,ai=(n("fae5"),Object(_["a"])(oi,si,ii,!1,null,"5ad4e037",null)),ci=ai.exports,li=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"toggle-preview"},[e.isActionable?n("a",{staticClass:"toggle-text",attrs:{href:"#"},on:{click:function(t){return t.preventDefault(),e.$emit("click")}}},[e._v(" "+e._s(e.$tc("tutorials.preview.title",1))+" "),n("InlinePlusCircleIcon",{staticClass:"toggle-icon icon-inline"})],1):n("span",{staticClass:"toggle-text"},[e._v(" "+e._s(e.$tc("tutorials.preview.title",0))+" ")])])},ui=[],di=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"inline-plus-circle-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-plus-circle"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5v0c0-3.038-2.462-5.5-5.5-5.5v0z"}}),n("path",{attrs:{d:"M4 6.52h6v1h-6v-1z"}}),n("path",{attrs:{d:"M6.5 4.010h1v6h-1v-6z"}})])},pi=[],hi={name:"InlinePlusCircleIcon",components:{SVGIcon:y["a"]}},mi=hi,fi=Object(_["a"])(mi,di,pi,!1,null,null,null),vi=fi.exports,bi={name:"MobileCodePreviewToggle",components:{InlinePlusCircleIcon:vi},props:{isActionable:{type:Boolean,required:!0}}},gi=bi,yi=(n("bf0a"),Object(_["a"])(gi,li,ui,!1,null,"78763c14",null)),Ci=yi.exports,wi={name:"MobileCodePreview",inject:["isTargetIDE"],mixins:[T["a"]],components:{GenericModal:Jt["a"],CodeListing:Ms["a"],MobileCodeListing:ci,PreviewToggle:Ci,CodeTheme:Ls["a"],BackgroundTheme:Ys},props:{code:{type:String,required:!0}},computed:{codeProps(){return this.references[this.code]},modalBackgroundColor(){const{codeColors:e}=this.store.state;return e?e.background:null}},data(){return{previewIsVisible:!1,fullCodeIsVisible:!1}},methods:{togglePreview(){this.previewIsVisible=!this.previewIsVisible},toggleFullCode(){this.fullCodeIsVisible=!this.fullCodeIsVisible}}},_i=wi,ki=(n("3fcc"),Object(_["a"])(_i,ti,ni,!1,null,"1aed4baa",null)),Si=ki.exports;const{BreakpointName:xi}=o["a"].constants;var Ti={name:"Step",components:{Asset:Ae["a"],MobileCodePreview:Si,ContentNode:Ne["default"]},inject:["isTargetIDE","isClientMobile","store"],props:{code:{type:String,required:!1},content:{type:Array,required:!0},caption:{type:Array,required:!1},media:{type:String,required:!1},runtimePreview:{type:String,required:!1},sectionNumber:{type:Number,required:!0},stepNumber:{type:Number,required:!0},numberOfSteps:{type:Number,required:!0},index:{type:Number,required:!0},currentIndex:{type:Number,required:!0}},data(){return{tutorialState:this.store.state}},computed:{isBreakpointSmall(){return this.tutorialState.breakpoint===xi.small},isActive:({index:e,currentIndex:t})=>e===t}},Ii=Ti,Ai=(n("c643"),Object(_["a"])(Ii,Zs,ei,!1,null,"eb45ec92",null)),$i=Ai.exports;const{BreakpointName:Oi}=o["a"].constants,{IntersectionDirections:Ni}=Je["a"].constants,Pi="-35% 0% -65% 0%";var qi={name:"SectionSteps",components:{ContentNode:Ne["default"],Step:$i,Asset:Ae["a"],CodePreview:zs,BackgroundTheme:Ys},mixins:[Je["a"]],constants:{IntersectionMargins:Pi},inject:["isTargetIDE","store"],data(){const e=this.content.findIndex(this.isStepNode),{code:t,media:n,runtimePreview:s}=this.content[e]||{};return{tutorialState:this.store.state,visibleAsset:{media:n,code:t,runtimePreview:s},activeStep:e}},computed:{assetContainerClasses(){return{"for-step-code":!!this.visibleAsset.code,ide:this.isTargetIDE}},numberOfSteps(){return this.content.filter(this.isStepNode).length},contentNodes(){return this.content.reduce(({stepCounter:e,nodes:t},n,s)=>{const{type:i,...r}=n,o=this.isStepNode(n),a=o?e+1:e;return o?{stepCounter:e+1,nodes:t.concat({component:$i,type:i,props:{...r,stepNumber:a,index:s,numberOfSteps:this.numberOfSteps,sectionNumber:this.sectionNumber}})}:{stepCounter:e,nodes:t.concat({component:Ne["default"],type:i,props:{content:[n]}})}},{stepCounter:0,nodes:[]}).nodes},isBreakpointSmall(){return this.tutorialState.breakpoint===Oi.small},stepNodes:({contentNodes:e,isStepNode:t})=>e.filter(t),intersectionRootMargin:()=>Pi},async mounted(){await Object(Gs["b"])(8),this.findClosestStepNode()},methods:{isStepNode({type:e}){return"step"===e},contentClass(e){return{["interstitial interstitial-"+(e+1)]:!this.isStepNode(this.content[e])}},onReverseIntoLastStep(){const{asset:e}=this.$refs;if(e){const t=e.$el.querySelector("video");t&&(t.currentTime=0,t.play().catch(()=>{}))}},onFocus(e){const{code:t,media:n,runtimePreview:s}=this.content[e];this.activeStep=e,this.visibleAsset={code:t,media:n,runtimePreview:s}},onRuntimePreviewToggle(e){this.$emit("runtime-preview-toggle",e)},findClosestStepNode(){const e=.333*window.innerHeight;let t=null,n=0;this.stepNodes.forEach(s=>{const{index:i}=s.props,r=this.$refs.contentNodes[i].$refs.step;if(!r)return;const{top:o,bottom:a}=r.getBoundingClientRect(),c=o-e,l=a-e,u=Math.abs(c+l);(0===n||u<=n)&&(n=u,t=i)}),null!==t&&this.onFocus(t)},getIntersectionTargets(){const{stepNodes:e,$refs:t}=this;return e.map(({props:{index:e}})=>t.contentNodes[e].$refs.step)},onIntersect(e){const{target:t,isIntersecting:n}=e;if(!n)return;const s=parseFloat(t.getAttribute("data-index"));this.intersectionScrollDirection===Ni.down&&s===this.stepNodes[this.stepNodes.length-1].props.index&&this.onReverseIntoLastStep(),this.onFocus(s)}},props:{content:{type:Array,required:!0},isRuntimePreviewVisible:{type:Boolean,require:!0},sectionNumber:{type:Number,required:!0}}},Di=qi,ji=(n("d4f3"),Object(_["a"])(Di,qs,Ds,!1,null,"2786be2a",null)),Ri=ji.exports,Mi={name:"Section",components:{Intro:Ps,LinkableSection:tt,Steps:Ri},computed:{introProps(){const[{content:e,media:t},...n]=this.contentSection;return{content:e,expandedSections:n,media:t,sectionAnchor:this.anchor,sectionNumber:this.sectionNumber,title:this.title}}},props:{anchor:{type:String,required:!0},title:{type:String,required:!0},contentSection:{type:Array,required:!0},stepsSection:{type:Array,required:!0},sectionNumber:{type:Number,required:!0},isRuntimePreviewVisible:{type:Boolean,required:!0}},methods:{onRuntimePreviewToggle(e){this.$emit("runtime-preview-toggle",e)}}},Bi=Mi,Li=(n("9dc4"),Object(_["a"])(Bi,xs,Ts,!1,null,"6b3a0b3a",null)),Ei=Li.exports,Fi={name:"SectionList",components:{Section:Ei},data(){return{isRuntimePreviewVisible:!0}},props:{tasks:{type:Array,required:!0}},methods:{onRuntimePreviewToggle(e){this.isRuntimePreviewVisible=e}}},Vi=Fi,Ui=(n("4d07"),Object(_["a"])(Vi,ks,Ss,!1,null,"79a75e9e",null)),Hi=Ui.exports;const zi={assessments:ls,hero:Sn,tasks:Hi,callToAction:Pt},Gi=new Set(Object.keys(zi)),Wi={name:"TutorialSection",render:function(e){const{kind:t,...n}=this.section,s=zi[t];return s?e(s,{props:n}):null},props:{section:{type:Object,required:!0,validator:e=>Gi.has(e.kind)}}};var Qi={name:"Tutorial",mixins:[we["a"],_s["a"]],components:{NavigationBar:Ce,Section:Wi,PortalTarget:h["PortalTarget"],BreakpointEmitter:o["a"]},inject:["isTargetIDE","store"],computed:{heroSection(){return this.sections.find(({kind:e})=>"hero"===e)},tutorialTitle(){return(this.heroSection||{}).title},pageTitle(){return this.tutorialTitle?`${this.tutorialTitle} — ${this.metadata.category} Tutorials`:void 0},pageDescription:({heroSection:e,extractFirstParagraphText:t})=>e?t(e.content):null},props:{sections:{type:Array,required:!0},references:{type:Object,required:!0},hierarchy:{type:Object,required:!0},metadata:{type:Object,required:!0},identifierUrl:{type:String,required:!0}},methods:{handleBreakpointChange(e){this.store.updateBreakpoint(e)},handleCodeColorsChange(e){ws["a"].updateCodeColors(e)}},created(){m["a"].setAvailableLocales(this.metadata.availableLocales),this.store.reset(),this.store.setReferences(this.references)},watch:{references(e){this.store.setReferences(e)},"metadata.availableLocales":function(e){m["a"].setAvailableLocales(e)}},mounted(){this.$bridge.on("codeColors",this.handleCodeColorsChange),this.$bridge.send({type:"requestCodeColors"})},provide(){return{isClientMobile:this.isClientMobile}},beforeDestroy(){this.$bridge.off("codeColors",this.handleCodeColorsChange)}},Ki=Qi,Xi=(n("424f"),Object(_["a"])(Ki,ys,Cs,!1,null,"611d0574",null)),Ji=Xi.exports,Yi=n("0caf"),Zi=n("146e");const er={article:"article",tutorial:"project"};var tr={name:"Topic",inject:{isTargetIDE:{default:!1}},mixins:[Yi["a"],Zi["a"]],data(){return{topicData:null}},computed:{navigationBarHeight(){return this.isTargetIDE?0:52},store(){return u},hierarchy(){const{hierarchy:e={}}=this.topicData,{technologyNavigation:t=["overview","tutorials","resources"]}=e||{};return{...e,technologyNavigation:t}},topicKey:({$route:e,topicData:t})=>[e.path,t.identifier.interfaceLanguage].join()},beforeRouteEnter(e,t,n){e.meta.skipFetchingData?n(e=>e.newContentMounted()):Object(r["c"])(e,t,n).then(e=>n(t=>{t.topicData=e})).catch(n)},beforeRouteUpdate(e,t,n){Object(r["e"])(e,t)?Object(r["c"])(e,t,n).then(e=>{this.topicData=e,n()}).catch(n):n()},created(){this.store.reset()},mounted(){this.$bridge.on("contentUpdate",this.handleContentUpdateFromBridge)},beforeDestroy(){this.$bridge.off("contentUpdate",this.handleContentUpdateFromBridge)},methods:{componentFor(e){const{kind:t}=e;return{[er.article]:gs,[er.tutorial]:Ji}[t]},propsFor(e){const{hierarchy:t,kind:n,metadata:s,references:i,sections:r,identifier:o}=e;return{[er.article]:{hierarchy:t,metadata:s,references:i,sections:r,identifierUrl:o.url},[er.tutorial]:{hierarchy:t,metadata:s,references:i,sections:r,identifierUrl:o.url}}[n]}},provide(){return{navigationBarHeight:this.navigationBarHeight,store:this.store}},watch:{topicData(){this.$nextTick(()=>{this.newContentMounted()})}}},nr=tr,sr=Object(_["a"])(nr,s,i,!1,null,null,null);t["default"]=sr.exports},"32b1":function(e,t,n){},"33ff":function(e,t,n){"use strict";n("4e3e")},3976:function(e,t,n){"use strict";n("0c11")},"3e1b":function(e,t,n){"use strict";n("c5c1")},"3fcc":function(e,t,n){"use strict";n("0c14")},"424f":function(e,t,n){"use strict";n("99b6")},4718:function(e,t,n){},"4b4a":function(e,t,n){},"4d07":function(e,t,n){"use strict";n("b52e")},"4e3e":function(e,t,n){},5237:function(e,t,n){"use strict";n("4b4a")},"525c":function(e,t,n){},5892:function(e,t,n){},5913:function(e,t,n){},"63a8":function(e,t,n){},"653a":function(e,t,n){"use strict";var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("router-link",{staticClass:"nav-title-content",attrs:{to:e.to}},[n("span",{staticClass:"title"},[e._t("default")],2),n("span",{staticClass:"subhead"},[e._v(" "),e._t("subhead")],2)])},i=[],r={name:"NavTitleContainer",props:{to:{type:[String,Object],required:!0}}},o=r,a=(n("f1e6"),n("2877")),c=Object(a["a"])(o,s,i,!1,null,"854b4dd6",null);t["a"]=c.exports},6866:function(e,t,n){"use strict";n("5892")},7096:function(e,t,n){},"735b":function(e,t,n){},7748:function(e,t,n){},"79ef":function(e,t,n){"use strict";n("bcaa")},"7b17":function(e,t,n){},"7f7b":function(e,t,n){"use strict";n("735b")},"7fae":function(e,t,n){"use strict";n("a53d")},9924:function(e,t,n){},9938:function(e,t,n){"use strict";n("d513")},"99b6":function(e,t,n){},"9dc4":function(e,t,n){"use strict";n("fe9d")},a0d4:function(e,t,n){},a40c:function(e,t,n){},a53d:function(e,t,n){},a95e:function(e,t,n){},aa4c:function(e,t,n){},aece:function(e,t,n){"use strict";n("c0df")},b27b:function(e,t,n){"use strict";n("2a05")},b52e:function(e,t,n){},bcaa:function(e,t,n){},bf0a:function(e,t,n){"use strict";n("4718")},c0df:function(e,t,n){},c5c1:function(e,t,n){},c643:function(e,t,n){"use strict";n("9924")},c7dd:function(e,t,n){"use strict";n("aa4c")},cb8d:function(e,t,n){"use strict";n("0466")},d4f3:function(e,t,n){"use strict";n("fc13")},d513:function(e,t,n){},d86f:function(e,t,n){},da20:function(e,t,n){"use strict";n("a40c")},de60:function(e,t,n){"use strict";var s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("SVGIcon",{staticClass:"download-icon",attrs:{viewBox:"0 0 14 14",themeId:"download"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5z"}}),n("path",{attrs:{d:"M7.51 2.964l-0.001 5.431 1.308-2.041 0.842 0.539-2.664 4.162-2.633-4.164 0.845-0.534 1.303 2.059 0.001-5.452z"}})])},i=[],r=n("be08"),o={name:"DownloadIcon",components:{SVGIcon:r["a"]}},a=o,c=n("2877"),l=Object(c["a"])(a,s,i,!1,null,null,null);t["a"]=l.exports},e38e:function(e,t,n){},e688:function(e,t,n){"use strict";n("5913")},e84c:function(e,t,n){"use strict";n("d86f")},e9b0:function(e,t,n){"use strict";n("ee09")},ea88:function(e,t,n){"use strict";n("ed98")},ed71:function(e,t,n){"use strict";n("7096")},ed98:function(e,t,n){},ee09:function(e,t,n){},f1e6:function(e,t,n){"use strict";n("a0d4")},f264:function(e,t,n){"use strict";n("63a8")},fae5:function(e,t,n){"use strict";n("32b1")},fc13:function(e,t,n){},fe9d:function(e,t,n){}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/js/tutorials-overview.2a32cd6f.js b/document/MixSdk.doccarchive/js/tutorials-overview.2a32cd6f.js
new file mode 100644 (file)
index 0000000..3025a8a
--- /dev/null
@@ -0,0 +1,10 @@
+/*!
+ * This source file is part of the Swift.org open source project
+ * 
+ * Copyright (c) 2021 Apple Inc. and the Swift project authors
+ * Licensed under Apache License v2.0 with Runtime Library Exception
+ * 
+ * See https://swift.org/LICENSE.txt for license information
+ * See https://swift.org/CONTRIBUTORS.txt for Swift project authors
+ */
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["tutorials-overview"],{"032c":function(t,e,n){"use strict";n("9b79")},"0b61":function(t,e,n){},"13d5":function(t,e,n){},"15ac":function(t,e,n){"use strict";n("ddf1")},"17d2":function(t,e,n){},"202a":function(t,e,n){"use strict";n("5899")},"277b":function(t,e,n){"use strict";n("60ca")},"29e3":function(t,e,n){"use strict";n("0b61")},3233:function(t,e,n){"use strict";n("8d8f")},4230:function(t,e,n){"use strict";n("52f5")},"441c":function(t,e,n){},"52f5":function(t,e,n){},5899:function(t,e,n){},"60ca":function(t,e,n){},"653a":function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("router-link",{staticClass:"nav-title-content",attrs:{to:t.to}},[n("span",{staticClass:"title"},[t._t("default")],2),n("span",{staticClass:"subhead"},[t._v(" "),t._t("subhead")],2)])},s=[],a={name:"NavTitleContainer",props:{to:{type:[String,Object],required:!0}}},o=a,r=(n("f1e6"),n("2877")),c=Object(r["a"])(o,i,s,!1,null,"854b4dd6",null);e["a"]=c.exports},6899:function(t,e,n){"use strict";n("441c")},"6fb0":function(t,e,n){"use strict";n("eec8")},"7c60":function(t,e,n){},"8d8f":function(t,e,n){},"8f86":function(t,e,n){},9359:function(t,e,n){"use strict";n("9e08")},9792:function(t,e,n){"use strict";n("c8c8")},"9b79":function(t,e,n){},"9e08":function(t,e,n){},a0d4:function(t,e,n){},a975:function(t,e,n){"use strict";n("7c60")},aebc:function(t,e,n){"use strict";n("c0c9")},b9bf:function(t,e,n){"use strict";n("13d5")},c0c9:function(t,e,n){},c8c8:function(t,e,n){},ca4e:function(t,e,n){"use strict";n("17d2")},ddf1:function(t,e,n){},de60:function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"download-icon",attrs:{viewBox:"0 0 14 14",themeId:"download"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5s2.91-6.5 6.5-6.5zM7 1.5c-3.038 0-5.5 2.462-5.5 5.5s2.462 5.5 5.5 5.5c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5z"}}),n("path",{attrs:{d:"M7.51 2.964l-0.001 5.431 1.308-2.041 0.842 0.539-2.664 4.162-2.633-4.164 0.845-0.534 1.303 2.059 0.001-5.452z"}})])},s=[],a=n("be08"),o={name:"DownloadIcon",components:{SVGIcon:a["a"]}},r=o,c=n("2877"),l=Object(c["a"])(r,i,s,!1,null,null,null);e["a"]=l.exports},dfc1:function(t,e,n){},ed64:function(t,e,n){"use strict";n("dfc1")},eec8:function(t,e,n){},f025:function(t,e,n){"use strict";n.r(e);var i,s,a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.topicData?n("Overview",t._b({key:t.topicKey},"Overview",t.overviewProps,!1)):t._e()},o=[],r=n("25a9"),c=n("0caf"),l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"tutorials-overview"},[t.isTargetIDE?t._e():n("Nav",{staticClass:"theme-dark",attrs:{sections:t.otherSections}},[t._v(" "+t._s(t.title)+" ")]),n("main",{staticClass:"main",attrs:{id:"main",role:"main",tabindex:"0"}},[n("div",{staticClass:"radial-gradient"},[t._t("above-hero"),t.heroSection?n("Hero",{attrs:{action:t.heroSection.action,content:t.heroSection.content,estimatedTime:t.metadata.estimatedTime,image:t.heroSection.image,title:t.heroSection.title}}):t._e()],2),t.otherSections.length>0?n("LearningPath",{attrs:{sections:t.otherSections}}):t._e()],1)],1)},u=[],m=n("e425"),d={state:{activeTutorialLink:null,activeVolume:null,references:{}},reset(){this.state.activeTutorialLink=null,this.state.activeVolume=null,this.state.references={}},setActiveSidebarLink(t){this.state.activeTutorialLink=t},setActiveVolume(t){this.state.activeVolume=t},setReferences(t){this.state.references=t}},p=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("NavBase",[n("NavTitleContainer",{attrs:{to:t.buildUrl(t.$route.path,t.$route.query)}},[n("template",{slot:"default"},[t._t("default")],2),n("template",{slot:"subhead"},[t._v(t._s(t.$tc("tutorials.title",2)))])],2),n("template",{slot:"menu-items"},[n("NavMenuItemBase",{staticClass:"in-page-navigation"},[n("TutorialsNavigation",{attrs:{sections:t.sections}})],1),t._t("menu-items")],2)],2)},h=[],v=n("cbcf"),f=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("nav",{staticClass:"tutorials-navigation"},[n("TutorialsNavigationList",t._l(t.sections,(function(e,i){return n("li",{key:e.name+"_"+i,class:t.sectionClasses(e)},[t.isVolume(e)?n(t.componentForVolume(e),t._b({tag:"component",on:{"select-menu":t.onSelectMenu,"deselect-menu":t.onDeselectMenu}},"component",t.propsForVolume(e),!1),t._l(e.chapters,(function(e){return n("li",{key:e.name},[n("TutorialsNavigationLink",[t._v(" "+t._s(e.name)+" ")])],1)})),0):t.isResources(e)?n("TutorialsNavigationLink",[t._v(" "+t._s(t.$t("sections.resources"))+" ")]):t._e()],1)})),0)],1)},b=[],_=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("router-link",{staticClass:"tutorials-navigation-link",class:{active:t.active},attrs:{to:t.fragment},nativeOn:{click:function(e){return t.handleFocusAndScroll(t.fragment.hash)}}},[t._t("default")],2)},g=[],C=n("002d"),y=n("8a61"),T={name:"TutorialsNavigationLink",mixins:[y["a"]],inject:{store:{default:()=>({state:{}})}},data(){return{state:this.store.state}},computed:{active:({state:{activeTutorialLink:t},text:e})=>e===t,fragment:({text:t,$route:e})=>({hash:Object(C["a"])(t),query:e.query}),text:({$slots:{default:[{text:t}]}})=>t.trim()}},S=T,V=(n("6fb0"),n("2877")),k=Object(V["a"])(S,_,g,!1,null,"e9f9b59c",null),I=k.exports,x=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ol",{staticClass:"tutorials-navigation-list",attrs:{role:"list"}},[t._t("default")],2)},N=[],O={name:"TutorialsNavigationList"},$=O,j=(n("202a"),Object(V["a"])($,x,N,!1,null,"6f2800d1",null)),A=j.exports,w=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"tutorials-navigation-menu",class:{collapsed:t.collapsed}},[n("button",{staticClass:"toggle",attrs:{"aria-expanded":t.collapsed?"false":"true",type:"button"},on:{click:function(e){return e.stopPropagation(),t.onClick.apply(null,arguments)}}},[n("span",{staticClass:"text"},[t._v(t._s(t.title))]),n("InlineCloseIcon",{staticClass:"toggle-icon icon-inline"})],1),n("transition-expand",[t.collapsed?t._e():n("div",{staticClass:"tutorials-navigation-menu-content"},[n("TutorialsNavigationList",{attrs:{"aria-label":t.$t("tutorials.nav.chapters")}},[t._t("default")],2)],1)])],1)},q=[],L=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"inline-close-icon",attrs:{viewBox:"0 0 14 14",themeId:"inline-close"}},[n("path",{attrs:{d:"M11.91 1l1.090 1.090-4.917 4.915 4.906 4.905-1.090 1.090-4.906-4.905-4.892 4.894-1.090-1.090 4.892-4.894-4.903-4.904 1.090-1.090 4.903 4.904z"}})])},E=[],M=n("be08"),D={name:"InlineCloseIcon",components:{SVGIcon:M["a"]}},F=D,R=Object(V["a"])(F,L,E,!1,null,null,null),B=R.exports,G={name:"TransitionExpand",functional:!0,render(t,e){const n={props:{name:"expand"},on:{afterEnter(t){t.style.height="auto"},enter(t){const{width:e}=getComputedStyle(t);t.style.width=e,t.style.position="absolute",t.style.visibility="hidden",t.style.height="auto";const{height:n}=getComputedStyle(t);t.style.width=null,t.style.position=null,t.style.visibility=null,t.style.height=0,getComputedStyle(t).height,requestAnimationFrame(()=>{t.style.height=n})},leave(t){const{height:e}=getComputedStyle(t);t.style.height=e,getComputedStyle(t).height,requestAnimationFrame(()=>{t.style.height=0})}}};return t("transition",n,e.children)}},z=G,P=(n("032c"),Object(V["a"])(z,i,s,!1,null,null,null)),H=P.exports,K={name:"TutorialsNavigationMenu",components:{InlineCloseIcon:B,TransitionExpand:H,TutorialsNavigationList:A},props:{collapsed:{type:Boolean,default:!0},title:{type:String,required:!0}},methods:{onClick(){this.collapsed?this.$emit("select-menu",this.title):this.$emit("deselect-menu")}}},U=K,Z=(n("277b"),Object(V["a"])(U,w,q,!1,null,"489416f8",null)),J=Z.exports;const Q={resources:"resources",volume:"volume"};var W={name:"TutorialsNavigation",components:{TutorialsNavigationLink:I,TutorialsNavigationList:A,TutorialsNavigationMenu:J},constants:{SectionKind:Q},inject:{store:{default:()=>({setActiveVolume(){}})}},data(){return{state:this.store.state}},props:{sections:{type:Array,required:!0}},computed:{activeVolume:({state:t})=>t.activeVolume},methods:{sectionClasses(t){return{volume:this.isVolume(t),"volume--named":this.isNamedVolume(t),resource:this.isResources(t)}},componentForVolume:({name:t})=>t?J:A,isResources:({kind:t})=>t===Q.resources,isVolume:({kind:t})=>t===Q.volume,activateFirstNamedVolume(){const{isNamedVolume:t,sections:e}=this,n=e.find(t);n&&this.store.setActiveVolume(n.name)},isNamedVolume(t){return this.isVolume(t)&&t.name},onDeselectMenu(){this.store.setActiveVolume(null)},onSelectMenu(t){this.store.setActiveVolume(t)},propsForVolume({name:t}){const{activeVolume:e}=this;return t?{collapsed:t!==e,title:t}:{"aria-label":"Chapters"}}},created(){this.activateFirstNamedVolume()}},X=W,Y=(n("a975"),Object(V["a"])(X,f,b,!1,null,"79093ed6",null)),tt=Y.exports,et=n("653a"),nt=n("d26a"),it=n("863d");const st={resources:"resources",volume:"volume"};var at={name:"Nav",constants:{SectionKind:st},components:{NavMenuItemBase:it["a"],NavTitleContainer:et["a"],TutorialsNavigation:tt,NavBase:v["a"]},props:{sections:{type:Array,require:!0}},methods:{buildUrl:nt["b"]}},ot=at,rt=(n("9359"),Object(V["a"])(ot,p,h,!1,null,"b806ee20",null)),ct=rt.exports,lt=n("bf08"),ut=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"hero"},[n("div",{staticClass:"copy-container"},[n("h1",{staticClass:"title"},[t._v(t._s(t.title))]),t.content?n("ContentNode",{attrs:{content:t.content}}):t._e(),t.estimatedTime?n("p",{staticClass:"meta"},[n("TimerIcon"),n("span",{staticClass:"meta-content"},[n("strong",{staticClass:"time"},[t._v(t._s(t.estimatedTime))]),n("span",[t._v(" "+t._s(t.$t("tutorials.estimated-time")))])])],1):t._e(),t.action?n("CallToActionButton",{attrs:{action:t.action,"aria-label":t.$t("tutorials.overriding-title",{newTitle:t.action.overridingTitle,title:t.title}),isDark:""}}):t._e()],1),t.image?n("Asset",{attrs:{identifier:t.image}}):t._e()],1)},mt=[],dt=n("80e4"),pt=n("c081"),ht=n("5677"),vt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"timer-icon",attrs:{viewBox:"0 0 14 14",themeId:"timer"}},[n("path",{attrs:{d:"M7 0.5c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5c-3.59 0-6.5-2.91-6.5-6.5v0c0-3.59 2.91-6.5 6.5-6.5v0zM7 2c-2.761 0-5 2.239-5 5s2.239 5 5 5c2.761 0 5-2.239 5-5v0c0-2.761-2.239-5-5-5v0z"}}),n("path",{attrs:{d:"M6.51 3.51h1.5v3.5h-1.5v-3.5z"}}),n("path",{attrs:{d:"M6.51 7.010h4v1.5h-4v-1.5z"}})])},ft=[],bt={name:"TimerIcon",components:{SVGIcon:M["a"]}},_t=bt,gt=Object(V["a"])(_t,vt,ft,!1,null,null,null),Ct=gt.exports,yt={name:"Hero",components:{Asset:dt["a"],CallToActionButton:pt["a"],ContentNode:ht["default"],TimerIcon:Ct},props:{action:{type:Object,required:!1},content:{type:Array,required:!1},estimatedTime:{type:String,required:!1},image:{type:String,required:!1},title:{type:String,required:!0}}},Tt=yt,St=(n("29e3"),Object(V["a"])(Tt,ut,mt,!1,null,"383dab71",null)),Vt=St.exports,kt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"learning-path",class:t.classes},[n("div",{staticClass:"main-container"},[t.isTargetIDE?t._e():n("div",{staticClass:"secondary-content-container"},[n("TutorialsNavigation",{attrs:{sections:t.sections,"aria-label":t.$t("sections.on-this-page")}})],1),n("div",{staticClass:"primary-content-container"},[n("div",{staticClass:"content-sections-container"},[t._l(t.volumes,(function(e,i){return n("Volume",t._b({key:"volume_"+i,staticClass:"content-section"},"Volume",t.propsFor(e),!1))})),t._l(t.otherSections,(function(e,i){return n(t.componentFor(e),t._b({key:"resource_"+i,tag:"component",staticClass:"content-section"},"component",t.propsFor(e),!1))}))],2)])])])},It=[],xt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"resources",attrs:{id:"resources",tabindex:"-1"}},[n("VolumeName",{attrs:{name:t.$t("sections.resources"),content:t.content}}),n("TileGroup",{attrs:{tiles:t.tiles}})],1)},Nt=[],Ot=n("72e7");const $t={topOneThird:"-30% 0% -70% 0%",center:"-50% 0% -50% 0%"};var jt={mixins:[Ot["a"]],computed:{intersectionRoot(){return null},intersectionRootMargin(){return $t.center}},methods:{onIntersect(t){if(!t.isIntersecting)return;const e=this.onIntersectViewport;e?e():console.warn("onIntersectViewportCenter not implemented")}}},At=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"volume-name"},[t.image?n("Asset",{staticClass:"image",attrs:{identifier:t.image,"aria-hidden":"true"}}):t._e(),n("h2",{staticClass:"name"},[t._v(" "+t._s(t.name)+" ")]),t.content?n("ContentNode",{attrs:{content:t.content}}):t._e()],1)},wt=[],qt={name:"VolumeName",components:{ContentNode:ht["default"],Asset:dt["a"]},props:{image:{type:String,required:!1},content:{type:Array,required:!1},name:{type:String,required:!1}}},Lt=qt,Et=(n("ca4e"),Object(V["a"])(Lt,At,wt,!1,null,"569db166",null)),Mt=Et.exports,Dt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"tile-group",class:t.countClass},t._l(t.tiles,(function(e){return n("Tile",t._b({key:e.title},"Tile",t.propsFor(e),!1))})),1)},Ft=[],Rt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"tile"},[t.identifier?n("div",{staticClass:"icon"},[n(t.iconComponent,{tag:"component"})],1):t._e(),n("div",{staticClass:"title"},[t._v(t._s(t.title))]),n("ContentNode",{attrs:{content:t.content}}),t.action?n("DestinationDataProvider",{attrs:{destination:t.action},scopedSlots:t._u([{key:"default",fn:function(e){var i=e.url,s=e.title;return n("Reference",{staticClass:"link",attrs:{url:i}},[t._v(" "+t._s(s)+" "),n("InlineChevronRightIcon",{staticClass:"link-icon icon-inline"})],1)}}],null,!1,3874201962)}):t._e()],1)},Bt=[],Gt=n("3b96"),zt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"document-icon",attrs:{viewBox:"0 0 14 14",themeId:"document"}},[n("path",{attrs:{d:"M11.2,5.3,8,2l-.1-.1H2.8V12.1h8.5V6.3l-.1-1ZM8,3.2l2,2.1H8Zm2.4,8H3.6V2.8H7V6.3h3.4Z"}})])},Pt=[],Ht={name:"DocumentIcon",components:{SVGIcon:M["a"]}},Kt=Ht,Ut=(n("3233"),Object(V["a"])(Kt,zt,Pt,!1,null,"3a80772b",null)),Zt=Ut.exports,Jt=n("de60"),Qt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("SVGIcon",{staticClass:"forum-icon",attrs:{viewBox:"0 0 14 14",themeId:"forum"}},[n("path",{attrs:{d:"M13 1v9h-7l-1.5 3-1.5-3h-2v-9zM12 2h-10v7h1.616l0.884 1.763 0.88-1.763h6.62z"}}),n("path",{attrs:{d:"M3 4h8.001v1h-8.001v-1z"}}),n("path",{attrs:{d:"M3 6h8.001v1h-8.001v-1z"}})])},Wt=[],Xt={name:"ForumIcon",components:{SVGIcon:M["a"]}},Yt=Xt,te=Object(V["a"])(Yt,Qt,Wt,!1,null,null,null),ee=te.exports,ne=n("c4dd"),ie=n("86d8"),se=n("34b0"),ae=n("c7ea");const oe={documentation:"documentation",downloads:"downloads",featured:"featured",forums:"forums",sampleCode:"sampleCode",videos:"videos"};var re={name:"Tile",constants:{Identifier:oe},components:{DestinationDataProvider:ae["a"],InlineChevronRightIcon:se["a"],ContentNode:ht["default"],CurlyBracketsIcon:Gt["a"],DocumentIcon:Zt,DownloadIcon:Jt["a"],ForumIcon:ee,PlayIcon:ne["a"],Reference:ie["a"]},props:{action:{type:Object,required:!1},content:{type:Array,required:!0},identifier:{type:String,required:!1},title:{type:String,require:!0}},computed:{iconComponent:({identifier:t})=>({[oe.documentation]:Zt,[oe.downloads]:Jt["a"],[oe.forums]:ee,[oe.sampleCode]:Gt["a"],[oe.videos]:ne["a"]}[t])}},ce=re,le=(n("6899"),Object(V["a"])(ce,Rt,Bt,!1,null,"96abac22",null)),ue=le.exports,me={name:"TileGroup",components:{Tile:ue},props:{tiles:{type:Array,required:!0}},computed:{countClass:({tiles:t})=>"count-"+t.length},methods:{propsFor:({action:t,content:e,identifier:n,title:i})=>({action:t,content:e,identifier:n,title:i})}},de=me,pe=(n("f0ca"),Object(V["a"])(de,Dt,Ft,!1,null,"015f9f13",null)),he=pe.exports,ve={name:"Resources",mixins:[jt],inject:{store:{default:()=>({setActiveSidebarLink(){},setActiveVolume(){}})}},components:{VolumeName:Mt,TileGroup:he},computed:{intersectionRootMargin:()=>$t.topOneThird},props:{content:{type:Array,required:!1},tiles:{type:Array,required:!0}},methods:{onIntersectViewport(){this.store.setActiveSidebarLink("Resources"),this.store.setActiveVolume(null)}}},fe=ve,be=(n("ed64"),Object(V["a"])(fe,xt,Nt,!1,null,"7f8022c1",null)),_e=be.exports,ge=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"volume"},[t.name?n("VolumeName",t._b({},"VolumeName",{name:t.name,image:t.image,content:t.content},!1)):t._e(),t._l(t.chapters,(function(e,i){return n("Chapter",{key:e.name,staticClass:"tile",attrs:{content:e.content,image:e.image,name:e.name,number:i+1,topics:t.lookupTopics(e.tutorials),volumeHasName:!!t.name}})}))],2)},Ce=[],ye=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"chapter",attrs:{id:t.anchor,tabindex:"-1"}},[n("div",{staticClass:"info"},[n("Asset",{attrs:{identifier:t.image,"aria-hidden":"true"}}),n("div",{staticClass:"intro"},[n(t.volumeHasName?"h3":"h2",{tag:"component",staticClass:"name",attrs:{"aria-label":t.name+" - "+t.$tc("tutorials.sections.chapter",{number:t.number})}},[n("span",{staticClass:"eyebrow",attrs:{"aria-hidden":"true"}},[t._v(" "+t._s(t.$t("tutorials.sections.chapter",{number:t.number}))+" ")]),n("span",{staticClass:"name-text",attrs:{"aria-hidden":"true"}},[t._v(t._s(t.name))])]),t.content?n("ContentNode",{attrs:{content:t.content}}):t._e()],1)],1),n("TopicList",{attrs:{topics:t.topics}})],1)},Te=[],Se=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ol",{staticClass:"topic-list"},t._l(t.topics,(function(e){return n("li",{key:e.url,staticClass:"topic",class:[t.kindClassFor(e),{"no-time-estimate":!e.estimatedTime}]},[n("div",{staticClass:"topic-icon"},[n(t.iconComponent(e),{tag:"component"})],1),n("router-link",{staticClass:"container",attrs:{to:t.buildUrl(e.url,t.$route.query),"aria-label":t.ariaLabelFor(e)}},[n("div",{staticClass:"link"},[t._v(t._s(e.title))]),e.estimatedTime?n("div",{staticClass:"time"},[n("TimerIcon"),n("span",{staticClass:"time-label"},[t._v(t._s(e.estimatedTime))])],1):t._e()])],1)})),0)},Ve=[],ke=n("a9f1"),Ie=n("8d2d");const xe={article:"article",tutorial:"project"},Ne={article:"article",tutorial:"tutorial"},Oe={[xe.article]:"Article",[xe.tutorial]:"Tutorial"};var $e={name:"ChapterTopicList",components:{TimerIcon:Ct},constants:{TopicKind:xe,TopicKindClass:Ne,TopicKindIconLabel:Oe},props:{topics:{type:Array,required:!0}},methods:{buildUrl:nt["b"],iconComponent:({kind:t})=>({[xe.article]:ke["a"],[xe.tutorial]:Ie["a"]}[t]),kindClassFor:({kind:t})=>({[xe.article]:Ne.article,[xe.tutorial]:Ne.tutorial}[t]),formatTime(t){return t.replace("min"," "+this.$t("tutorials.time.minutes.full")).replace("hrs"," "+this.$t("tutorials.time.hours.full"))},ariaLabelFor(t){const{title:e,estimatedTime:n,kind:i}=t,s=[e,Oe[i]];return n&&s.push(`${this.formatTime(n)} ${this.$t("tutorials.estimated-time")}`),s.join(" - ")}}},je=$e,Ae=(n("9792"),Object(V["a"])(je,Se,Ve,!1,null,"45ec37c5",null)),we=Ae.exports,qe={name:"Chapter",mixins:[jt],inject:{store:{default:()=>({setActiveSidebarLink(){},setActiveVolume(){}})}},components:{Asset:dt["a"],ContentNode:ht["default"],TopicList:we},props:{content:{type:Array,required:!1},image:{type:String,required:!0},name:{type:String,required:!0},number:{type:Number,required:!0},topics:{type:Array,required:!0},volumeHasName:{type:Boolean,default:!1}},computed:{anchor:({name:t})=>Object(C["a"])(t),intersectionRootMargin:()=>$t.topOneThird},methods:{onIntersectViewport(){this.store.setActiveSidebarLink(this.name),this.volumeHasName||this.store.setActiveVolume(null)}}},Le=qe,Ee=(n("4230"),Object(V["a"])(Le,ye,Te,!1,null,"7468bc5e",null)),Me=Ee.exports,De={name:"Volume",mixins:[jt],components:{VolumeName:Mt,Chapter:Me},computed:{references:({store:t})=>t.state.references,intersectionRootMargin:()=>$t.topOneThird},inject:{store:{default:()=>({setActiveVolume(){},state:{references:{}}})}},props:{chapters:{type:Array,required:!0},content:{type:Array,required:!1},image:{type:String,required:!1},name:{type:String,required:!1}},methods:{lookupTopics(t){return t.reduce((t,e)=>t.concat(this.references[e]||[]),[])},onIntersectViewport(){this.name&&this.store.setActiveVolume(this.name)}}},Fe=De,Re=(n("b9bf"),Object(V["a"])(Fe,ge,Ce,!1,null,"540dbf10",null)),Be=Re.exports;const Ge={resources:"resources",volume:"volume"};var ze={name:"LearningPath",components:{Resources:_e,TutorialsNavigation:tt,Volume:Be},constants:{SectionKind:Ge},inject:{isTargetIDE:{default:!1}},props:{sections:{type:Array,required:!0,validator:t=>t.every(t=>Object.prototype.hasOwnProperty.call(Ge,t.kind))}},computed:{classes:({isTargetIDE:t})=>({ide:t}),partitionedSections:({sections:t})=>t.reduce(([t,e],n)=>n.kind===Ge.volume?[t.concat(n),e]:[t,e.concat(n)],[[],[]]),volumes:({partitionedSections:t})=>t[0],otherSections:({partitionedSections:t})=>t[1]},methods:{componentFor:({kind:t})=>({[Ge.resources]:_e,[Ge.volume]:Be}[t]),propsFor:({chapters:t,content:e,image:n,kind:i,name:s,tiles:a})=>({[Ge.resources]:{content:e,tiles:a},[Ge.volume]:{chapters:t,content:e,image:n,name:s}}[i])}},Pe=ze,He=(n("aebc"),Object(V["a"])(Pe,kt,It,!1,null,"69a72bbc",null)),Ke=He.exports;const Ue={hero:"hero",resources:"resources",volume:"volume"};var Ze={name:"TutorialsOverview",components:{Hero:Vt,LearningPath:Ke,Nav:ct},mixins:[lt["a"]],constants:{SectionKind:Ue},inject:{isTargetIDE:{default:!1}},props:{metadata:{type:Object,default:()=>({})},references:{type:Object,default:()=>({})},sections:{type:Array,default:()=>[],validator:t=>t.every(t=>Object.prototype.hasOwnProperty.call(Ue,t.kind))}},computed:{pageTitle:({title:t})=>[t,"Tutorials"].filter(Boolean).join(" "),pageDescription:({heroSection:t,extractFirstParagraphText:e})=>t?e(t.content):null,partitionedSections:({sections:t})=>t.reduce(([t,e],n)=>n.kind===Ue.hero?[t.concat(n),e]:[t,e.concat(n)],[[],[]]),heroSections:({partitionedSections:t})=>t[0],otherSections:({partitionedSections:t})=>t[1],heroSection:({heroSections:t})=>t[0],store:()=>d,title:({metadata:{category:t=""}})=>t},provide(){return{store:this.store}},created(){m["a"].setAvailableLocales(this.metadata.availableLocales),this.store.reset(),this.store.setReferences(this.references)},watch:{references(t){this.store.setReferences(t)},"metadata.availableLocales":function(t){m["a"].setAvailableLocales(t)}}},Je=Ze,Qe=(n("15ac"),Object(V["a"])(Je,l,u,!1,null,"29ed9b58",null)),We=Qe.exports,Xe=n("146e"),Ye={name:"TutorialsOverview",components:{Overview:We},mixins:[c["a"],Xe["a"]],data(){return{topicData:null}},computed:{overviewProps:({topicData:{metadata:t,references:e,sections:n}})=>({metadata:t,references:e,sections:n}),topicKey:({$route:t,topicData:e})=>[t.path,e.identifier.interfaceLanguage].join()},beforeRouteEnter(t,e,n){t.meta.skipFetchingData?n(t=>t.newContentMounted()):Object(r["c"])(t,e,n).then(t=>n(e=>{e.topicData=t})).catch(n)},beforeRouteUpdate(t,e,n){Object(r["e"])(t,e)?Object(r["c"])(t,e,n).then(t=>{this.topicData=t,n()}).catch(n):n()},mounted(){this.$bridge.on("contentUpdate",this.handleContentUpdateFromBridge)},beforeDestroy(){this.$bridge.off("contentUpdate",this.handleContentUpdateFromBridge)},watch:{topicData(){this.$nextTick(()=>{this.newContentMounted()})}}},tn=Ye,en=Object(V["a"])(tn,a,o,!1,null,null,null);e["default"]=en.exports},f0ca:function(t,e,n){"use strict";n("8f86")},f1e6:function(t,e,n){"use strict";n("a0d4")}}]);
\ No newline at end of file
diff --git a/document/MixSdk.doccarchive/metadata.json b/document/MixSdk.doccarchive/metadata.json
new file mode 100644 (file)
index 0000000..a9820fd
--- /dev/null
@@ -0,0 +1 @@
+{"bundleDisplayName":"MixSdk","bundleIdentifier":"ZhiHui.MixSdk","schemaVersion":{"major":0,"minor":1,"patch":0}}
\ No newline at end of file
diff --git a/document/MixSdk.md b/document/MixSdk.md
new file mode 100644 (file)
index 0000000..ed83145
--- /dev/null
@@ -0,0 +1,212 @@
+# MixSdk
+
+## 介绍
+
+- 当前版本:v1.0.0
+- 更新内容20240619:
+  1. 初始版本
+
+## 环境要求
+
+- iOS系统版本: iOS 13.0以上
+- 真机环境
+
+## 安装教程
+
+1. 把 MixSdk.Framework 拖入项目中
+1. 在 Build Phases 选项卡中,添加以下依赖库:libz.tbd
+2. 在使用的文件中`#import MixSdk`
+
+## 使用流程
+
+### 添加权限
+
+```swift
+info.plist中添加麦克风权限:
+
+Privacy - Microphone Usage Description
+
+```
+
+### SDK初始化
+
+```swift
+//初始化
+MixSdk.shared.initSDK()
+//设置调试模式,isDebug为true则会输出日志
+MixSdk.shared.isDebug = true
+```
+
+### 
+
+## 鉴权
+
+```swift
+/// 鉴权管理类
+public class MSAuth {
+
+    /// 是否已经鉴权
+    public var authorized: Bool
+
+    /// 注册
+    /// - Parameters:
+    ///   - productKey: 产品Key
+    ///   - secretKey: 产品秘钥
+    ///   - deviceId: 设备ID
+    ///   - sn: SN号
+    ///   - completeHandler: 结果回调
+    public func register(productKey: String, secretKey: String, deviceId: String, sn: String, completeHandler: @escaping MixSdk.MSRegisterCallBack)
+
+    /// 登录
+    /// - Parameters:
+    ///   - productKey:产品Key
+    ///   - secretKey: 产品秘钥
+    ///   - deviceId: 设备ID
+    ///   - deviceSecrect: 注册返回的密码
+    ///   - completeHandler: 结果回调
+    public func login(productKey: String, secretKey: String, deviceId: String, deviceSecrect: String, completeHandler: @escaping MixSdk.MSLoginCallBack)
+}
+```
+
+## 翻译
+
+```swift
+public class MSTranslate {
+
+    /// 通用翻译
+    /// - Parameters:
+    ///   - lang: 语言
+    ///   - text: 需要翻译的文字
+    ///   - completeHandler: 结果回调
+    public func translate(lang: MixSdk.MSTranslateLanguage, text: String, completeHandler: @escaping MixSdk.MSTranslateCallBack)
+
+    /// 获取支持的语言
+    /// - Parameter completeHandler: 结果回调
+    public func getSupportLanguages(completeHandler: @escaping MixSdk.MSLanuageCallBack)
+}
+    
+```
+
+
+
+## Aigc
+
+```swift
+/// aigc管理类
+public class MSAigc {
+
+    /// 获取算法类型
+    /// - Parameters:
+    ///   - type: 0:⽂字⽣图,1: ⽂+图⽣图 5:图⽣图(⻛格变换)
+    ///   - completeHandler: 结果回调
+    public func getStyle(type: Int, completeHandler: @escaping MixSdk.MSAigcStyleCallBack)
+
+    /// 查询任务状态
+    /// - Parameters:
+    ///   - taskId: 任务id
+    ///   - completeHandler: 结果回调
+    public func getResult(taskId: String, completeHandler: @escaping MixSdk.MSAigcQueryCallBack)
+
+    /// 创建任务
+    /// - Parameters:
+    ///   - task: 任务参数
+    ///   - completeHandler: 结果回调
+    public func createTask(_ task: MixSdk.MSAigcTask, completeHandler: @escaping MixSdk.MSAigcTaskCallBack)
+}
+
+```
+
+## 大模型对话
+
+```swift
+/// 大模型对话管理类
+public class MSChat {
+
+    /// 对话回调
+    public var callBack: MixSdk.MSChatCallBack?
+
+    /// 发送内容
+    /// - Parameter content: 内容
+    public func send(content: String)
+}
+```
+
+
+
+## 文本合成语音
+
+### 一句话识别
+
+```swift
+extension MSStt {
+    /// 一句话识别
+    /// - Parameters:
+    ///   - filePath: 语音文件路径
+    ///   - format: 语音格式,单声道(mono)16bit采样位数音频,包括无压缩的PCM、WAV、OPUS、AMR、SPEEX、MP3、AAC格式。
+    ///   - sample_rate:采样率
+    ///   - lang: zh-cn 中文/en-us 英文
+    ///   - completeHandler: 结果回调
+    public func sentenceRecognize(filePath: String, format: String? = nil, sample_rate: String? = nil, lang: String? = nil, completeHandler: @escaping MixSdk.MSSttCallBack)
+}
+
+```
+
+### 实时转写
+
+```swift
+public class MSStt {
+               /// 开始转换
+    func startTranscription()
+    
+    //结束转换
+    func stopTranscription()
+    
+    /// 发送语音数据,format pcm,采样率 16000
+    /// - Parameter data: 语音数据
+    func sendVoice(data:Data)
+    
+    /// 事件回调
+    public var eventCallBack:MSSttEventCallBack?
+}    
+
+```
+
+
+
+## 语音合成文本
+
+### 长文本合成
+
+```swift
+public class MSTts {  
+/// 发送一次性长内容。注意实时合成和一次性只能同时运行一个
+    /// - Parameter text: 合成的内容
+    public func sendLongTextStream(text: String)
+  
+      /// 事件回调
+    public var eventCallBack: MixSdk.MSTtsEventCallBack?
+
+    /// 语音数据回调
+    public var voiceCallBack: MixSdk.MSTtsVoiceCallBack?
+  
+}
+```
+
+### 文本合成
+
+```swift
+extension MSTts {
+
+    /// 开始实时语音合成
+    public func startSynthesis()
+
+    /// 结束实时语音合成
+    public func stopSynthesis()
+
+    /// 实时发送。注意实时合成和一次性只能同时运行一个
+    /// - Parameter text: 合成的内容
+    public func runSynthesis(text: String)
+}
+
+```
+
diff --git a/document/MixSdk.pdf b/document/MixSdk.pdf
new file mode 100644 (file)
index 0000000..ed27be6
Binary files /dev/null and b/document/MixSdk.pdf differ