将音频以pcm data格式输出
authorliangzhenying <867174124@qq.com>
Wed, 6 Mar 2024 08:28:08 +0000 (16:28 +0800)
committerliangzhenying <867174124@qq.com>
Wed, 6 Mar 2024 08:28:08 +0000 (16:28 +0800)
23 files changed:
MouseSdk/AiSdk/AiIot.h
MouseSdk/AiSdk/AiIot.m
MouseSdk/AiSdk/AiIotAudioManager.h
MouseSdk/AiSdk/AiIotAudioManager.m
MouseSdk/AiSdk/AiIotAuthManager.h [moved from MouseSdk/AiSdk/AiIotConnectManager.h with 85% similarity]
MouseSdk/AiSdk/AiIotAuthManager.m [new file with mode: 0644]
MouseSdk/AiSdk/AiIotConnectManager.m
MouseSdk/AiSdk/AiIotTools.h
MouseSdk/AiSdk/AiIotTools.m
MouseSdk/AiSdk/AiSdk.h
MouseSdk/MouseSdk.xcodeproj/project.pbxproj
MouseSdk/MouseSdk.xcodeproj/xcshareddata/xcschemes/AiSdk.xcscheme [new file with mode: 0644]
MouseSdk/MouseSdk.xcodeproj/xcuserdata/apple.xcuserdatad/xcschemes/xcschememanagement.plist
MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate
MouseSdk/MouseSdk/AliIotTools.h
MouseSdk/MouseSdk/AliIotTools.m
MouseSdk/MouseSdk/Ble/BleManager.h
MouseSdk/MouseSdk/Ble/BleManager.m
MouseSdk/MouseSdk/Config.h [new file with mode: 0644]
MouseSdk/MouseSdk/Config.m [new file with mode: 0644]
MouseSdk/MouseSdk/LogVC.h [deleted file]
MouseSdk/MouseSdk/LogVC.m [deleted file]
MouseSdk/MouseSdk/ViewController.m

index 13516f2..9665f0e 100644 (file)
@@ -13,27 +13,38 @@ NS_ASSUME_NONNULL_BEGIN
 
 /// 鉴权状态回调
 /// - Parameter isSuccess:是否鉴权成功
-- (void)aiIotAuthChangeStatus:(BOOL)isSuccess;
+- (void)aiIotSendAuthStatus:(BOOL)isSuccess;
 
-/// 发送给蓝牙设备
-/// - Parameter data: 传输的数据
-- (void)aiIotSendToBle:(NSData *)data;
+/// 鉴权数据回调,需要将此数据转发给蓝牙设备
+/// - Parameter data: 数据
+- (void)aiIotSendAuthData:(NSData *)data;
 
-/// 录音
-/// - Parameter audioPath: 语音路径
-- (void)aiIotDidRecord:(NSString *)audioPath;
+/// 指令回调
+/// - Parameter data: 数据
+- (void)aiIotSendCmd:(NSData *)data;
+
+/// 录音回调
+/// - Parameter data: pcm格式语音数据
+- (void)aiIotSendRecordData:(NSData *)data;
 
 @end
 
 @interface AiIot : NSObject
-@property (nonatomic, weak) id<AiIotDelegate> delegate;
+@property (nonatomic, weak) id<AiIotDelegate> delegate;/// 代理
 
 /// 单利
 +(AiIot *)shared;
 
-/// 将数据传输给sdk处理
-/// - Parameter data: 传输的数据
-- (void)sendToSdk:(NSData *)data;
+/// 开始鉴权
+- (void)startAuthentication;
+
+///  传输鉴权数据给sdk
+/// - Parameter data: 蓝牙设备传过来的数据
+- (void)sendAuthToSdk:(NSData *)data;
+
+/// 传输业务数据给sdk
+/// - Parameter data:蓝牙设备传过来的数据
+- (void)sendBuinessToSdk:(NSData *)data;
 @end
 
 NS_ASSUME_NONNULL_END
index 89ee76d..92ba3cf 100644 (file)
@@ -6,12 +6,12 @@
 //
 
 #import "AiIot.h"
-#import "AiIotConnectManager.h"
+#import "AiIotAuthManager.h"
 #import "AiIotAudioManager.h"
 #import "AiIotTools.h"
 @interface AiIot()
 
-@property (nonatomic, strong) AiIotConnectManager *authManager;
+@property (nonatomic, strong) AiIotAuthManager *authManager;
 @property (nonatomic, strong) AiIotAudioManager *audioManager;
 @end
 
 }
 
 
--(AiIotConnectManager *)authManager{
+-(AiIotAuthManager *)authManager{
     if (!_authManager) {
-        _authManager = [[AiIotConnectManager alloc] init];
+        _authManager = [[AiIotAuthManager alloc] init];
         __weak typeof(self) ws = self;
+        _authManager.outputLog = ^(NSString * _Nonnull log) {
+            [ws showLog:log];
+        };
         _authManager.outputData = ^(NSData * _Nonnull data) {
-            [ws willSendToBle:data];
+            [ws sendAuthData:data];
         };
         _authManager.authCallBack = ^(BOOL isSuccess) {
             if (ws.delegate) {
-                [ws.delegate aiIotAuthChangeStatus:isSuccess];
+                [ws.delegate aiIotSendAuthStatus:isSuccess];
             }
         };
     }
@@ -45,8 +48,8 @@
     if (!_audioManager) {
         _audioManager = [[AiIotAudioManager alloc] init];
         __weak typeof(self) ws = self;
-        _audioManager.outputData = ^(NSData * _Nonnull data) {
-            [ws willSendToBle:data];
+        _audioManager.audioRecordCallBack = ^(NSData * _Nonnull data) {
+            [ws sendRecordData:data];
         };
         _audioManager.outputLog = ^(NSString * _Nonnull log) {
             [ws showLog:log];
     }
     return _audioManager;
 }
-
-- (void)startLogin{
+#pragma mark - pub Api
+//开始鉴权
+- (void)startAuthentication{
     [self.authManager login];
 }
 
-- (void)sendToSdk:(NSData *)data{
+//接收到设备传过来的数据
+- (void)sendAuthToSdk:(NSData *)data{
+    [self.authManager receiveData:data];
+}
+
+- (void)sendBuinessToSdk:(NSData *)data{
     NSString *str = [[AiIotTools dataToHexString:data] lowercaseString];
     NSString *cmd = [str substringWithRange:NSMakeRange(0, 12)];
-    if(([cmd hasPrefix:@"0a"] && ([cmd hasSuffix:@"31"] || [cmd hasSuffix:@"32"])) ||
-       [cmd hasPrefix:@"9c31"]){
+    
+    if(([cmd hasPrefix:@"0a"] && ([cmd hasSuffix:@"31"] || [cmd hasSuffix:@"32"]))){
+        //开始录音,结束录音
+        [self sendCmdData:data];
+    }
+    if([cmd hasPrefix:@"9c31"]){
         //声音
         [self.audioManager receiveData:data];
     }
 //    }
 }
 
-- (void)willSendToBle:(NSData *)data{
+#pragma mark - other
+- (void)sendAuthData:(NSData *)data{
     if (self.delegate) {
-        [self.delegate aiIotSendToBle:data];
+        [self.delegate aiIotSendAuthData:data];
     }
 }
 
+- (void)sendRecordData:(NSData *)data{
+    if (self.delegate) {
+        [self.delegate aiIotSendRecordData:data];
+    }
+}
+- (void)sendCmdData:(NSData *)data{
+    if (self.delegate) {
+        [self.delegate aiIotSendCmd:data];
+    }
+}
 - (void)showLog:(NSString *)log{
-    NSLog(@"%@",log);
+    NSLog(@"[sdk]%@",log);
 }
 
 - (void)sendTestLP{
     NSString *cmd = @"7B22736964223A22464753222C22766572223A312C2264617461223A227B5C227369647665725C223A312C5C226D73675F747970655C223A5C224647535F4D53475F545950455F53544152545F4647535F5245515C227D227D";
     NSData *data = [AiIotTools hexStringToData:cmd];
-    [self willSendToBle:data];
+    [self sendAuthData:data];
 }
 @end
index 62e2111..819da07 100644 (file)
@@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface AiIotAudioManager : NSObject
 @property (nonatomic,strong)void (^outputData)(NSData *data);
-@property (nonatomic,strong)void (^audioRecordCallBack)(NSString *filePath);
+@property (nonatomic,strong)void (^audioRecordCallBack)(NSData *data);
 @property (nonatomic,strong)void (^outputLog)(NSString *log);
 
 
index e0de017..7274477 100644 (file)
@@ -10,7 +10,6 @@
 #import "AiIotAudioDecoder.h"
 
 @interface AiIotAudioManager ()
-@property (nonatomic,strong)NSMutableData *recvData;
 @property (nonatomic,strong)AiIotAudioDecoder *audioDecoder;
 @end
 
 
 -(instancetype)init{
     if (self = [super init]) {
-
+        [self setupAudioDecoder];
     }
     return self;
 }
 
 - (void)receiveData:(NSData *)data{
-    NSString *str = [[AiIotTools dataToHexString:data] lowercaseString];
-    NSString *cmd = [str substringWithRange:NSMakeRange(0, 12)];
-    if([cmd hasPrefix:@"0a"] && [cmd hasSuffix:@"31"]){
-//        0x0a6500002a3100020101c0c1a5a5a5a5
-        [self showLog:@"开始录音"];
-        self.recvData = [[NSMutableData alloc] init];
-        [self setupAudioDecoder];
-    }
-    if( [cmd hasPrefix:@"0a"] && [cmd hasSuffix:@"32"]){
-        [self showLog:@"结束录音"];
-        [self showLog:[NSString stringWithFormat:@"完整声音数据 %@",self.recvData]];
-        [self finishRecevice:self.recvData];
-        self.recvData = nil;
-    }
-    else if([str hasPrefix:@"9c31"] && data.length >= 32){
-//        NSData *sub = [data subdataWithRange:NSMakeRange(3, data.length - 3)];
-//        [self showLog:[NSString stringWithFormat:@"截取的数据 %@",sub]];
-//        [self.recvData appendData:data];
-        [self.audioDecoder decodeSBCData:data];
-    }
-    else{
-        [self showLog:@"未实现指令"];
-    }
-}
-
-- (void)finishRecevice:(NSData *)data{
-    NSString *doc = NSTemporaryDirectory();
-    NSString *fullPath = [NSString stringWithFormat:@"%@2.pcm",doc];
-    [self showLog:[NSString stringWithFormat:@"%@",fullPath]];
-    NSError *err;
-    [data writeToFile:fullPath options:NSDataWritingAtomic error:&err];
-    if (err) {
-        [self showLog:[NSString stringWithFormat:@"录音保存失败%@",err.description]];
-    }
-    else{
-        [self showLog:@"录音保存成功"];
-        if(self.audioRecordCallBack)self.audioRecordCallBack(fullPath);
-    }
+    [self.audioDecoder decodeSBCData:data];
+//    NSString *str = [[AiIotTools dataToHexString:data] lowercaseString];
+//    NSString *cmd = [str substringWithRange:NSMakeRange(0, 12)];
+//    if([cmd hasPrefix:@"0a"] && [cmd hasSuffix:@"31"]){
+////        0x0a6500002a3100020101c0c1a5a5a5a5
+//        [self showLog:@"开始录音"];
+//    }
+//    if( [cmd hasPrefix:@"0a"] && [cmd hasSuffix:@"32"]){
+//        [self showLog:@"结束录音"];
+////        [self showLog:[NSString stringWithFormat:@"完整声音数据 %@",self.recvData]];
+////        [self finishRecevice:self.recvData];
+////        self.recvData = nil;
+//    }
+//    else if([str hasPrefix:@"9c31"] && data.length >= 32){
+//        [self.audioDecoder decodeSBCData:data];
+//    }
+//    else{
+//        [self showLog:@"未实现指令"];
+//    }
 }
 
 - (void)setupAudioDecoder{
@@ -69,8 +49,7 @@
     __weak typeof(self) ws = self;
     self.audioDecoder.onRecvPCMData = ^(NSData * _Nonnull pcmData) {
 //        [ws showLog:[NSString stringWithFormat:@"转换后数据%@",[AiIotTools dataToHexString:pcmData]]];
-        [ws.recvData appendData:pcmData];
-//        [ws.audioDecoder finishSBCDecode];
+        if(ws.audioRecordCallBack)ws.audioRecordCallBack(pcmData);
     };
     [self.audioDecoder initSBCDecodec];
 }
similarity index 85%
rename from MouseSdk/AiSdk/AiIotConnectManager.h
rename to MouseSdk/AiSdk/AiIotAuthManager.h
index 37c0928..9863e07 100644 (file)
@@ -1,5 +1,5 @@
 //
-//  AiIotConnectManager.h
+//  AiIotAuthManager.h
 //  AiSdk
 //
 //  Created by incar on 2024/2/28.
@@ -9,7 +9,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@interface AiIotConnectManager : NSObject
+@interface AiIotAuthManager : NSObject
 @property (nonatomic,strong)void (^outputLog)(NSString *log);
 @property (nonatomic,strong)void (^outputData)(NSData *data);
 @property (nonatomic,strong)void (^authCallBack)(BOOL isSuccess);
diff --git a/MouseSdk/AiSdk/AiIotAuthManager.m b/MouseSdk/AiSdk/AiIotAuthManager.m
new file mode 100644 (file)
index 0000000..820344d
--- /dev/null
@@ -0,0 +1,165 @@
+//
+//  AiIotAuthManager.m
+//  AiSdk
+//
+//  Created by incar on 2024/2/28.
+//
+
+#import "AiIotAuthManager.h"
+#import <AliIotConnectKit/AliIotConnectKit.h>
+#import "AiIotTools.h"
+@interface AiIotAuthManager () <IotStateDelatege_C,BleNeedSendDataDelegate_C>
+@property (nonatomic, strong) dispatch_queue_t bizbus_connect_queue;
+@property (nonatomic, strong) AliConnectMananger_C * bizbusManager;
+@property (nonatomic, strong) AliCloudIotLogManager_C *bizbusLogManager;
+@end
+@implementation AiIotAuthManager
+- (instancetype)init{
+    self = [super init];
+    if (self) {
+        _bizbusManager = AliConnectMananger_C.shared;
+        _bizbusLogManager = AliCloudIotLogManager_C.shared;
+        
+        _bizbusManager.iotStateDelegate = self;
+        _bizbusManager.bleSendDataDelegate = self;
+        _bizbusManager.appVersion = @"--";
+        _bizbus_connect_queue = dispatch_queue_create("bizbus_connect_queue", DISPATCH_QUEUE_SERIAL);
+        [self enableBizbusLog:false];
+    }
+    return self;
+}
+
+#pragma mark - IotStateDelatege_C
+- (void)onIotConnectFailed {
+    [self showLog:@"LP连接失败。。。"];
+    if(self.authCallBack)self.authCallBack(false);
+}
+
+- (void)onIotConnecting {
+    [self showLog:@"LP连接中。。。"];
+}
+
+- (void)onIotConnected {
+    [self showLog:@"LP连接成功。。。"];
+    if(self.authCallBack)self.authCallBack(true);
+}
+
+- (void)onIotDisconeted {
+    [self showLog:@"LP断开连接。。。"];
+}
+
+- (void)onLogWithLog:(NSString *)log {
+    [self showLog:log];
+}
+
+#pragma mark - BleNeedSendDataDelegate_C
+- (void)sendBleDataWithData:(NSData * _Nonnull)data {
+    [self showLog:[NSString stringWithFormat:@"[bizbus send json] %@",[AiIotTools dataToUtf8String:data]]];
+    __weak typeof(self) ws = self;
+    dispatch_async(_bizbus_connect_queue, ^{
+//        NSMutableData *mData = NSMutableData.data;
+//        uint8_t cmd = 0x41;
+//        [mData appendBytes:&cmd length:1];
+//        [mData appendData:data];
+        if (ws.outputData) ws.outputData(data);
+    });
+}
+
+#pragma mark - pub api
+- (void)receiveData:(NSData *)data {
+//    data = [data subdataWithRange:NSMakeRange(1, data.length -1)];
+    [self showLog:[NSString stringWithFormat:@"[bizbus receive json] %@",[AiIotTools dataToUtf8String:data]]];
+//    [self showLog:[NSString stringWithFormat:@"[bizbus receive bytes] %@",[AiIotTools dataToHexString:data]]];
+    __weak typeof(self) ws = self;
+    dispatch_async(_bizbus_connect_queue, ^{
+        [ws.bizbusManager bleDataReceivedWithData:data];
+    });
+}
+
+- (void)login{
+    __weak typeof(self) ws = self;
+    dispatch_async(_bizbus_connect_queue, ^{
+        /// 请求飞鸽书
+        [ws.bizbusManager checkFgsStateWithResult:^(BOOL isSuccess, NSDictionary<NSString *,id> * _Nonnull msg) {
+//            [ws showLog:[NSString stringWithFormat:@"checkFgsState %@",[msg tysm_jsonStringEncoded]]];
+            // 飞鸽书请求失败不再执行后续连接
+            if (isSuccess == NO) {
+//                if (ws.stateBlock) weak_self.stateBlock(AliIotSDKBizbusState_FGS_FAILED);
+            }
+            else {
+//                if (ws.stateBlock) ws.stateBlock(AliIotSDKBizbusState_FGS_SUCCESS);
+                /// 连接 LP
+                [ws.bizbusManager startConnectLpStateWithResult:^(BOOL isSuccess, NSDictionary<NSString *,id> * _Nonnull msg) {
+                    if (isSuccess == NO) {
+//                        if (ws.stateBlock) {
+//                            ws.stateBlock(AliIotSDKBizbusState_FND_FAILED);
+//                            [ws.bizbusManager disConnectWithResult:^(BOOL isSuccess, NSDictionary<NSString *,id> * _Nonnull msg) {
+//                                if (isSuccess == YES) [ws connect];
+//                            }];
+//                        };
+                    } else {
+//                        if (ws.stateBlock) weak_self.stateBlock(AliIotSDKBizbusState_FND_SUCCESS);
+                    }
+                }];
+            }
+        }];
+    });
+}
+
+#pragma mark -others
+- (void)showLog:(NSString *)log {
+    if (self.outputLog) self.outputLog(log);
+}
+- (void)disconnect {
+    __weak typeof(self) ws = self;
+    dispatch_async(_bizbus_connect_queue, ^{
+        [ws.bizbusManager disConnectWithResult:^(BOOL isSuccess, NSDictionary<NSString *,id> * _Nonnull msg) {
+//            [ws showLog:msg.tysm_jsonStringEncoded];
+//            
+//            if ([msg[@"code"] isEqualToString:@"0"]) {
+//                if (ws.stateBlock) weak_self.stateBlock(weak_self.sdkDone ? AliIotSDKBizbusState_IOT_DONE: AliIotSDKBizbusState_IOT_READY);
+//                return;
+//            }
+//            if (isSuccess) {
+//                if (weak_self.stateBlock) weak_self.stateBlock(weak_self.sdkDone ? AliIotSDKBizbusState_IOT_DONE: AliIotSDKBizbusState_IOT_READY);
+//            }
+        }];
+    });
+}
+
+- (void)endBizbusWork {
+    [self enableBizbusLog:false];
+    _bizbusManager.iotStateDelegate = nil;
+    _bizbusManager.bleSendDataDelegate = nil;
+    
+    _bizbusLogManager = nil;
+    _bizbusManager = nil;
+    
+    _bizbus_connect_queue = nil;
+}
+
+- (void)enableBizbusLog:(BOOL)isEnable {
+    [_bizbusLogManager switchLogStatus:isEnable];
+    [_bizbusLogManager switchMQTTLogStatus:isEnable];
+}
+
+#pragma mark -
+//- (void)done:(ALiIotFinishResult)completed {
+//    self.sdkDone = YES;
+//    @tysm_weakify(self)
+//    dispatch_async(_bizbus_connect_queue, ^{
+//        [weak_self.bizbusManager disConnectWithResult:^(BOOL isSuccess, NSDictionary<NSString *,id> * _Nonnull msg) {
+//            [weak_self showLog:msg.tysm_jsonStringEncoded];
+//            if ([msg[@"code"] isEqualToString:@"0"]) {
+//                if (weak_self.stateBlock) weak_self.stateBlock(weak_self.sdkDone ? AliIotSDKBizbusState_IOT_DONE: AliIotSDKBizbusState_IOT_READY);
+//                completed(nil);
+//                return;
+//            }
+//            if (isSuccess) {
+//                if (weak_self.stateBlock) weak_self.stateBlock(weak_self.sdkDone ? AliIotSDKBizbusState_IOT_DONE: AliIotSDKBizbusState_IOT_READY);
+//                completed(nil);
+//            }
+//        }];
+//    });
+//}
+@end
index 5aca020..60acf78 100644 (file)
@@ -1,18 +1,19 @@
 //
-//  AiIotConnectManager.m
+//  AiIotAuthManager.m
 //  AiSdk
 //
 //  Created by incar on 2024/2/28.
 //
 
-#import "AiIotConnectManager.h"
+#import "AiIotAuthManager.h"
 #import <AliIotConnectKit/AliIotConnectKit.h>
-@interface AiIotConnectManager () <IotStateDelatege_C,BleNeedSendDataDelegate_C>
+#import "AiIotTools.h"
+@interface AiIotAuthManager () <IotStateDelatege_C,BleNeedSendDataDelegate_C>
 @property (nonatomic, strong) dispatch_queue_t bizbus_connect_queue;
 @property (nonatomic, strong) AliConnectMananger_C * bizbusManager;
 @property (nonatomic, strong) AliCloudIotLogManager_C *bizbusLogManager;
 @end
-@implementation AiIotConnectManager
+@implementation AiIotAuthManager
 - (instancetype)init{
     self = [super init];
     if (self) {
         _bizbusManager.bleSendDataDelegate = self;
         _bizbusManager.appVersion = @"--";
         _bizbus_connect_queue = dispatch_queue_create("bizbus_connect_queue", DISPATCH_QUEUE_SERIAL);
-        [self enableBizbusLog:true];
+        [self enableBizbusLog:false];
     }
     return self;
 }
 
-- (void)endBizbusWork {
-    [self enableBizbusLog:false];
-    _bizbusManager.iotStateDelegate = nil;
-    _bizbusManager.bleSendDataDelegate = nil;
-    
-    _bizbusLogManager = nil;
-    _bizbusManager = nil;
-    
-    _bizbus_connect_queue = nil;
-}
-
 #pragma mark - IotStateDelatege_C
 - (void)onIotConnectFailed {
     [self showLog:@"LP连接失败。。。"];
 
 #pragma mark - BleNeedSendDataDelegate_C
 - (void)sendBleDataWithData:(NSData * _Nonnull)data {
+    [self showLog:[NSString stringWithFormat:@"[bizbus send json] %@",[AiIotTools dataToUtf8String:data]]];
+    [self showLog:[NSString stringWithFormat:@"[bizbus send bytes] %@",[AiIotTools dataToHexString:data]]];
     __weak typeof(self) ws = self;
     dispatch_async(_bizbus_connect_queue, ^{
-        NSMutableData *mData = NSMutableData.data;
-        uint8_t cmd = 0x41;
-        [mData appendBytes:&cmd length:1];
-        [mData appendData:data];
-        if (ws.outputData) ws.outputData(mData);
+//        NSMutableData *mData = NSMutableData.data;
+//        uint8_t cmd = 0x41;
+//        [mData appendBytes:&cmd length:1];
+//        [mData appendData:data];
+        if (ws.outputData) ws.outputData(data);
     });
 }
 
-#pragma mark -
+#pragma mark - pub api
 - (void)receiveData:(NSData *)data {
-    data = [data subdataWithRange:NSMakeRange(1, data.length -1)];
+//    data = [data subdataWithRange:NSMakeRange(1, data.length -1)];
+    [self showLog:[NSString stringWithFormat:@"[bizbus receive json] %@",[AiIotTools dataToUtf8String:data]]];
+    [self showLog:[NSString stringWithFormat:@"[bizbus receive bytes] %@",[AiIotTools dataToHexString:data]]];
     __weak typeof(self) ws = self;
     dispatch_async(_bizbus_connect_queue, ^{
         [ws.bizbusManager bleDataReceivedWithData:data];
     });
 }
 
-- (void)showLog:(NSString *)log {
-    if (self.outputLog) self.outputLog(log);
-}
-
 - (void)login{
     __weak typeof(self) ws = self;
     dispatch_async(_bizbus_connect_queue, ^{
     });
 }
 
+#pragma mark -others
+- (void)showLog:(NSString *)log {
+    if (self.outputLog) self.outputLog(log);
+}
 - (void)disconnect {
     __weak typeof(self) ws = self;
     dispatch_async(_bizbus_connect_queue, ^{
     });
 }
 
+- (void)endBizbusWork {
+    [self enableBizbusLog:false];
+    _bizbusManager.iotStateDelegate = nil;
+    _bizbusManager.bleSendDataDelegate = nil;
+    
+    _bizbusLogManager = nil;
+    _bizbusManager = nil;
+    
+    _bizbus_connect_queue = nil;
+}
+
 - (void)enableBizbusLog:(BOOL)isEnable {
     [_bizbusLogManager switchLogStatus:isEnable];
     [_bizbusLogManager switchMQTTLogStatus:isEnable];
index 4df1896..07b3aa6 100644 (file)
 NS_ASSUME_NONNULL_BEGIN
 
 @interface AiIotTools : NSObject
++ (NSArray *)stringToArray:(NSString *)jsonString;
++ (NSString *)arrayToString:(NSArray *)arr;
+
++ (NSDictionary *)stringToDictionary:(NSString *)jsonString;
++ (NSString *)dictionaryToString:(NSDictionary *)dic;
+
++ (NSDictionary *)dataToDictionary:(NSData *)jsonData;
++ (NSData *)dictionaryToData:(NSDictionary *)dicJson;
+
+
 + (NSString *)dataToHexString:(NSData *)data;
 
 + (NSString *)dataToHexString_placeholder:(NSData *)data;
 
 + (NSData *)hexStringToData:(NSString *)hexStr ;
 
++ (NSString *)dataToUtf8String:(NSData *)data;
 @end
 
 NS_ASSUME_NONNULL_END
index 1f08f72..db1a669 100644 (file)
@@ -8,6 +8,59 @@
 #import "AiIotTools.h"
 
 @implementation AiIotTools
++ (NSArray *)stringToArray:(NSString *)jsonString{
+    NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
+    NSError *error;
+    NSArray *arr = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
+    return arr;
+}
++ (NSString *)arrayToString:(NSArray *)arr{
+    NSError *error;
+    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:arr options:NSJSONWritingPrettyPrinted error:&error];
+    NSString * string = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
+    return  string;
+}
++ (NSDictionary *)stringToDictionary:(NSString *)jsonString{
+    NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
+    NSError *error;
+    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
+    return dict;
+}
++ (NSString *)dictionaryToString:(NSDictionary *)dic{
+    if ([dic isKindOfClass:[NSDictionary class]]) {
+        NSError *error;
+        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error];
+        NSString * string = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
+        return  string;
+    }
+    else{
+        return @"";
+    }
+}
+
++ (NSDictionary *)dataToDictionary:(NSData *)jsonData{
+    if (![jsonData isKindOfClass:[NSData class]] || jsonData.length < 1) {
+        return nil;
+    }
+    id jsonObj = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil];
+    if (![jsonObj isKindOfClass:[NSDictionary class]]) {
+        return nil;
+    }
+    return [NSDictionary dictionaryWithDictionary:(NSDictionary *)jsonObj];
+}
+
+
++ (NSData *)dictionaryToData:(NSDictionary *)dicJson{
+    if (![dicJson isKindOfClass:[NSDictionary class]]) {
+        return nil;
+    }
+    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dicJson options:0 error:nil];
+    if (![jsonData isKindOfClass:[NSData class]]) {
+        return nil;
+    }
+    return jsonData;
+}
+
 + (NSString *)dataToHexString:(NSData *)data {
     NSUInteger length = data.length;
     NSMutableString *result = [NSMutableString stringWithCapacity:length * 2];
     free(buf);
     return result;
 }
+
++ (NSString *)dataToUtf8String:(NSData *)data {
+    if (data.length > 0) {
+        return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
+    }
+    return @"";
+}
 @end
index 1f672db..2ea1c55 100644 (file)
@@ -16,3 +16,4 @@ FOUNDATION_EXPORT const unsigned char AiSdkVersionString[];
 // In this header, you should import all the public headers of your framework using statements like #import <AiSdk/PublicHeader.h>
 
 #import <AiSdk/AiIot.h>
+#import <AiSdk/AiIotTools.h>
index 68cd7b6..f962f58 100644 (file)
                18BF1E8D2B8362D300B8D90F /* AiSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18BF1E872B8362D300B8D90F /* AiSdk.framework */; };
                18BF1E8E2B8362D300B8D90F /* AiSdk.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 18BF1E872B8362D300B8D90F /* AiSdk.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
                18F3235D2B8ED78300CABA2E /* ScanCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F3235C2B8ED78300CABA2E /* ScanCell.m */; };
-               18F323622B8F13D700CABA2E /* LogVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F323612B8F13D600CABA2E /* LogVC.m */; };
                18F323672B8F1C1900CABA2E /* AiIot.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F323652B8F1C1900CABA2E /* AiIot.h */; settings = {ATTRIBUTES = (Public, ); }; };
                18F323682B8F1C1900CABA2E /* AiIot.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F323662B8F1C1900CABA2E /* AiIot.m */; };
                18F323772B8F2DAD00CABA2E /* AliIotTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F323752B8F2DAC00CABA2E /* AliIotTools.m */; };
                18F3237F2B8F30B200CABA2E /* AliIotConnectKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3237D2B8F2EFC00CABA2E /* AliIotConnectKit.framework */; };
                18F323802B8F30B200CABA2E /* AliIotConnectKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3237D2B8F2EFC00CABA2E /* AliIotConnectKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
-               18F323842B8F330100CABA2E /* AiIotConnectManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F323822B8F330100CABA2E /* AiIotConnectManager.h */; };
-               18F323852B8F330100CABA2E /* AiIotConnectManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F323832B8F330100CABA2E /* AiIotConnectManager.m */; };
+               18F323842B8F330100CABA2E /* AiIotAuthManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F323822B8F330100CABA2E /* AiIotAuthManager.h */; };
+               18F323852B8F330100CABA2E /* AiIotAuthManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F323832B8F330100CABA2E /* AiIotAuthManager.m */; };
                18F323872B8F338300CABA2E /* AliIotConnectKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3237D2B8F2EFC00CABA2E /* AliIotConnectKit.framework */; };
                18F3238A2B8F4DBE00CABA2E /* PCMPlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F323892B8F4DBE00CABA2E /* PCMPlayer.m */; };
                18F3238E2B8F4F7300CABA2E /* AiIotAudioManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3238C2B8F4F7300CABA2E /* AiIotAudioManager.h */; };
                18F3238F2B8F4F7300CABA2E /* AiIotAudioManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F3238D2B8F4F7300CABA2E /* AiIotAudioManager.m */; };
-               18F323952B8F525C00CABA2E /* AiIotTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F323932B8F525C00CABA2E /* AiIotTools.h */; };
+               18F323952B8F525C00CABA2E /* AiIotTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F323932B8F525C00CABA2E /* AiIotTools.h */; settings = {ATTRIBUTES = (Public, ); }; };
                18F323962B8F525C00CABA2E /* AiIotTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F323942B8F525C00CABA2E /* AiIotTools.m */; };
                18F323A82B9095D300CABA2E /* AiIotAudioConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F323A62B9095D300CABA2E /* AiIotAudioConverter.h */; };
                18F323A92B9095D300CABA2E /* AiIotAudioConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F323A72B9095D300CABA2E /* AiIotAudioConverter.m */; };
                18F324A42B93382900CABA2E /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F324A32B93382900CABA2E /* libiconv.tbd */; };
                18F324A62B93385100CABA2E /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F324A52B93385100CABA2E /* VideoToolbox.framework */; };
                18F325782B95737F00CABA2E /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F325772B95737F00CABA2E /* CoreAudio.framework */; };
-               18F3264B2B95766300CABA2E /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3257A2B95766200CABA2E /* libcrypto.a */; };
-               18F3264C2B95766300CABA2E /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3257B2B95766200CABA2E /* libavutil.a */; };
-               18F3264D2B95766300CABA2E /* libavfilter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3257C2B95766200CABA2E /* libavfilter.a */; };
-               18F3264E2B95766300CABA2E /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3257D2B95766200CABA2E /* libavcodec.a */; };
-               18F3264F2B95766300CABA2E /* libavformat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3257E2B95766200CABA2E /* libavformat.a */; };
-               18F326502B95766300CABA2E /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F3257F2B95766200CABA2E /* libswresample.a */; };
-               18F326512B95766300CABA2E /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F325802B95766200CABA2E /* libssl.a */; };
-               18F326522B95766300CABA2E /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F325812B95766200CABA2E /* libswscale.a */; };
-               18F326532B95766300CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325842B95766200CABA2E /* version.h */; };
-               18F326542B95766300CABA2E /* buffersrc.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325852B95766200CABA2E /* buffersrc.h */; };
-               18F326552B95766300CABA2E /* buffersink.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325862B95766200CABA2E /* buffersink.h */; };
-               18F326562B95766300CABA2E /* avfilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325872B95766200CABA2E /* avfilter.h */; };
-               18F326572B95766300CABA2E /* hwcontext.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325892B95766200CABA2E /* hwcontext.h */; };
-               18F326582B95766300CABA2E /* time.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3258A2B95766200CABA2E /* time.h */; };
-               18F326592B95766300CABA2E /* hwcontext_cuda.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3258B2B95766200CABA2E /* hwcontext_cuda.h */; };
-               18F3265A2B95766300CABA2E /* intfloat.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3258C2B95766200CABA2E /* intfloat.h */; };
-               18F3265B2B95766300CABA2E /* error.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3258D2B95766200CABA2E /* error.h */; };
-               18F3265C2B95766300CABA2E /* fifo.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3258E2B95766200CABA2E /* fifo.h */; };
-               18F3265D2B95766300CABA2E /* blowfish.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3258F2B95766200CABA2E /* blowfish.h */; };
-               18F3265E2B95766300CABA2E /* hwcontext_mediacodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325902B95766200CABA2E /* hwcontext_mediacodec.h */; };
-               18F3265F2B95766300CABA2E /* replaygain.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325912B95766200CABA2E /* replaygain.h */; };
-               18F326602B95766300CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325922B95766200CABA2E /* version.h */; };
-               18F326612B95766300CABA2E /* murmur3.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325932B95766200CABA2E /* murmur3.h */; };
-               18F326622B95766300CABA2E /* stereo3d.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325942B95766200CABA2E /* stereo3d.h */; };
-               18F326632B95766300CABA2E /* samplefmt.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325952B95766300CABA2E /* samplefmt.h */; };
-               18F326642B95766300CABA2E /* pixdesc.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325962B95766300CABA2E /* pixdesc.h */; };
-               18F326652B95766300CABA2E /* base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325972B95766300CABA2E /* base64.h */; };
-               18F326662B95766300CABA2E /* rational.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325982B95766300CABA2E /* rational.h */; };
-               18F326672B95766300CABA2E /* sha.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325992B95766300CABA2E /* sha.h */; };
-               18F326682B95766300CABA2E /* motion_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3259A2B95766300CABA2E /* motion_vector.h */; };
-               18F326692B95766300CABA2E /* avconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3259B2B95766300CABA2E /* avconfig.h */; };
-               18F3266A2B95766300CABA2E /* lfg.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3259C2B95766300CABA2E /* lfg.h */; };
-               18F3266B2B95766300CABA2E /* avutil.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3259D2B95766300CABA2E /* avutil.h */; };
-               18F3266C2B95766300CABA2E /* xtea.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3259E2B95766300CABA2E /* xtea.h */; };
-               18F3266D2B95766300CABA2E /* crc.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3259F2B95766300CABA2E /* crc.h */; };
-               18F3266E2B95766300CABA2E /* hwcontext_vdpau.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A02B95766300CABA2E /* hwcontext_vdpau.h */; };
-               18F3266F2B95766300CABA2E /* frame.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A12B95766300CABA2E /* frame.h */; };
-               18F326702B95766300CABA2E /* file.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A22B95766300CABA2E /* file.h */; };
-               18F326712B95766300CABA2E /* md5.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A32B95766300CABA2E /* md5.h */; };
-               18F326722B95766300CABA2E /* cast5.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A42B95766300CABA2E /* cast5.h */; };
-               18F326732B95766300CABA2E /* hwcontext_vaapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A52B95766300CABA2E /* hwcontext_vaapi.h */; };
-               18F326742B95766300CABA2E /* spherical.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A62B95766300CABA2E /* spherical.h */; };
-               18F326752B95766300CABA2E /* ffversion.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A72B95766300CABA2E /* ffversion.h */; };
-               18F326762B95766300CABA2E /* audio_fifo.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A82B95766300CABA2E /* audio_fifo.h */; };
-               18F326772B95766300CABA2E /* tree.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325A92B95766300CABA2E /* tree.h */; };
-               18F326782B95766300CABA2E /* threadmessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325AA2B95766300CABA2E /* threadmessage.h */; };
-               18F326792B95766300CABA2E /* attributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325AB2B95766300CABA2E /* attributes.h */; };
-               18F3267A2B95766300CABA2E /* adler32.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325AC2B95766300CABA2E /* adler32.h */; };
-               18F3267B2B95766300CABA2E /* hwcontext_d3d11va.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325AD2B95766300CABA2E /* hwcontext_d3d11va.h */; };
-               18F3267C2B95766300CABA2E /* timecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325AE2B95766300CABA2E /* timecode.h */; };
-               18F3267D2B95766300CABA2E /* tx.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325AF2B95766300CABA2E /* tx.h */; };
-               18F3267E2B95766300CABA2E /* sha512.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B02B95766300CABA2E /* sha512.h */; };
-               18F3267F2B95766300CABA2E /* hwcontext_dxva2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B12B95766300CABA2E /* hwcontext_dxva2.h */; };
-               18F326802B95766300CABA2E /* display.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B22B95766300CABA2E /* display.h */; };
-               18F326812B95766300CABA2E /* buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B32B95766300CABA2E /* buffer.h */; };
-               18F326822B95766300CABA2E /* camellia.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B42B95766300CABA2E /* camellia.h */; };
-               18F326832B95766300CABA2E /* pixelutils.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B52B95766300CABA2E /* pixelutils.h */; };
-               18F326842B95766300CABA2E /* hwcontext_drm.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B62B95766300CABA2E /* hwcontext_drm.h */; };
-               18F326852B95766300CABA2E /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B72B95766300CABA2E /* common.h */; };
-               18F326862B95766300CABA2E /* hmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B82B95766300CABA2E /* hmac.h */; };
-               18F326872B95766300CABA2E /* eval.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325B92B95766300CABA2E /* eval.h */; };
-               18F326882B95766300CABA2E /* dict.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325BA2B95766300CABA2E /* dict.h */; };
-               18F326892B95766300CABA2E /* random_seed.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325BB2B95766300CABA2E /* random_seed.h */; };
-               18F3268A2B95766300CABA2E /* opt.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325BC2B95766300CABA2E /* opt.h */; };
-               18F3268B2B95766300CABA2E /* mastering_display_metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325BD2B95766300CABA2E /* mastering_display_metadata.h */; };
-               18F3268C2B95766300CABA2E /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325BE2B95766300CABA2E /* log.h */; };
-               18F3268D2B95766300CABA2E /* aes.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325BF2B95766300CABA2E /* aes.h */; };
-               18F3268E2B95766300CABA2E /* macros.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C02B95766300CABA2E /* macros.h */; };
-               18F3268F2B95766300CABA2E /* bswap.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C12B95766300CABA2E /* bswap.h */; };
-               18F326902B95766300CABA2E /* rc4.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C22B95766300CABA2E /* rc4.h */; };
-               18F326912B95766300CABA2E /* tea.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C32B95766300CABA2E /* tea.h */; };
-               18F326922B95766300CABA2E /* cpu.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C42B95766300CABA2E /* cpu.h */; };
-               18F326932B95766300CABA2E /* lzo.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C52B95766300CABA2E /* lzo.h */; };
-               18F326942B95766300CABA2E /* des.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C62B95766300CABA2E /* des.h */; };
-               18F326952B95766300CABA2E /* channel_layout.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C72B95766300CABA2E /* channel_layout.h */; };
-               18F326962B95766300CABA2E /* encryption_info.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C82B95766300CABA2E /* encryption_info.h */; };
-               18F326972B95766300CABA2E /* twofish.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325C92B95766300CABA2E /* twofish.h */; };
-               18F326982B95766300CABA2E /* imgutils.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325CA2B95766300CABA2E /* imgutils.h */; };
-               18F326992B95766300CABA2E /* hwcontext_videotoolbox.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325CB2B95766300CABA2E /* hwcontext_videotoolbox.h */; };
-               18F3269A2B95766300CABA2E /* mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325CC2B95766300CABA2E /* mem.h */; };
-               18F3269B2B95766300CABA2E /* parseutils.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325CD2B95766300CABA2E /* parseutils.h */; };
-               18F3269C2B95766300CABA2E /* ripemd.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325CE2B95766300CABA2E /* ripemd.h */; };
-               18F3269D2B95766300CABA2E /* bprint.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325CF2B95766300CABA2E /* bprint.h */; };
-               18F3269E2B95766300CABA2E /* hdr_dynamic_metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D02B95766300CABA2E /* hdr_dynamic_metadata.h */; };
-               18F3269F2B95766300CABA2E /* hwcontext_qsv.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D12B95766300CABA2E /* hwcontext_qsv.h */; };
-               18F326A02B95766300CABA2E /* pixfmt.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D22B95766300CABA2E /* pixfmt.h */; };
-               18F326A12B95766300CABA2E /* aes_ctr.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D32B95766300CABA2E /* aes_ctr.h */; };
-               18F326A22B95766300CABA2E /* timestamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D42B95766300CABA2E /* timestamp.h */; };
-               18F326A32B95766300CABA2E /* downmix_info.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D52B95766300CABA2E /* downmix_info.h */; };
-               18F326A42B95766300CABA2E /* avassert.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D62B95766300CABA2E /* avassert.h */; };
-               18F326A52B95766300CABA2E /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D72B95766300CABA2E /* hash.h */; };
-               18F326A62B95766300CABA2E /* mathematics.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D82B95766300CABA2E /* mathematics.h */; };
-               18F326A72B95766300CABA2E /* intreadwrite.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325D92B95766300CABA2E /* intreadwrite.h */; };
-               18F326A82B95766300CABA2E /* avstring.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325DA2B95766300CABA2E /* avstring.h */; };
-               18F326A92B95766300CABA2E /* avconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325DC2B95766300CABA2E /* avconfig.h */; };
-               18F326AA2B95766300CABA2E /* ffversion.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325DD2B95766300CABA2E /* ffversion.h */; };
-               18F326AB2B95766300CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325DF2B95766300CABA2E /* version.h */; };
-               18F326AC2B95766300CABA2E /* avio.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325E02B95766300CABA2E /* avio.h */; };
-               18F326AD2B95766300CABA2E /* avformat.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325E12B95766300CABA2E /* avformat.h */; };
-               18F326AE2B95766300CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325E32B95766300CABA2E /* version.h */; };
-               18F326AF2B95766300CABA2E /* swscale.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325E42B95766300CABA2E /* swscale.h */; };
-               18F326B02B95766300CABA2E /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325E62B95766300CABA2E /* config.h */; };
-               18F326B12B95766300CABA2E /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325E82B95766300CABA2E /* config.h */; };
-               18F326B22B95766300CABA2E /* adts_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325EA2B95766300CABA2E /* adts_parser.h */; };
-               18F326B32B95766300CABA2E /* avcodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325EB2B95766300CABA2E /* avcodec.h */; };
-               18F326B42B95766300CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325EC2B95766300CABA2E /* version.h */; };
-               18F326B52B95766400CABA2E /* vdpau.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325ED2B95766300CABA2E /* vdpau.h */; };
-               18F326B62B95766400CABA2E /* qsv.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325EE2B95766300CABA2E /* qsv.h */; };
-               18F326B72B95766400CABA2E /* vaapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325EF2B95766300CABA2E /* vaapi.h */; };
-               18F326B82B95766400CABA2E /* videotoolbox.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F02B95766300CABA2E /* videotoolbox.h */; };
-               18F326B92B95766400CABA2E /* xvmc.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F12B95766300CABA2E /* xvmc.h */; };
-               18F326BA2B95766400CABA2E /* mediacodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F22B95766300CABA2E /* mediacodec.h */; };
-               18F326BB2B95766400CABA2E /* d3d11va.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F32B95766300CABA2E /* d3d11va.h */; };
-               18F326BC2B95766400CABA2E /* avfft.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F42B95766300CABA2E /* avfft.h */; };
-               18F326BD2B95766400CABA2E /* jni.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F52B95766300CABA2E /* jni.h */; };
-               18F326BE2B95766400CABA2E /* dirac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F62B95766300CABA2E /* dirac.h */; };
-               18F326BF2B95766400CABA2E /* avdct.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F72B95766300CABA2E /* avdct.h */; };
-               18F326C02B95766400CABA2E /* ac3_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F82B95766300CABA2E /* ac3_parser.h */; };
-               18F326C12B95766400CABA2E /* vorbis_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325F92B95766300CABA2E /* vorbis_parser.h */; };
-               18F326C22B95766400CABA2E /* dxva2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325FA2B95766300CABA2E /* dxva2.h */; };
-               18F326C32B95766400CABA2E /* dv_profile.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325FB2B95766300CABA2E /* dv_profile.h */; };
-               18F326C42B95766400CABA2E /* pem2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325FD2B95766300CABA2E /* pem2.h */; };
-               18F326C52B95766400CABA2E /* pem.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325FE2B95766300CABA2E /* pem.h */; };
-               18F326C62B95766400CABA2E /* ssl3.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F325FF2B95766300CABA2E /* ssl3.h */; };
-               18F326C72B95766400CABA2E /* ossl_typ.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326002B95766300CABA2E /* ossl_typ.h */; };
-               18F326C82B95766400CABA2E /* dtls1.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326012B95766300CABA2E /* dtls1.h */; };
-               18F326C92B95766400CABA2E /* err.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326022B95766300CABA2E /* err.h */; };
-               18F326CA2B95766400CABA2E /* bn.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326032B95766300CABA2E /* bn.h */; };
-               18F326CB2B95766400CABA2E /* blowfish.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326042B95766300CABA2E /* blowfish.h */; };
-               18F326CC2B95766400CABA2E /* cms.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326052B95766300CABA2E /* cms.h */; };
-               18F326CD2B95766400CABA2E /* engine.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326062B95766300CABA2E /* engine.h */; };
-               18F326CE2B95766400CABA2E /* conf_api.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326072B95766300CABA2E /* conf_api.h */; };
-               18F326CF2B95766400CABA2E /* x509.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326082B95766300CABA2E /* x509.h */; };
-               18F326D02B95766400CABA2E /* asn1_mac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326092B95766300CABA2E /* asn1_mac.h */; };
-               18F326D12B95766400CABA2E /* ui.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3260A2B95766300CABA2E /* ui.h */; };
-               18F326D22B95766400CABA2E /* kssl.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3260B2B95766300CABA2E /* kssl.h */; };
-               18F326D32B95766400CABA2E /* sha.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3260C2B95766300CABA2E /* sha.h */; };
-               18F326D42B95766400CABA2E /* symhacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3260D2B95766300CABA2E /* symhacks.h */; };
-               18F326D52B95766400CABA2E /* asn1.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3260E2B95766300CABA2E /* asn1.h */; };
-               18F326D62B95766400CABA2E /* opensslconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3260F2B95766300CABA2E /* opensslconf.h */; };
-               18F326D72B95766400CABA2E /* bio.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326102B95766300CABA2E /* bio.h */; };
-               18F326D82B95766400CABA2E /* rc2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326112B95766300CABA2E /* rc2.h */; };
-               18F326D92B95766400CABA2E /* dh.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326122B95766300CABA2E /* dh.h */; };
-               18F326DA2B95766400CABA2E /* ui_compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326132B95766300CABA2E /* ui_compat.h */; };
-               18F326DB2B95766400CABA2E /* x509v3.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326142B95766300CABA2E /* x509v3.h */; };
-               18F326DC2B95766400CABA2E /* ssl23.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326152B95766300CABA2E /* ssl23.h */; };
-               18F326DD2B95766400CABA2E /* conf.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326162B95766300CABA2E /* conf.h */; };
-               18F326DE2B95766400CABA2E /* md5.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326172B95766300CABA2E /* md5.h */; };
-               18F326DF2B95766400CABA2E /* x509_vfy.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326182B95766300CABA2E /* x509_vfy.h */; };
-               18F326E02B95766400CABA2E /* txt_db.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326192B95766300CABA2E /* txt_db.h */; };
-               18F326E12B95766400CABA2E /* safestack.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3261A2B95766300CABA2E /* safestack.h */; };
-               18F326E22B95766400CABA2E /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3261B2B95766300CABA2E /* ecdsa.h */; };
-               18F326E32B95766400CABA2E /* objects.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3261C2B95766300CABA2E /* objects.h */; };
-               18F326E42B95766400CABA2E /* pkcs12.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3261D2B95766300CABA2E /* pkcs12.h */; };
-               18F326E52B95766400CABA2E /* crypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3261E2B95766300CABA2E /* crypto.h */; };
-               18F326E62B95766400CABA2E /* opensslv.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3261F2B95766300CABA2E /* opensslv.h */; };
-               18F326E72B95766400CABA2E /* pkcs7.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326202B95766300CABA2E /* pkcs7.h */; };
-               18F326E82B95766400CABA2E /* obj_mac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326212B95766300CABA2E /* obj_mac.h */; };
-               18F326E92B95766400CABA2E /* buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326222B95766300CABA2E /* buffer.h */; };
-               18F326EA2B95766400CABA2E /* ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326232B95766300CABA2E /* ssl.h */; };
-               18F326EB2B95766400CABA2E /* srp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326242B95766300CABA2E /* srp.h */; };
-               18F326EC2B95766400CABA2E /* camellia.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326252B95766300CABA2E /* camellia.h */; };
-               18F326ED2B95766400CABA2E /* evp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326262B95766300CABA2E /* evp.h */; };
-               18F326EE2B95766400CABA2E /* e_os2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326272B95766300CABA2E /* e_os2.h */; };
-               18F326EF2B95766400CABA2E /* md4.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326282B95766300CABA2E /* md4.h */; };
-               18F326F02B95766400CABA2E /* hmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326292B95766300CABA2E /* hmac.h */; };
-               18F326F12B95766400CABA2E /* aes.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3262A2B95766300CABA2E /* aes.h */; };
-               18F326F22B95766400CABA2E /* comp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3262B2B95766300CABA2E /* comp.h */; };
-               18F326F32B95766400CABA2E /* cast.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3262C2B95766300CABA2E /* cast.h */; };
-               18F326F42B95766400CABA2E /* rc4.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3262D2B95766300CABA2E /* rc4.h */; };
-               18F326F52B95766400CABA2E /* stack.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3262E2B95766300CABA2E /* stack.h */; };
-               18F326F62B95766400CABA2E /* des.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3262F2B95766300CABA2E /* des.h */; };
-               18F326F72B95766400CABA2E /* ocsp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326302B95766300CABA2E /* ocsp.h */; };
-               18F326F82B95766400CABA2E /* ec.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326312B95766300CABA2E /* ec.h */; };
-               18F326F92B95766400CABA2E /* ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326322B95766300CABA2E /* ecdh.h */; };
-               18F326FA2B95766400CABA2E /* rand.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326332B95766300CABA2E /* rand.h */; };
-               18F326FB2B95766400CABA2E /* ts.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326342B95766300CABA2E /* ts.h */; };
-               18F326FC2B95766400CABA2E /* pqueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326352B95766300CABA2E /* pqueue.h */; };
-               18F326FD2B95766400CABA2E /* dso.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326362B95766300CABA2E /* dso.h */; };
-               18F326FE2B95766400CABA2E /* seed.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326372B95766300CABA2E /* seed.h */; };
-               18F326FF2B95766400CABA2E /* modes.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326382B95766300CABA2E /* modes.h */; };
-               18F327002B95766400CABA2E /* ssl2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326392B95766300CABA2E /* ssl2.h */; };
-               18F327012B95766400CABA2E /* rsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3263A2B95766300CABA2E /* rsa.h */; };
-               18F327022B95766400CABA2E /* krb5_asn.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3263B2B95766300CABA2E /* krb5_asn.h */; };
-               18F327032B95766400CABA2E /* des_old.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3263C2B95766300CABA2E /* des_old.h */; };
-               18F327042B95766400CABA2E /* ripemd.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3263D2B95766300CABA2E /* ripemd.h */; };
-               18F327052B95766400CABA2E /* whrlpool.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3263E2B95766300CABA2E /* whrlpool.h */; };
-               18F327062B95766400CABA2E /* tls1.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3263F2B95766300CABA2E /* tls1.h */; };
-               18F327072B95766400CABA2E /* mdc2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326402B95766300CABA2E /* mdc2.h */; };
-               18F327082B95766400CABA2E /* dsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326412B95766300CABA2E /* dsa.h */; };
-               18F327092B95766400CABA2E /* srtp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326422B95766300CABA2E /* srtp.h */; };
-               18F3270A2B95766400CABA2E /* asn1t.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326432B95766300CABA2E /* asn1t.h */; };
-               18F3270B2B95766400CABA2E /* cmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326442B95766300CABA2E /* cmac.h */; };
-               18F3270C2B95766400CABA2E /* ebcdic.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326452B95766300CABA2E /* ebcdic.h */; };
-               18F3270D2B95766400CABA2E /* idea.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326462B95766300CABA2E /* idea.h */; };
-               18F3270E2B95766400CABA2E /* lhash.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326472B95766300CABA2E /* lhash.h */; };
-               18F3270F2B95766400CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F326492B95766300CABA2E /* version.h */; };
-               18F327102B95766400CABA2E /* swresample.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3264A2B95766300CABA2E /* swresample.h */; };
+               18F327F42B970B3F00CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327242B970B3E00CABA2E /* version.h */; };
+               18F327F52B970B3F00CABA2E /* buffersrc.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327252B970B3E00CABA2E /* buffersrc.h */; };
+               18F327F62B970B3F00CABA2E /* buffersink.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327262B970B3E00CABA2E /* buffersink.h */; };
+               18F327F72B970B3F00CABA2E /* avfilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327272B970B3E00CABA2E /* avfilter.h */; };
+               18F327F82B970B3F00CABA2E /* hwcontext.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327292B970B3E00CABA2E /* hwcontext.h */; };
+               18F327F92B970B3F00CABA2E /* time.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3272A2B970B3E00CABA2E /* time.h */; };
+               18F327FA2B970B3F00CABA2E /* hwcontext_cuda.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3272B2B970B3E00CABA2E /* hwcontext_cuda.h */; };
+               18F327FB2B970B3F00CABA2E /* intfloat.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3272C2B970B3F00CABA2E /* intfloat.h */; };
+               18F327FC2B970B3F00CABA2E /* error.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3272D2B970B3F00CABA2E /* error.h */; };
+               18F327FD2B970B3F00CABA2E /* fifo.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3272E2B970B3F00CABA2E /* fifo.h */; };
+               18F327FE2B970B3F00CABA2E /* blowfish.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3272F2B970B3F00CABA2E /* blowfish.h */; };
+               18F327FF2B970B3F00CABA2E /* hwcontext_mediacodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327302B970B3F00CABA2E /* hwcontext_mediacodec.h */; };
+               18F328002B970B3F00CABA2E /* replaygain.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327312B970B3F00CABA2E /* replaygain.h */; };
+               18F328012B970B3F00CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327322B970B3F00CABA2E /* version.h */; };
+               18F328022B970B3F00CABA2E /* murmur3.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327332B970B3F00CABA2E /* murmur3.h */; };
+               18F328032B970B3F00CABA2E /* stereo3d.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327342B970B3F00CABA2E /* stereo3d.h */; };
+               18F328042B970B3F00CABA2E /* samplefmt.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327352B970B3F00CABA2E /* samplefmt.h */; };
+               18F328052B970B3F00CABA2E /* pixdesc.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327362B970B3F00CABA2E /* pixdesc.h */; };
+               18F328062B970B3F00CABA2E /* base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327372B970B3F00CABA2E /* base64.h */; };
+               18F328072B970B3F00CABA2E /* rational.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327382B970B3F00CABA2E /* rational.h */; };
+               18F328082B970B3F00CABA2E /* sha.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327392B970B3F00CABA2E /* sha.h */; };
+               18F328092B970B3F00CABA2E /* motion_vector.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3273A2B970B3F00CABA2E /* motion_vector.h */; };
+               18F3280A2B970B3F00CABA2E /* avconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3273B2B970B3F00CABA2E /* avconfig.h */; };
+               18F3280B2B970B3F00CABA2E /* lfg.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3273C2B970B3F00CABA2E /* lfg.h */; };
+               18F3280C2B970B3F00CABA2E /* avutil.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3273D2B970B3F00CABA2E /* avutil.h */; };
+               18F3280D2B970B3F00CABA2E /* xtea.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3273E2B970B3F00CABA2E /* xtea.h */; };
+               18F3280E2B970B3F00CABA2E /* crc.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3273F2B970B3F00CABA2E /* crc.h */; };
+               18F3280F2B970B3F00CABA2E /* hwcontext_vdpau.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327402B970B3F00CABA2E /* hwcontext_vdpau.h */; };
+               18F328102B970B3F00CABA2E /* frame.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327412B970B3F00CABA2E /* frame.h */; };
+               18F328112B970B3F00CABA2E /* file.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327422B970B3F00CABA2E /* file.h */; };
+               18F328122B970B3F00CABA2E /* md5.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327432B970B3F00CABA2E /* md5.h */; };
+               18F328132B970B3F00CABA2E /* cast5.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327442B970B3F00CABA2E /* cast5.h */; };
+               18F328142B970B3F00CABA2E /* hwcontext_vaapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327452B970B3F00CABA2E /* hwcontext_vaapi.h */; };
+               18F328152B970B3F00CABA2E /* spherical.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327462B970B3F00CABA2E /* spherical.h */; };
+               18F328162B970B3F00CABA2E /* ffversion.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327472B970B3F00CABA2E /* ffversion.h */; };
+               18F328172B970B3F00CABA2E /* audio_fifo.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327482B970B3F00CABA2E /* audio_fifo.h */; };
+               18F328182B970B3F00CABA2E /* tree.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327492B970B3F00CABA2E /* tree.h */; };
+               18F328192B970B3F00CABA2E /* threadmessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3274A2B970B3F00CABA2E /* threadmessage.h */; };
+               18F3281A2B970B3F00CABA2E /* attributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3274B2B970B3F00CABA2E /* attributes.h */; };
+               18F3281B2B970B3F00CABA2E /* adler32.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3274C2B970B3F00CABA2E /* adler32.h */; };
+               18F3281C2B970B3F00CABA2E /* hwcontext_d3d11va.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3274D2B970B3F00CABA2E /* hwcontext_d3d11va.h */; };
+               18F3281D2B970B3F00CABA2E /* timecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3274E2B970B3F00CABA2E /* timecode.h */; };
+               18F3281E2B970B3F00CABA2E /* tx.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3274F2B970B3F00CABA2E /* tx.h */; };
+               18F3281F2B970B3F00CABA2E /* sha512.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327502B970B3F00CABA2E /* sha512.h */; };
+               18F328202B970B3F00CABA2E /* hwcontext_dxva2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327512B970B3F00CABA2E /* hwcontext_dxva2.h */; };
+               18F328212B970B3F00CABA2E /* display.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327522B970B3F00CABA2E /* display.h */; };
+               18F328222B970B3F00CABA2E /* buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327532B970B3F00CABA2E /* buffer.h */; };
+               18F328232B970B3F00CABA2E /* camellia.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327542B970B3F00CABA2E /* camellia.h */; };
+               18F328242B970B3F00CABA2E /* pixelutils.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327552B970B3F00CABA2E /* pixelutils.h */; };
+               18F328252B970B3F00CABA2E /* hwcontext_drm.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327562B970B3F00CABA2E /* hwcontext_drm.h */; };
+               18F328262B970B3F00CABA2E /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327572B970B3F00CABA2E /* common.h */; };
+               18F328272B970B3F00CABA2E /* hmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327582B970B3F00CABA2E /* hmac.h */; };
+               18F328282B970B3F00CABA2E /* eval.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327592B970B3F00CABA2E /* eval.h */; };
+               18F328292B970B3F00CABA2E /* dict.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3275A2B970B3F00CABA2E /* dict.h */; };
+               18F3282A2B970B3F00CABA2E /* random_seed.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3275B2B970B3F00CABA2E /* random_seed.h */; };
+               18F3282B2B970B3F00CABA2E /* opt.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3275C2B970B3F00CABA2E /* opt.h */; };
+               18F3282C2B970B3F00CABA2E /* mastering_display_metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3275D2B970B3F00CABA2E /* mastering_display_metadata.h */; };
+               18F3282D2B970B3F00CABA2E /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3275E2B970B3F00CABA2E /* log.h */; };
+               18F3282E2B970B3F00CABA2E /* aes.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3275F2B970B3F00CABA2E /* aes.h */; };
+               18F3282F2B970B3F00CABA2E /* macros.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327602B970B3F00CABA2E /* macros.h */; };
+               18F328302B970B3F00CABA2E /* bswap.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327612B970B3F00CABA2E /* bswap.h */; };
+               18F328312B970B3F00CABA2E /* rc4.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327622B970B3F00CABA2E /* rc4.h */; };
+               18F328322B970B3F00CABA2E /* tea.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327632B970B3F00CABA2E /* tea.h */; };
+               18F328332B970B3F00CABA2E /* cpu.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327642B970B3F00CABA2E /* cpu.h */; };
+               18F328342B970B3F00CABA2E /* lzo.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327652B970B3F00CABA2E /* lzo.h */; };
+               18F328352B970B3F00CABA2E /* des.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327662B970B3F00CABA2E /* des.h */; };
+               18F328362B970B3F00CABA2E /* channel_layout.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327672B970B3F00CABA2E /* channel_layout.h */; };
+               18F328372B970B3F00CABA2E /* encryption_info.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327682B970B3F00CABA2E /* encryption_info.h */; };
+               18F328382B970B3F00CABA2E /* twofish.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327692B970B3F00CABA2E /* twofish.h */; };
+               18F328392B970B3F00CABA2E /* imgutils.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3276A2B970B3F00CABA2E /* imgutils.h */; };
+               18F3283A2B970B3F00CABA2E /* hwcontext_videotoolbox.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3276B2B970B3F00CABA2E /* hwcontext_videotoolbox.h */; };
+               18F3283B2B970B3F00CABA2E /* mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3276C2B970B3F00CABA2E /* mem.h */; };
+               18F3283C2B970B3F00CABA2E /* parseutils.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3276D2B970B3F00CABA2E /* parseutils.h */; };
+               18F3283D2B970B3F00CABA2E /* ripemd.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3276E2B970B3F00CABA2E /* ripemd.h */; };
+               18F3283E2B970B3F00CABA2E /* bprint.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3276F2B970B3F00CABA2E /* bprint.h */; };
+               18F3283F2B970B3F00CABA2E /* hdr_dynamic_metadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327702B970B3F00CABA2E /* hdr_dynamic_metadata.h */; };
+               18F328402B970B3F00CABA2E /* hwcontext_qsv.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327712B970B3F00CABA2E /* hwcontext_qsv.h */; };
+               18F328412B970B3F00CABA2E /* pixfmt.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327722B970B3F00CABA2E /* pixfmt.h */; };
+               18F328422B970B3F00CABA2E /* aes_ctr.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327732B970B3F00CABA2E /* aes_ctr.h */; };
+               18F328432B970B3F00CABA2E /* timestamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327742B970B3F00CABA2E /* timestamp.h */; };
+               18F328442B970B3F00CABA2E /* downmix_info.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327752B970B3F00CABA2E /* downmix_info.h */; };
+               18F328452B970B3F00CABA2E /* avassert.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327762B970B3F00CABA2E /* avassert.h */; };
+               18F328462B970B3F00CABA2E /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327772B970B3F00CABA2E /* hash.h */; };
+               18F328472B970B3F00CABA2E /* mathematics.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327782B970B3F00CABA2E /* mathematics.h */; };
+               18F328482B970B3F00CABA2E /* intreadwrite.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327792B970B3F00CABA2E /* intreadwrite.h */; };
+               18F328492B970B3F00CABA2E /* avstring.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3277A2B970B3F00CABA2E /* avstring.h */; };
+               18F3284A2B970B3F00CABA2E /* avconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3277C2B970B3F00CABA2E /* avconfig.h */; };
+               18F3284B2B970B3F00CABA2E /* ffversion.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3277D2B970B3F00CABA2E /* ffversion.h */; };
+               18F3284C2B970B3F00CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3277F2B970B3F00CABA2E /* version.h */; };
+               18F3284D2B970B3F00CABA2E /* avio.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327802B970B3F00CABA2E /* avio.h */; };
+               18F3284E2B970B3F00CABA2E /* avformat.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327812B970B3F00CABA2E /* avformat.h */; };
+               18F3284F2B970B3F00CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327832B970B3F00CABA2E /* version.h */; };
+               18F328502B970B4000CABA2E /* swscale.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327842B970B3F00CABA2E /* swscale.h */; };
+               18F328512B970B4000CABA2E /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327862B970B3F00CABA2E /* config.h */; };
+               18F328522B970B4000CABA2E /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327882B970B3F00CABA2E /* config.h */; };
+               18F328532B970B4000CABA2E /* adts_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3278A2B970B3F00CABA2E /* adts_parser.h */; };
+               18F328542B970B4000CABA2E /* avcodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3278B2B970B3F00CABA2E /* avcodec.h */; };
+               18F328552B970B4000CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3278C2B970B3F00CABA2E /* version.h */; };
+               18F328562B970B4000CABA2E /* vdpau.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3278D2B970B3F00CABA2E /* vdpau.h */; };
+               18F328572B970B4000CABA2E /* qsv.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3278E2B970B3F00CABA2E /* qsv.h */; };
+               18F328582B970B4000CABA2E /* vaapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3278F2B970B3F00CABA2E /* vaapi.h */; };
+               18F328592B970B4000CABA2E /* videotoolbox.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327902B970B3F00CABA2E /* videotoolbox.h */; };
+               18F3285A2B970B4000CABA2E /* xvmc.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327912B970B3F00CABA2E /* xvmc.h */; };
+               18F3285B2B970B4000CABA2E /* mediacodec.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327922B970B3F00CABA2E /* mediacodec.h */; };
+               18F3285C2B970B4000CABA2E /* d3d11va.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327932B970B3F00CABA2E /* d3d11va.h */; };
+               18F3285D2B970B4000CABA2E /* avfft.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327942B970B3F00CABA2E /* avfft.h */; };
+               18F3285E2B970B4000CABA2E /* jni.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327952B970B3F00CABA2E /* jni.h */; };
+               18F3285F2B970B4000CABA2E /* dirac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327962B970B3F00CABA2E /* dirac.h */; };
+               18F328602B970B4000CABA2E /* avdct.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327972B970B3F00CABA2E /* avdct.h */; };
+               18F328612B970B4000CABA2E /* ac3_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327982B970B3F00CABA2E /* ac3_parser.h */; };
+               18F328622B970B4000CABA2E /* vorbis_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327992B970B3F00CABA2E /* vorbis_parser.h */; };
+               18F328632B970B4000CABA2E /* dxva2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3279A2B970B3F00CABA2E /* dxva2.h */; };
+               18F328642B970B4000CABA2E /* dv_profile.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3279B2B970B3F00CABA2E /* dv_profile.h */; };
+               18F328652B970B4000CABA2E /* pem2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3279D2B970B3F00CABA2E /* pem2.h */; };
+               18F328662B970B4000CABA2E /* pem.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3279E2B970B3F00CABA2E /* pem.h */; };
+               18F328672B970B4000CABA2E /* ssl3.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F3279F2B970B3F00CABA2E /* ssl3.h */; };
+               18F328682B970B4000CABA2E /* ossl_typ.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A02B970B3F00CABA2E /* ossl_typ.h */; };
+               18F328692B970B4000CABA2E /* dtls1.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A12B970B3F00CABA2E /* dtls1.h */; };
+               18F3286A2B970B4000CABA2E /* err.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A22B970B3F00CABA2E /* err.h */; };
+               18F3286B2B970B4000CABA2E /* bn.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A32B970B3F00CABA2E /* bn.h */; };
+               18F3286C2B970B4000CABA2E /* blowfish.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A42B970B3F00CABA2E /* blowfish.h */; };
+               18F3286D2B970B4000CABA2E /* cms.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A52B970B3F00CABA2E /* cms.h */; };
+               18F3286E2B970B4000CABA2E /* engine.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A62B970B3F00CABA2E /* engine.h */; };
+               18F3286F2B970B4000CABA2E /* conf_api.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A72B970B3F00CABA2E /* conf_api.h */; };
+               18F328702B970B4000CABA2E /* x509.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A82B970B3F00CABA2E /* x509.h */; };
+               18F328712B970B4000CABA2E /* asn1_mac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327A92B970B3F00CABA2E /* asn1_mac.h */; };
+               18F328722B970B4000CABA2E /* ui.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327AA2B970B3F00CABA2E /* ui.h */; };
+               18F328732B970B4000CABA2E /* kssl.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327AB2B970B3F00CABA2E /* kssl.h */; };
+               18F328742B970B4000CABA2E /* sha.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327AC2B970B3F00CABA2E /* sha.h */; };
+               18F328752B970B4000CABA2E /* symhacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327AD2B970B3F00CABA2E /* symhacks.h */; };
+               18F328762B970B4000CABA2E /* asn1.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327AE2B970B3F00CABA2E /* asn1.h */; };
+               18F328772B970B4000CABA2E /* opensslconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327AF2B970B3F00CABA2E /* opensslconf.h */; };
+               18F328782B970B4000CABA2E /* bio.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B02B970B3F00CABA2E /* bio.h */; };
+               18F328792B970B4000CABA2E /* rc2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B12B970B3F00CABA2E /* rc2.h */; };
+               18F3287A2B970B4000CABA2E /* dh.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B22B970B3F00CABA2E /* dh.h */; };
+               18F3287B2B970B4000CABA2E /* ui_compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B32B970B3F00CABA2E /* ui_compat.h */; };
+               18F3287C2B970B4000CABA2E /* x509v3.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B42B970B3F00CABA2E /* x509v3.h */; };
+               18F3287D2B970B4000CABA2E /* ssl23.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B52B970B3F00CABA2E /* ssl23.h */; };
+               18F3287E2B970B4000CABA2E /* conf.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B62B970B3F00CABA2E /* conf.h */; };
+               18F3287F2B970B4000CABA2E /* md5.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B72B970B3F00CABA2E /* md5.h */; };
+               18F328802B970B4000CABA2E /* x509_vfy.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B82B970B3F00CABA2E /* x509_vfy.h */; };
+               18F328812B970B4000CABA2E /* txt_db.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327B92B970B3F00CABA2E /* txt_db.h */; };
+               18F328822B970B4000CABA2E /* safestack.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327BA2B970B3F00CABA2E /* safestack.h */; };
+               18F328832B970B4000CABA2E /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327BB2B970B3F00CABA2E /* ecdsa.h */; };
+               18F328842B970B4000CABA2E /* objects.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327BC2B970B3F00CABA2E /* objects.h */; };
+               18F328852B970B4000CABA2E /* pkcs12.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327BD2B970B3F00CABA2E /* pkcs12.h */; };
+               18F328862B970B4000CABA2E /* crypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327BE2B970B3F00CABA2E /* crypto.h */; };
+               18F328872B970B4000CABA2E /* opensslv.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327BF2B970B3F00CABA2E /* opensslv.h */; };
+               18F328882B970B4000CABA2E /* pkcs7.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C02B970B3F00CABA2E /* pkcs7.h */; };
+               18F328892B970B4000CABA2E /* obj_mac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C12B970B3F00CABA2E /* obj_mac.h */; };
+               18F3288A2B970B4000CABA2E /* buffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C22B970B3F00CABA2E /* buffer.h */; };
+               18F3288B2B970B4000CABA2E /* ssl.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C32B970B3F00CABA2E /* ssl.h */; };
+               18F3288C2B970B4000CABA2E /* srp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C42B970B3F00CABA2E /* srp.h */; };
+               18F3288D2B970B4000CABA2E /* camellia.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C52B970B3F00CABA2E /* camellia.h */; };
+               18F3288E2B970B4000CABA2E /* evp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C62B970B3F00CABA2E /* evp.h */; };
+               18F3288F2B970B4000CABA2E /* e_os2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C72B970B3F00CABA2E /* e_os2.h */; };
+               18F328902B970B4000CABA2E /* md4.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C82B970B3F00CABA2E /* md4.h */; };
+               18F328912B970B4000CABA2E /* hmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327C92B970B3F00CABA2E /* hmac.h */; };
+               18F328922B970B4000CABA2E /* aes.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327CA2B970B3F00CABA2E /* aes.h */; };
+               18F328932B970B4000CABA2E /* comp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327CB2B970B3F00CABA2E /* comp.h */; };
+               18F328942B970B4000CABA2E /* cast.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327CC2B970B3F00CABA2E /* cast.h */; };
+               18F328952B970B4000CABA2E /* rc4.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327CD2B970B3F00CABA2E /* rc4.h */; };
+               18F328962B970B4000CABA2E /* stack.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327CE2B970B3F00CABA2E /* stack.h */; };
+               18F328972B970B4000CABA2E /* des.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327CF2B970B3F00CABA2E /* des.h */; };
+               18F328982B970B4000CABA2E /* ocsp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D02B970B3F00CABA2E /* ocsp.h */; };
+               18F328992B970B4000CABA2E /* ec.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D12B970B3F00CABA2E /* ec.h */; };
+               18F3289A2B970B4000CABA2E /* ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D22B970B3F00CABA2E /* ecdh.h */; };
+               18F3289B2B970B4000CABA2E /* rand.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D32B970B3F00CABA2E /* rand.h */; };
+               18F3289C2B970B4000CABA2E /* ts.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D42B970B3F00CABA2E /* ts.h */; };
+               18F3289D2B970B4000CABA2E /* pqueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D52B970B3F00CABA2E /* pqueue.h */; };
+               18F3289E2B970B4000CABA2E /* dso.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D62B970B3F00CABA2E /* dso.h */; };
+               18F3289F2B970B4000CABA2E /* seed.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D72B970B3F00CABA2E /* seed.h */; };
+               18F328A02B970B4000CABA2E /* modes.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D82B970B3F00CABA2E /* modes.h */; };
+               18F328A12B970B4000CABA2E /* ssl2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327D92B970B3F00CABA2E /* ssl2.h */; };
+               18F328A22B970B4000CABA2E /* rsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327DA2B970B3F00CABA2E /* rsa.h */; };
+               18F328A32B970B4000CABA2E /* krb5_asn.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327DB2B970B3F00CABA2E /* krb5_asn.h */; };
+               18F328A42B970B4000CABA2E /* des_old.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327DC2B970B3F00CABA2E /* des_old.h */; };
+               18F328A52B970B4000CABA2E /* ripemd.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327DD2B970B3F00CABA2E /* ripemd.h */; };
+               18F328A62B970B4000CABA2E /* whrlpool.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327DE2B970B3F00CABA2E /* whrlpool.h */; };
+               18F328A72B970B4000CABA2E /* tls1.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327DF2B970B3F00CABA2E /* tls1.h */; };
+               18F328A82B970B4000CABA2E /* mdc2.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327E02B970B3F00CABA2E /* mdc2.h */; };
+               18F328A92B970B4000CABA2E /* dsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327E12B970B3F00CABA2E /* dsa.h */; };
+               18F328AA2B970B4000CABA2E /* srtp.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327E22B970B3F00CABA2E /* srtp.h */; };
+               18F328AB2B970B4000CABA2E /* asn1t.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327E32B970B3F00CABA2E /* asn1t.h */; };
+               18F328AC2B970B4000CABA2E /* cmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327E42B970B3F00CABA2E /* cmac.h */; };
+               18F328AD2B970B4000CABA2E /* ebcdic.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327E52B970B3F00CABA2E /* ebcdic.h */; };
+               18F328AE2B970B4000CABA2E /* idea.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327E62B970B3F00CABA2E /* idea.h */; };
+               18F328AF2B970B4000CABA2E /* lhash.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327E72B970B3F00CABA2E /* lhash.h */; };
+               18F328B02B970B4000CABA2E /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327E92B970B3F00CABA2E /* version.h */; };
+               18F328B12B970B4000CABA2E /* swresample.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F327EA2B970B3F00CABA2E /* swresample.h */; };
+               18F328B22B970B4000CABA2E /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F327EC2B970B3F00CABA2E /* libcrypto.a */; };
+               18F328B32B970B4000CABA2E /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F327ED2B970B3F00CABA2E /* libavutil.a */; };
+               18F328B42B970B4000CABA2E /* libavfilter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F327EE2B970B3F00CABA2E /* libavfilter.a */; };
+               18F328B52B970B4000CABA2E /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F327EF2B970B3F00CABA2E /* libavcodec.a */; };
+               18F328B62B970B4000CABA2E /* libavformat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F327F02B970B3F00CABA2E /* libavformat.a */; };
+               18F328B72B970B4000CABA2E /* libswresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F327F12B970B3F00CABA2E /* libswresample.a */; };
+               18F328B82B970B4000CABA2E /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F327F22B970B3F00CABA2E /* libssl.a */; };
+               18F328B92B970B4000CABA2E /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F327F32B970B3F00CABA2E /* libswscale.a */; };
+               18F328D52B98569D00CABA2E /* Config.m in Sources */ = {isa = PBXBuildFile; fileRef = 18F328D42B98569D00CABA2E /* Config.m */; };
                8A6657BD1406314D4CBB7CEF /* libPods-MouseSdk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0311DF3AD67ED792549B96BD /* libPods-MouseSdk.a */; };
 /* End PBXBuildFile section */
 
                18BF1E892B8362D300B8D90F /* AiSdk.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AiSdk.h; sourceTree = "<group>"; };
                18F3235B2B8ED78300CABA2E /* ScanCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScanCell.h; sourceTree = "<group>"; };
                18F3235C2B8ED78300CABA2E /* ScanCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ScanCell.m; sourceTree = "<group>"; };
-               18F323602B8F13D600CABA2E /* LogVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LogVC.h; sourceTree = "<group>"; };
-               18F323612B8F13D600CABA2E /* LogVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LogVC.m; sourceTree = "<group>"; };
                18F323652B8F1C1900CABA2E /* AiIot.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AiIot.h; sourceTree = "<group>"; };
                18F323662B8F1C1900CABA2E /* AiIot.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AiIot.m; sourceTree = "<group>"; };
                18F323752B8F2DAC00CABA2E /* AliIotTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AliIotTools.m; sourceTree = "<group>"; };
                18F323762B8F2DAD00CABA2E /* AliIotTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AliIotTools.h; sourceTree = "<group>"; };
                18F323782B8F2EFB00CABA2E /* AliIotConnectKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AliIotConnectKit.xcodeproj; path = AliIotConnectKitSDK/AliIotConnectKit.xcodeproj; sourceTree = "<group>"; };
-               18F323822B8F330100CABA2E /* AiIotConnectManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AiIotConnectManager.h; sourceTree = "<group>"; };
-               18F323832B8F330100CABA2E /* AiIotConnectManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AiIotConnectManager.m; sourceTree = "<group>"; };
+               18F323822B8F330100CABA2E /* AiIotAuthManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AiIotAuthManager.h; sourceTree = "<group>"; };
+               18F323832B8F330100CABA2E /* AiIotAuthManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AiIotAuthManager.m; sourceTree = "<group>"; };
                18F323882B8F4DBE00CABA2E /* PCMPlayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PCMPlayer.h; sourceTree = "<group>"; };
                18F323892B8F4DBE00CABA2E /* PCMPlayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PCMPlayer.m; sourceTree = "<group>"; };
                18F3238C2B8F4F7300CABA2E /* AiIotAudioManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AiIotAudioManager.h; sourceTree = "<group>"; };
                18F324A52B93385100CABA2E /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = System/Library/Frameworks/VideoToolbox.framework; sourceTree = SDKROOT; };
                18F324A82B956F1C00CABA2E /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
                18F325772B95737F00CABA2E /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
-               18F3257A2B95766200CABA2E /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libcrypto.a; sourceTree = "<group>"; };
-               18F3257B2B95766200CABA2E /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavutil.a; sourceTree = "<group>"; };
-               18F3257C2B95766200CABA2E /* libavfilter.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavfilter.a; sourceTree = "<group>"; };
-               18F3257D2B95766200CABA2E /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavcodec.a; sourceTree = "<group>"; };
-               18F3257E2B95766200CABA2E /* libavformat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavformat.a; sourceTree = "<group>"; };
-               18F3257F2B95766200CABA2E /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libswresample.a; sourceTree = "<group>"; };
-               18F325802B95766200CABA2E /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libssl.a; sourceTree = "<group>"; };
-               18F325812B95766200CABA2E /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libswscale.a; sourceTree = "<group>"; };
-               18F325842B95766200CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
-               18F325852B95766200CABA2E /* buffersrc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffersrc.h; sourceTree = "<group>"; };
-               18F325862B95766200CABA2E /* buffersink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffersink.h; sourceTree = "<group>"; };
-               18F325872B95766200CABA2E /* avfilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avfilter.h; sourceTree = "<group>"; };
-               18F325892B95766200CABA2E /* hwcontext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext.h; sourceTree = "<group>"; };
-               18F3258A2B95766200CABA2E /* time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = time.h; sourceTree = "<group>"; };
-               18F3258B2B95766200CABA2E /* hwcontext_cuda.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_cuda.h; sourceTree = "<group>"; };
-               18F3258C2B95766200CABA2E /* intfloat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intfloat.h; sourceTree = "<group>"; };
-               18F3258D2B95766200CABA2E /* error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = "<group>"; };
-               18F3258E2B95766200CABA2E /* fifo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fifo.h; sourceTree = "<group>"; };
-               18F3258F2B95766200CABA2E /* blowfish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blowfish.h; sourceTree = "<group>"; };
-               18F325902B95766200CABA2E /* hwcontext_mediacodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_mediacodec.h; sourceTree = "<group>"; };
-               18F325912B95766200CABA2E /* replaygain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = replaygain.h; sourceTree = "<group>"; };
-               18F325922B95766200CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
-               18F325932B95766200CABA2E /* murmur3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = murmur3.h; sourceTree = "<group>"; };
-               18F325942B95766200CABA2E /* stereo3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stereo3d.h; sourceTree = "<group>"; };
-               18F325952B95766300CABA2E /* samplefmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = samplefmt.h; sourceTree = "<group>"; };
-               18F325962B95766300CABA2E /* pixdesc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pixdesc.h; sourceTree = "<group>"; };
-               18F325972B95766300CABA2E /* base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = base64.h; sourceTree = "<group>"; };
-               18F325982B95766300CABA2E /* rational.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rational.h; sourceTree = "<group>"; };
-               18F325992B95766300CABA2E /* sha.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha.h; sourceTree = "<group>"; };
-               18F3259A2B95766300CABA2E /* motion_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = motion_vector.h; sourceTree = "<group>"; };
-               18F3259B2B95766300CABA2E /* avconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avconfig.h; sourceTree = "<group>"; };
-               18F3259C2B95766300CABA2E /* lfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lfg.h; sourceTree = "<group>"; };
-               18F3259D2B95766300CABA2E /* avutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avutil.h; sourceTree = "<group>"; };
-               18F3259E2B95766300CABA2E /* xtea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xtea.h; sourceTree = "<group>"; };
-               18F3259F2B95766300CABA2E /* crc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crc.h; sourceTree = "<group>"; };
-               18F325A02B95766300CABA2E /* hwcontext_vdpau.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_vdpau.h; sourceTree = "<group>"; };
-               18F325A12B95766300CABA2E /* frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = frame.h; sourceTree = "<group>"; };
-               18F325A22B95766300CABA2E /* file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = file.h; sourceTree = "<group>"; };
-               18F325A32B95766300CABA2E /* md5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = "<group>"; };
-               18F325A42B95766300CABA2E /* cast5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cast5.h; sourceTree = "<group>"; };
-               18F325A52B95766300CABA2E /* hwcontext_vaapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_vaapi.h; sourceTree = "<group>"; };
-               18F325A62B95766300CABA2E /* spherical.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spherical.h; sourceTree = "<group>"; };
-               18F325A72B95766300CABA2E /* ffversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffversion.h; sourceTree = "<group>"; };
-               18F325A82B95766300CABA2E /* audio_fifo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_fifo.h; sourceTree = "<group>"; };
-               18F325A92B95766300CABA2E /* tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree.h; sourceTree = "<group>"; };
-               18F325AA2B95766300CABA2E /* threadmessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = threadmessage.h; sourceTree = "<group>"; };
-               18F325AB2B95766300CABA2E /* attributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = attributes.h; sourceTree = "<group>"; };
-               18F325AC2B95766300CABA2E /* adler32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adler32.h; sourceTree = "<group>"; };
-               18F325AD2B95766300CABA2E /* hwcontext_d3d11va.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_d3d11va.h; sourceTree = "<group>"; };
-               18F325AE2B95766300CABA2E /* timecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timecode.h; sourceTree = "<group>"; };
-               18F325AF2B95766300CABA2E /* tx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tx.h; sourceTree = "<group>"; };
-               18F325B02B95766300CABA2E /* sha512.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha512.h; sourceTree = "<group>"; };
-               18F325B12B95766300CABA2E /* hwcontext_dxva2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_dxva2.h; sourceTree = "<group>"; };
-               18F325B22B95766300CABA2E /* display.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = display.h; sourceTree = "<group>"; };
-               18F325B32B95766300CABA2E /* buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffer.h; sourceTree = "<group>"; };
-               18F325B42B95766300CABA2E /* camellia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = camellia.h; sourceTree = "<group>"; };
-               18F325B52B95766300CABA2E /* pixelutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pixelutils.h; sourceTree = "<group>"; };
-               18F325B62B95766300CABA2E /* hwcontext_drm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_drm.h; sourceTree = "<group>"; };
-               18F325B72B95766300CABA2E /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
-               18F325B82B95766300CABA2E /* hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hmac.h; sourceTree = "<group>"; };
-               18F325B92B95766300CABA2E /* eval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eval.h; sourceTree = "<group>"; };
-               18F325BA2B95766300CABA2E /* dict.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dict.h; sourceTree = "<group>"; };
-               18F325BB2B95766300CABA2E /* random_seed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = random_seed.h; sourceTree = "<group>"; };
-               18F325BC2B95766300CABA2E /* opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opt.h; sourceTree = "<group>"; };
-               18F325BD2B95766300CABA2E /* mastering_display_metadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mastering_display_metadata.h; sourceTree = "<group>"; };
-               18F325BE2B95766300CABA2E /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
-               18F325BF2B95766300CABA2E /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; };
-               18F325C02B95766300CABA2E /* macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macros.h; sourceTree = "<group>"; };
-               18F325C12B95766300CABA2E /* bswap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bswap.h; sourceTree = "<group>"; };
-               18F325C22B95766300CABA2E /* rc4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc4.h; sourceTree = "<group>"; };
-               18F325C32B95766300CABA2E /* tea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tea.h; sourceTree = "<group>"; };
-               18F325C42B95766300CABA2E /* cpu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu.h; sourceTree = "<group>"; };
-               18F325C52B95766300CABA2E /* lzo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lzo.h; sourceTree = "<group>"; };
-               18F325C62B95766300CABA2E /* des.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = "<group>"; };
-               18F325C72B95766300CABA2E /* channel_layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = channel_layout.h; sourceTree = "<group>"; };
-               18F325C82B95766300CABA2E /* encryption_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encryption_info.h; sourceTree = "<group>"; };
-               18F325C92B95766300CABA2E /* twofish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = twofish.h; sourceTree = "<group>"; };
-               18F325CA2B95766300CABA2E /* imgutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imgutils.h; sourceTree = "<group>"; };
-               18F325CB2B95766300CABA2E /* hwcontext_videotoolbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_videotoolbox.h; sourceTree = "<group>"; };
-               18F325CC2B95766300CABA2E /* mem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem.h; sourceTree = "<group>"; };
-               18F325CD2B95766300CABA2E /* parseutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parseutils.h; sourceTree = "<group>"; };
-               18F325CE2B95766300CABA2E /* ripemd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ripemd.h; sourceTree = "<group>"; };
-               18F325CF2B95766300CABA2E /* bprint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bprint.h; sourceTree = "<group>"; };
-               18F325D02B95766300CABA2E /* hdr_dynamic_metadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hdr_dynamic_metadata.h; sourceTree = "<group>"; };
-               18F325D12B95766300CABA2E /* hwcontext_qsv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_qsv.h; sourceTree = "<group>"; };
-               18F325D22B95766300CABA2E /* pixfmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pixfmt.h; sourceTree = "<group>"; };
-               18F325D32B95766300CABA2E /* aes_ctr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes_ctr.h; sourceTree = "<group>"; };
-               18F325D42B95766300CABA2E /* timestamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timestamp.h; sourceTree = "<group>"; };
-               18F325D52B95766300CABA2E /* downmix_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = downmix_info.h; sourceTree = "<group>"; };
-               18F325D62B95766300CABA2E /* avassert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avassert.h; sourceTree = "<group>"; };
-               18F325D72B95766300CABA2E /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash.h; sourceTree = "<group>"; };
-               18F325D82B95766300CABA2E /* mathematics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mathematics.h; sourceTree = "<group>"; };
-               18F325D92B95766300CABA2E /* intreadwrite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intreadwrite.h; sourceTree = "<group>"; };
-               18F325DA2B95766300CABA2E /* avstring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avstring.h; sourceTree = "<group>"; };
-               18F325DC2B95766300CABA2E /* avconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avconfig.h; sourceTree = "<group>"; };
-               18F325DD2B95766300CABA2E /* ffversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffversion.h; sourceTree = "<group>"; };
-               18F325DF2B95766300CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
-               18F325E02B95766300CABA2E /* avio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avio.h; sourceTree = "<group>"; };
-               18F325E12B95766300CABA2E /* avformat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avformat.h; sourceTree = "<group>"; };
-               18F325E32B95766300CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
-               18F325E42B95766300CABA2E /* swscale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swscale.h; sourceTree = "<group>"; };
-               18F325E62B95766300CABA2E /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
-               18F325E82B95766300CABA2E /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
-               18F325EA2B95766300CABA2E /* adts_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adts_parser.h; sourceTree = "<group>"; };
-               18F325EB2B95766300CABA2E /* avcodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avcodec.h; sourceTree = "<group>"; };
-               18F325EC2B95766300CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
-               18F325ED2B95766300CABA2E /* vdpau.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vdpau.h; sourceTree = "<group>"; };
-               18F325EE2B95766300CABA2E /* qsv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = qsv.h; sourceTree = "<group>"; };
-               18F325EF2B95766300CABA2E /* vaapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vaapi.h; sourceTree = "<group>"; };
-               18F325F02B95766300CABA2E /* videotoolbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = videotoolbox.h; sourceTree = "<group>"; };
-               18F325F12B95766300CABA2E /* xvmc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xvmc.h; sourceTree = "<group>"; };
-               18F325F22B95766300CABA2E /* mediacodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mediacodec.h; sourceTree = "<group>"; };
-               18F325F32B95766300CABA2E /* d3d11va.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = d3d11va.h; sourceTree = "<group>"; };
-               18F325F42B95766300CABA2E /* avfft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avfft.h; sourceTree = "<group>"; };
-               18F325F52B95766300CABA2E /* jni.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = jni.h; sourceTree = "<group>"; };
-               18F325F62B95766300CABA2E /* dirac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dirac.h; sourceTree = "<group>"; };
-               18F325F72B95766300CABA2E /* avdct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avdct.h; sourceTree = "<group>"; };
-               18F325F82B95766300CABA2E /* ac3_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ac3_parser.h; sourceTree = "<group>"; };
-               18F325F92B95766300CABA2E /* vorbis_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vorbis_parser.h; sourceTree = "<group>"; };
-               18F325FA2B95766300CABA2E /* dxva2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dxva2.h; sourceTree = "<group>"; };
-               18F325FB2B95766300CABA2E /* dv_profile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dv_profile.h; sourceTree = "<group>"; };
-               18F325FD2B95766300CABA2E /* pem2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pem2.h; sourceTree = "<group>"; };
-               18F325FE2B95766300CABA2E /* pem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pem.h; sourceTree = "<group>"; };
-               18F325FF2B95766300CABA2E /* ssl3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl3.h; sourceTree = "<group>"; };
-               18F326002B95766300CABA2E /* ossl_typ.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ossl_typ.h; sourceTree = "<group>"; };
-               18F326012B95766300CABA2E /* dtls1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtls1.h; sourceTree = "<group>"; };
-               18F326022B95766300CABA2E /* err.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = err.h; sourceTree = "<group>"; };
-               18F326032B95766300CABA2E /* bn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bn.h; sourceTree = "<group>"; };
-               18F326042B95766300CABA2E /* blowfish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blowfish.h; sourceTree = "<group>"; };
-               18F326052B95766300CABA2E /* cms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cms.h; sourceTree = "<group>"; };
-               18F326062B95766300CABA2E /* engine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = engine.h; sourceTree = "<group>"; };
-               18F326072B95766300CABA2E /* conf_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conf_api.h; sourceTree = "<group>"; };
-               18F326082B95766300CABA2E /* x509.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509.h; sourceTree = "<group>"; };
-               18F326092B95766300CABA2E /* asn1_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1_mac.h; sourceTree = "<group>"; };
-               18F3260A2B95766300CABA2E /* ui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui.h; sourceTree = "<group>"; };
-               18F3260B2B95766300CABA2E /* kssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kssl.h; sourceTree = "<group>"; };
-               18F3260C2B95766300CABA2E /* sha.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha.h; sourceTree = "<group>"; };
-               18F3260D2B95766300CABA2E /* symhacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = symhacks.h; sourceTree = "<group>"; };
-               18F3260E2B95766300CABA2E /* asn1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1.h; sourceTree = "<group>"; };
-               18F3260F2B95766300CABA2E /* opensslconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opensslconf.h; sourceTree = "<group>"; };
-               18F326102B95766300CABA2E /* bio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bio.h; sourceTree = "<group>"; };
-               18F326112B95766300CABA2E /* rc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc2.h; sourceTree = "<group>"; };
-               18F326122B95766300CABA2E /* dh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dh.h; sourceTree = "<group>"; };
-               18F326132B95766300CABA2E /* ui_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui_compat.h; sourceTree = "<group>"; };
-               18F326142B95766300CABA2E /* x509v3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509v3.h; sourceTree = "<group>"; };
-               18F326152B95766300CABA2E /* ssl23.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl23.h; sourceTree = "<group>"; };
-               18F326162B95766300CABA2E /* conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conf.h; sourceTree = "<group>"; };
-               18F326172B95766300CABA2E /* md5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = "<group>"; };
-               18F326182B95766300CABA2E /* x509_vfy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509_vfy.h; sourceTree = "<group>"; };
-               18F326192B95766300CABA2E /* txt_db.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = txt_db.h; sourceTree = "<group>"; };
-               18F3261A2B95766300CABA2E /* safestack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safestack.h; sourceTree = "<group>"; };
-               18F3261B2B95766300CABA2E /* ecdsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ecdsa.h; sourceTree = "<group>"; };
-               18F3261C2B95766300CABA2E /* objects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = objects.h; sourceTree = "<group>"; };
-               18F3261D2B95766300CABA2E /* pkcs12.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pkcs12.h; sourceTree = "<group>"; };
-               18F3261E2B95766300CABA2E /* crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto.h; sourceTree = "<group>"; };
-               18F3261F2B95766300CABA2E /* opensslv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opensslv.h; sourceTree = "<group>"; };
-               18F326202B95766300CABA2E /* pkcs7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pkcs7.h; sourceTree = "<group>"; };
-               18F326212B95766300CABA2E /* obj_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = obj_mac.h; sourceTree = "<group>"; };
-               18F326222B95766300CABA2E /* buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffer.h; sourceTree = "<group>"; };
-               18F326232B95766300CABA2E /* ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl.h; sourceTree = "<group>"; };
-               18F326242B95766300CABA2E /* srp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = srp.h; sourceTree = "<group>"; };
-               18F326252B95766300CABA2E /* camellia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = camellia.h; sourceTree = "<group>"; };
-               18F326262B95766300CABA2E /* evp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = evp.h; sourceTree = "<group>"; };
-               18F326272B95766300CABA2E /* e_os2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = e_os2.h; sourceTree = "<group>"; };
-               18F326282B95766300CABA2E /* md4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md4.h; sourceTree = "<group>"; };
-               18F326292B95766300CABA2E /* hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hmac.h; sourceTree = "<group>"; };
-               18F3262A2B95766300CABA2E /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; };
-               18F3262B2B95766300CABA2E /* comp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = comp.h; sourceTree = "<group>"; };
-               18F3262C2B95766300CABA2E /* cast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cast.h; sourceTree = "<group>"; };
-               18F3262D2B95766300CABA2E /* rc4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc4.h; sourceTree = "<group>"; };
-               18F3262E2B95766300CABA2E /* stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stack.h; sourceTree = "<group>"; };
-               18F3262F2B95766300CABA2E /* des.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = "<group>"; };
-               18F326302B95766300CABA2E /* ocsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ocsp.h; sourceTree = "<group>"; };
-               18F326312B95766300CABA2E /* ec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ec.h; sourceTree = "<group>"; };
-               18F326322B95766300CABA2E /* ecdh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ecdh.h; sourceTree = "<group>"; };
-               18F326332B95766300CABA2E /* rand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rand.h; sourceTree = "<group>"; };
-               18F326342B95766300CABA2E /* ts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ts.h; sourceTree = "<group>"; };
-               18F326352B95766300CABA2E /* pqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pqueue.h; sourceTree = "<group>"; };
-               18F326362B95766300CABA2E /* dso.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dso.h; sourceTree = "<group>"; };
-               18F326372B95766300CABA2E /* seed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = seed.h; sourceTree = "<group>"; };
-               18F326382B95766300CABA2E /* modes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = modes.h; sourceTree = "<group>"; };
-               18F326392B95766300CABA2E /* ssl2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl2.h; sourceTree = "<group>"; };
-               18F3263A2B95766300CABA2E /* rsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rsa.h; sourceTree = "<group>"; };
-               18F3263B2B95766300CABA2E /* krb5_asn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = krb5_asn.h; sourceTree = "<group>"; };
-               18F3263C2B95766300CABA2E /* des_old.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des_old.h; sourceTree = "<group>"; };
-               18F3263D2B95766300CABA2E /* ripemd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ripemd.h; sourceTree = "<group>"; };
-               18F3263E2B95766300CABA2E /* whrlpool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = whrlpool.h; sourceTree = "<group>"; };
-               18F3263F2B95766300CABA2E /* tls1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tls1.h; sourceTree = "<group>"; };
-               18F326402B95766300CABA2E /* mdc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mdc2.h; sourceTree = "<group>"; };
-               18F326412B95766300CABA2E /* dsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dsa.h; sourceTree = "<group>"; };
-               18F326422B95766300CABA2E /* srtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = srtp.h; sourceTree = "<group>"; };
-               18F326432B95766300CABA2E /* asn1t.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1t.h; sourceTree = "<group>"; };
-               18F326442B95766300CABA2E /* cmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cmac.h; sourceTree = "<group>"; };
-               18F326452B95766300CABA2E /* ebcdic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ebcdic.h; sourceTree = "<group>"; };
-               18F326462B95766300CABA2E /* idea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = idea.h; sourceTree = "<group>"; };
-               18F326472B95766300CABA2E /* lhash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lhash.h; sourceTree = "<group>"; };
-               18F326492B95766300CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
-               18F3264A2B95766300CABA2E /* swresample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swresample.h; sourceTree = "<group>"; };
+               18F327242B970B3E00CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
+               18F327252B970B3E00CABA2E /* buffersrc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffersrc.h; sourceTree = "<group>"; };
+               18F327262B970B3E00CABA2E /* buffersink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffersink.h; sourceTree = "<group>"; };
+               18F327272B970B3E00CABA2E /* avfilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avfilter.h; sourceTree = "<group>"; };
+               18F327292B970B3E00CABA2E /* hwcontext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext.h; sourceTree = "<group>"; };
+               18F3272A2B970B3E00CABA2E /* time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = time.h; sourceTree = "<group>"; };
+               18F3272B2B970B3E00CABA2E /* hwcontext_cuda.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_cuda.h; sourceTree = "<group>"; };
+               18F3272C2B970B3F00CABA2E /* intfloat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intfloat.h; sourceTree = "<group>"; };
+               18F3272D2B970B3F00CABA2E /* error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = "<group>"; };
+               18F3272E2B970B3F00CABA2E /* fifo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fifo.h; sourceTree = "<group>"; };
+               18F3272F2B970B3F00CABA2E /* blowfish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blowfish.h; sourceTree = "<group>"; };
+               18F327302B970B3F00CABA2E /* hwcontext_mediacodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_mediacodec.h; sourceTree = "<group>"; };
+               18F327312B970B3F00CABA2E /* replaygain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = replaygain.h; sourceTree = "<group>"; };
+               18F327322B970B3F00CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
+               18F327332B970B3F00CABA2E /* murmur3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = murmur3.h; sourceTree = "<group>"; };
+               18F327342B970B3F00CABA2E /* stereo3d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stereo3d.h; sourceTree = "<group>"; };
+               18F327352B970B3F00CABA2E /* samplefmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = samplefmt.h; sourceTree = "<group>"; };
+               18F327362B970B3F00CABA2E /* pixdesc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pixdesc.h; sourceTree = "<group>"; };
+               18F327372B970B3F00CABA2E /* base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = base64.h; sourceTree = "<group>"; };
+               18F327382B970B3F00CABA2E /* rational.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rational.h; sourceTree = "<group>"; };
+               18F327392B970B3F00CABA2E /* sha.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha.h; sourceTree = "<group>"; };
+               18F3273A2B970B3F00CABA2E /* motion_vector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = motion_vector.h; sourceTree = "<group>"; };
+               18F3273B2B970B3F00CABA2E /* avconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avconfig.h; sourceTree = "<group>"; };
+               18F3273C2B970B3F00CABA2E /* lfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lfg.h; sourceTree = "<group>"; };
+               18F3273D2B970B3F00CABA2E /* avutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avutil.h; sourceTree = "<group>"; };
+               18F3273E2B970B3F00CABA2E /* xtea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xtea.h; sourceTree = "<group>"; };
+               18F3273F2B970B3F00CABA2E /* crc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crc.h; sourceTree = "<group>"; };
+               18F327402B970B3F00CABA2E /* hwcontext_vdpau.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_vdpau.h; sourceTree = "<group>"; };
+               18F327412B970B3F00CABA2E /* frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = frame.h; sourceTree = "<group>"; };
+               18F327422B970B3F00CABA2E /* file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = file.h; sourceTree = "<group>"; };
+               18F327432B970B3F00CABA2E /* md5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = "<group>"; };
+               18F327442B970B3F00CABA2E /* cast5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cast5.h; sourceTree = "<group>"; };
+               18F327452B970B3F00CABA2E /* hwcontext_vaapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_vaapi.h; sourceTree = "<group>"; };
+               18F327462B970B3F00CABA2E /* spherical.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spherical.h; sourceTree = "<group>"; };
+               18F327472B970B3F00CABA2E /* ffversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffversion.h; sourceTree = "<group>"; };
+               18F327482B970B3F00CABA2E /* audio_fifo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audio_fifo.h; sourceTree = "<group>"; };
+               18F327492B970B3F00CABA2E /* tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tree.h; sourceTree = "<group>"; };
+               18F3274A2B970B3F00CABA2E /* threadmessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = threadmessage.h; sourceTree = "<group>"; };
+               18F3274B2B970B3F00CABA2E /* attributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = attributes.h; sourceTree = "<group>"; };
+               18F3274C2B970B3F00CABA2E /* adler32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adler32.h; sourceTree = "<group>"; };
+               18F3274D2B970B3F00CABA2E /* hwcontext_d3d11va.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_d3d11va.h; sourceTree = "<group>"; };
+               18F3274E2B970B3F00CABA2E /* timecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timecode.h; sourceTree = "<group>"; };
+               18F3274F2B970B3F00CABA2E /* tx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tx.h; sourceTree = "<group>"; };
+               18F327502B970B3F00CABA2E /* sha512.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha512.h; sourceTree = "<group>"; };
+               18F327512B970B3F00CABA2E /* hwcontext_dxva2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_dxva2.h; sourceTree = "<group>"; };
+               18F327522B970B3F00CABA2E /* display.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = display.h; sourceTree = "<group>"; };
+               18F327532B970B3F00CABA2E /* buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffer.h; sourceTree = "<group>"; };
+               18F327542B970B3F00CABA2E /* camellia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = camellia.h; sourceTree = "<group>"; };
+               18F327552B970B3F00CABA2E /* pixelutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pixelutils.h; sourceTree = "<group>"; };
+               18F327562B970B3F00CABA2E /* hwcontext_drm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_drm.h; sourceTree = "<group>"; };
+               18F327572B970B3F00CABA2E /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
+               18F327582B970B3F00CABA2E /* hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hmac.h; sourceTree = "<group>"; };
+               18F327592B970B3F00CABA2E /* eval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eval.h; sourceTree = "<group>"; };
+               18F3275A2B970B3F00CABA2E /* dict.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dict.h; sourceTree = "<group>"; };
+               18F3275B2B970B3F00CABA2E /* random_seed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = random_seed.h; sourceTree = "<group>"; };
+               18F3275C2B970B3F00CABA2E /* opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opt.h; sourceTree = "<group>"; };
+               18F3275D2B970B3F00CABA2E /* mastering_display_metadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mastering_display_metadata.h; sourceTree = "<group>"; };
+               18F3275E2B970B3F00CABA2E /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
+               18F3275F2B970B3F00CABA2E /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; };
+               18F327602B970B3F00CABA2E /* macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macros.h; sourceTree = "<group>"; };
+               18F327612B970B3F00CABA2E /* bswap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bswap.h; sourceTree = "<group>"; };
+               18F327622B970B3F00CABA2E /* rc4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc4.h; sourceTree = "<group>"; };
+               18F327632B970B3F00CABA2E /* tea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tea.h; sourceTree = "<group>"; };
+               18F327642B970B3F00CABA2E /* cpu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu.h; sourceTree = "<group>"; };
+               18F327652B970B3F00CABA2E /* lzo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lzo.h; sourceTree = "<group>"; };
+               18F327662B970B3F00CABA2E /* des.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = "<group>"; };
+               18F327672B970B3F00CABA2E /* channel_layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = channel_layout.h; sourceTree = "<group>"; };
+               18F327682B970B3F00CABA2E /* encryption_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encryption_info.h; sourceTree = "<group>"; };
+               18F327692B970B3F00CABA2E /* twofish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = twofish.h; sourceTree = "<group>"; };
+               18F3276A2B970B3F00CABA2E /* imgutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = imgutils.h; sourceTree = "<group>"; };
+               18F3276B2B970B3F00CABA2E /* hwcontext_videotoolbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_videotoolbox.h; sourceTree = "<group>"; };
+               18F3276C2B970B3F00CABA2E /* mem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mem.h; sourceTree = "<group>"; };
+               18F3276D2B970B3F00CABA2E /* parseutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = parseutils.h; sourceTree = "<group>"; };
+               18F3276E2B970B3F00CABA2E /* ripemd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ripemd.h; sourceTree = "<group>"; };
+               18F3276F2B970B3F00CABA2E /* bprint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bprint.h; sourceTree = "<group>"; };
+               18F327702B970B3F00CABA2E /* hdr_dynamic_metadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hdr_dynamic_metadata.h; sourceTree = "<group>"; };
+               18F327712B970B3F00CABA2E /* hwcontext_qsv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hwcontext_qsv.h; sourceTree = "<group>"; };
+               18F327722B970B3F00CABA2E /* pixfmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pixfmt.h; sourceTree = "<group>"; };
+               18F327732B970B3F00CABA2E /* aes_ctr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes_ctr.h; sourceTree = "<group>"; };
+               18F327742B970B3F00CABA2E /* timestamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timestamp.h; sourceTree = "<group>"; };
+               18F327752B970B3F00CABA2E /* downmix_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = downmix_info.h; sourceTree = "<group>"; };
+               18F327762B970B3F00CABA2E /* avassert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avassert.h; sourceTree = "<group>"; };
+               18F327772B970B3F00CABA2E /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash.h; sourceTree = "<group>"; };
+               18F327782B970B3F00CABA2E /* mathematics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mathematics.h; sourceTree = "<group>"; };
+               18F327792B970B3F00CABA2E /* intreadwrite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intreadwrite.h; sourceTree = "<group>"; };
+               18F3277A2B970B3F00CABA2E /* avstring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avstring.h; sourceTree = "<group>"; };
+               18F3277C2B970B3F00CABA2E /* avconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avconfig.h; sourceTree = "<group>"; };
+               18F3277D2B970B3F00CABA2E /* ffversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffversion.h; sourceTree = "<group>"; };
+               18F3277F2B970B3F00CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
+               18F327802B970B3F00CABA2E /* avio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avio.h; sourceTree = "<group>"; };
+               18F327812B970B3F00CABA2E /* avformat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avformat.h; sourceTree = "<group>"; };
+               18F327832B970B3F00CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
+               18F327842B970B3F00CABA2E /* swscale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swscale.h; sourceTree = "<group>"; };
+               18F327862B970B3F00CABA2E /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
+               18F327882B970B3F00CABA2E /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
+               18F3278A2B970B3F00CABA2E /* adts_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adts_parser.h; sourceTree = "<group>"; };
+               18F3278B2B970B3F00CABA2E /* avcodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avcodec.h; sourceTree = "<group>"; };
+               18F3278C2B970B3F00CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
+               18F3278D2B970B3F00CABA2E /* vdpau.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vdpau.h; sourceTree = "<group>"; };
+               18F3278E2B970B3F00CABA2E /* qsv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = qsv.h; sourceTree = "<group>"; };
+               18F3278F2B970B3F00CABA2E /* vaapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vaapi.h; sourceTree = "<group>"; };
+               18F327902B970B3F00CABA2E /* videotoolbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = videotoolbox.h; sourceTree = "<group>"; };
+               18F327912B970B3F00CABA2E /* xvmc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xvmc.h; sourceTree = "<group>"; };
+               18F327922B970B3F00CABA2E /* mediacodec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mediacodec.h; sourceTree = "<group>"; };
+               18F327932B970B3F00CABA2E /* d3d11va.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = d3d11va.h; sourceTree = "<group>"; };
+               18F327942B970B3F00CABA2E /* avfft.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avfft.h; sourceTree = "<group>"; };
+               18F327952B970B3F00CABA2E /* jni.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = jni.h; sourceTree = "<group>"; };
+               18F327962B970B3F00CABA2E /* dirac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dirac.h; sourceTree = "<group>"; };
+               18F327972B970B3F00CABA2E /* avdct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avdct.h; sourceTree = "<group>"; };
+               18F327982B970B3F00CABA2E /* ac3_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ac3_parser.h; sourceTree = "<group>"; };
+               18F327992B970B3F00CABA2E /* vorbis_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vorbis_parser.h; sourceTree = "<group>"; };
+               18F3279A2B970B3F00CABA2E /* dxva2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dxva2.h; sourceTree = "<group>"; };
+               18F3279B2B970B3F00CABA2E /* dv_profile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dv_profile.h; sourceTree = "<group>"; };
+               18F3279D2B970B3F00CABA2E /* pem2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pem2.h; sourceTree = "<group>"; };
+               18F3279E2B970B3F00CABA2E /* pem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pem.h; sourceTree = "<group>"; };
+               18F3279F2B970B3F00CABA2E /* ssl3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl3.h; sourceTree = "<group>"; };
+               18F327A02B970B3F00CABA2E /* ossl_typ.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ossl_typ.h; sourceTree = "<group>"; };
+               18F327A12B970B3F00CABA2E /* dtls1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dtls1.h; sourceTree = "<group>"; };
+               18F327A22B970B3F00CABA2E /* err.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = err.h; sourceTree = "<group>"; };
+               18F327A32B970B3F00CABA2E /* bn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bn.h; sourceTree = "<group>"; };
+               18F327A42B970B3F00CABA2E /* blowfish.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = blowfish.h; sourceTree = "<group>"; };
+               18F327A52B970B3F00CABA2E /* cms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cms.h; sourceTree = "<group>"; };
+               18F327A62B970B3F00CABA2E /* engine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = engine.h; sourceTree = "<group>"; };
+               18F327A72B970B3F00CABA2E /* conf_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conf_api.h; sourceTree = "<group>"; };
+               18F327A82B970B3F00CABA2E /* x509.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509.h; sourceTree = "<group>"; };
+               18F327A92B970B3F00CABA2E /* asn1_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1_mac.h; sourceTree = "<group>"; };
+               18F327AA2B970B3F00CABA2E /* ui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui.h; sourceTree = "<group>"; };
+               18F327AB2B970B3F00CABA2E /* kssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kssl.h; sourceTree = "<group>"; };
+               18F327AC2B970B3F00CABA2E /* sha.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha.h; sourceTree = "<group>"; };
+               18F327AD2B970B3F00CABA2E /* symhacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = symhacks.h; sourceTree = "<group>"; };
+               18F327AE2B970B3F00CABA2E /* asn1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1.h; sourceTree = "<group>"; };
+               18F327AF2B970B3F00CABA2E /* opensslconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opensslconf.h; sourceTree = "<group>"; };
+               18F327B02B970B3F00CABA2E /* bio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bio.h; sourceTree = "<group>"; };
+               18F327B12B970B3F00CABA2E /* rc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc2.h; sourceTree = "<group>"; };
+               18F327B22B970B3F00CABA2E /* dh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dh.h; sourceTree = "<group>"; };
+               18F327B32B970B3F00CABA2E /* ui_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ui_compat.h; sourceTree = "<group>"; };
+               18F327B42B970B3F00CABA2E /* x509v3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509v3.h; sourceTree = "<group>"; };
+               18F327B52B970B3F00CABA2E /* ssl23.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl23.h; sourceTree = "<group>"; };
+               18F327B62B970B3F00CABA2E /* conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = conf.h; sourceTree = "<group>"; };
+               18F327B72B970B3F00CABA2E /* md5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = "<group>"; };
+               18F327B82B970B3F00CABA2E /* x509_vfy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509_vfy.h; sourceTree = "<group>"; };
+               18F327B92B970B3F00CABA2E /* txt_db.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = txt_db.h; sourceTree = "<group>"; };
+               18F327BA2B970B3F00CABA2E /* safestack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = safestack.h; sourceTree = "<group>"; };
+               18F327BB2B970B3F00CABA2E /* ecdsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ecdsa.h; sourceTree = "<group>"; };
+               18F327BC2B970B3F00CABA2E /* objects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = objects.h; sourceTree = "<group>"; };
+               18F327BD2B970B3F00CABA2E /* pkcs12.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pkcs12.h; sourceTree = "<group>"; };
+               18F327BE2B970B3F00CABA2E /* crypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypto.h; sourceTree = "<group>"; };
+               18F327BF2B970B3F00CABA2E /* opensslv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opensslv.h; sourceTree = "<group>"; };
+               18F327C02B970B3F00CABA2E /* pkcs7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pkcs7.h; sourceTree = "<group>"; };
+               18F327C12B970B3F00CABA2E /* obj_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = obj_mac.h; sourceTree = "<group>"; };
+               18F327C22B970B3F00CABA2E /* buffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buffer.h; sourceTree = "<group>"; };
+               18F327C32B970B3F00CABA2E /* ssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl.h; sourceTree = "<group>"; };
+               18F327C42B970B3F00CABA2E /* srp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = srp.h; sourceTree = "<group>"; };
+               18F327C52B970B3F00CABA2E /* camellia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = camellia.h; sourceTree = "<group>"; };
+               18F327C62B970B3F00CABA2E /* evp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = evp.h; sourceTree = "<group>"; };
+               18F327C72B970B3F00CABA2E /* e_os2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = e_os2.h; sourceTree = "<group>"; };
+               18F327C82B970B3F00CABA2E /* md4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md4.h; sourceTree = "<group>"; };
+               18F327C92B970B3F00CABA2E /* hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hmac.h; sourceTree = "<group>"; };
+               18F327CA2B970B3F00CABA2E /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aes.h; sourceTree = "<group>"; };
+               18F327CB2B970B3F00CABA2E /* comp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = comp.h; sourceTree = "<group>"; };
+               18F327CC2B970B3F00CABA2E /* cast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cast.h; sourceTree = "<group>"; };
+               18F327CD2B970B3F00CABA2E /* rc4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rc4.h; sourceTree = "<group>"; };
+               18F327CE2B970B3F00CABA2E /* stack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stack.h; sourceTree = "<group>"; };
+               18F327CF2B970B3F00CABA2E /* des.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des.h; sourceTree = "<group>"; };
+               18F327D02B970B3F00CABA2E /* ocsp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ocsp.h; sourceTree = "<group>"; };
+               18F327D12B970B3F00CABA2E /* ec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ec.h; sourceTree = "<group>"; };
+               18F327D22B970B3F00CABA2E /* ecdh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ecdh.h; sourceTree = "<group>"; };
+               18F327D32B970B3F00CABA2E /* rand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rand.h; sourceTree = "<group>"; };
+               18F327D42B970B3F00CABA2E /* ts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ts.h; sourceTree = "<group>"; };
+               18F327D52B970B3F00CABA2E /* pqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pqueue.h; sourceTree = "<group>"; };
+               18F327D62B970B3F00CABA2E /* dso.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dso.h; sourceTree = "<group>"; };
+               18F327D72B970B3F00CABA2E /* seed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = seed.h; sourceTree = "<group>"; };
+               18F327D82B970B3F00CABA2E /* modes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = modes.h; sourceTree = "<group>"; };
+               18F327D92B970B3F00CABA2E /* ssl2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ssl2.h; sourceTree = "<group>"; };
+               18F327DA2B970B3F00CABA2E /* rsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rsa.h; sourceTree = "<group>"; };
+               18F327DB2B970B3F00CABA2E /* krb5_asn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = krb5_asn.h; sourceTree = "<group>"; };
+               18F327DC2B970B3F00CABA2E /* des_old.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = des_old.h; sourceTree = "<group>"; };
+               18F327DD2B970B3F00CABA2E /* ripemd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ripemd.h; sourceTree = "<group>"; };
+               18F327DE2B970B3F00CABA2E /* whrlpool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = whrlpool.h; sourceTree = "<group>"; };
+               18F327DF2B970B3F00CABA2E /* tls1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tls1.h; sourceTree = "<group>"; };
+               18F327E02B970B3F00CABA2E /* mdc2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mdc2.h; sourceTree = "<group>"; };
+               18F327E12B970B3F00CABA2E /* dsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dsa.h; sourceTree = "<group>"; };
+               18F327E22B970B3F00CABA2E /* srtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = srtp.h; sourceTree = "<group>"; };
+               18F327E32B970B3F00CABA2E /* asn1t.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asn1t.h; sourceTree = "<group>"; };
+               18F327E42B970B3F00CABA2E /* cmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cmac.h; sourceTree = "<group>"; };
+               18F327E52B970B3F00CABA2E /* ebcdic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ebcdic.h; sourceTree = "<group>"; };
+               18F327E62B970B3F00CABA2E /* idea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = idea.h; sourceTree = "<group>"; };
+               18F327E72B970B3F00CABA2E /* lhash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lhash.h; sourceTree = "<group>"; };
+               18F327E92B970B3F00CABA2E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = "<group>"; };
+               18F327EA2B970B3F00CABA2E /* swresample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swresample.h; sourceTree = "<group>"; };
+               18F327EC2B970B3F00CABA2E /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libcrypto.a; sourceTree = "<group>"; };
+               18F327ED2B970B3F00CABA2E /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavutil.a; sourceTree = "<group>"; };
+               18F327EE2B970B3F00CABA2E /* libavfilter.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavfilter.a; sourceTree = "<group>"; };
+               18F327EF2B970B3F00CABA2E /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavcodec.a; sourceTree = "<group>"; };
+               18F327F02B970B3F00CABA2E /* libavformat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libavformat.a; sourceTree = "<group>"; };
+               18F327F12B970B3F00CABA2E /* libswresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libswresample.a; sourceTree = "<group>"; };
+               18F327F22B970B3F00CABA2E /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libssl.a; sourceTree = "<group>"; };
+               18F327F32B970B3F00CABA2E /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libswscale.a; sourceTree = "<group>"; };
+               18F328D32B98569D00CABA2E /* Config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Config.h; sourceTree = "<group>"; };
+               18F328D42B98569D00CABA2E /* Config.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Config.m; sourceTree = "<group>"; };
                51DE1118FCBA78EBEE6FE2CD /* Pods-MouseSdk.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MouseSdk.release.xcconfig"; path = "Target Support Files/Pods-MouseSdk/Pods-MouseSdk.release.xcconfig"; sourceTree = "<group>"; };
                811936622867478806C1A8BB /* Pods-MouseSdk.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MouseSdk.debug.xcconfig"; path = "Target Support Files/Pods-MouseSdk/Pods-MouseSdk.debug.xcconfig"; sourceTree = "<group>"; };
 /* End PBXFileReference section */
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               18F3264D2B95766300CABA2E /* libavfilter.a in Frameworks */,
+                               18F328B42B970B4000CABA2E /* libavfilter.a in Frameworks */,
                                18F325782B95737F00CABA2E /* CoreAudio.framework in Frameworks */,
-                               18F3264F2B95766300CABA2E /* libavformat.a in Frameworks */,
+                               18F328B62B970B4000CABA2E /* libavformat.a in Frameworks */,
                                18F324A62B93385100CABA2E /* VideoToolbox.framework in Frameworks */,
-                               18F326502B95766300CABA2E /* libswresample.a in Frameworks */,
+                               18F328B72B970B4000CABA2E /* libswresample.a in Frameworks */,
                                18F324A42B93382900CABA2E /* libiconv.tbd in Frameworks */,
                                18F324A22B93381C00CABA2E /* libbz2.tbd in Frameworks */,
                                18F3249E2B9337D500CABA2E /* libz.tbd in Frameworks */,
-                               18F326522B95766300CABA2E /* libswscale.a in Frameworks */,
+                               18F328B92B970B4000CABA2E /* libswscale.a in Frameworks */,
                                18F323872B8F338300CABA2E /* AliIotConnectKit.framework in Frameworks */,
-                               18F3264E2B95766300CABA2E /* libavcodec.a in Frameworks */,
-                               18F3264C2B95766300CABA2E /* libavutil.a in Frameworks */,
-                               18F326512B95766300CABA2E /* libssl.a in Frameworks */,
-                               18F3264B2B95766300CABA2E /* libcrypto.a in Frameworks */,
+                               18F328B52B970B4000CABA2E /* libavcodec.a in Frameworks */,
+                               18F328B32B970B4000CABA2E /* libavutil.a in Frameworks */,
+                               18F328B82B970B4000CABA2E /* libssl.a in Frameworks */,
+                               18F328B22B970B4000CABA2E /* libcrypto.a in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                18BF1E752B832D2E00B8D90F /* ScanVC.m */,
                                18F3235B2B8ED78300CABA2E /* ScanCell.h */,
                                18F3235C2B8ED78300CABA2E /* ScanCell.m */,
-                               18F323602B8F13D600CABA2E /* LogVC.h */,
-                               18F323612B8F13D600CABA2E /* LogVC.m */,
                                18F323762B8F2DAD00CABA2E /* AliIotTools.h */,
                                18F323752B8F2DAC00CABA2E /* AliIotTools.m */,
                                18F323882B8F4DBE00CABA2E /* PCMPlayer.h */,
                                18F323892B8F4DBE00CABA2E /* PCMPlayer.m */,
+                               18F328D32B98569D00CABA2E /* Config.h */,
+                               18F328D42B98569D00CABA2E /* Config.m */,
                                18BF1E042B81E18800B8D90F /* ConnectKitVC.swift */,
                                18BF1DD32B81AB7F00B8D90F /* Assets.xcassets */,
                                18BF1DD52B81AB7F00B8D90F /* Main.storyboard */,
                18BF1E882B8362D300B8D90F /* AiSdk */ = {
                        isa = PBXGroup;
                        children = (
-                               18F323C72B9335DE00CABA2E /* ffmpeg */,
+                               18F327212B970B3E00CABA2E /* ffmpeg */,
                                18BF1E892B8362D300B8D90F /* AiSdk.h */,
                                18F323652B8F1C1900CABA2E /* AiIot.h */,
                                18F323662B8F1C1900CABA2E /* AiIot.m */,
                                18F323942B8F525C00CABA2E /* AiIotTools.m */,
                                18F3238C2B8F4F7300CABA2E /* AiIotAudioManager.h */,
                                18F3238D2B8F4F7300CABA2E /* AiIotAudioManager.m */,
-                               18F323822B8F330100CABA2E /* AiIotConnectManager.h */,
-                               18F323832B8F330100CABA2E /* AiIotConnectManager.m */,
+                               18F323822B8F330100CABA2E /* AiIotAuthManager.h */,
+                               18F323832B8F330100CABA2E /* AiIotAuthManager.m */,
                                18F323A62B9095D300CABA2E /* AiIotAudioConverter.h */,
                                18F323A72B9095D300CABA2E /* AiIotAudioConverter.m */,
                                18F323C22B93352000CABA2E /* AiIotAudioDecoder.h */,
                        name = Products;
                        sourceTree = "<group>";
                };
-               18F323C72B9335DE00CABA2E /* ffmpeg */ = {
+               18F327212B970B3E00CABA2E /* ffmpeg */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325822B95766200CABA2E /* include */,
-                               18F325792B95766200CABA2E /* lib */,
+                               18F327222B970B3E00CABA2E /* include */,
+                               18F327EB2B970B3F00CABA2E /* lib */,
                        );
                        path = ffmpeg;
                        sourceTree = "<group>";
                };
-               18F325792B95766200CABA2E /* lib */ = {
+               18F327222B970B3E00CABA2E /* include */ = {
                        isa = PBXGroup;
                        children = (
-                               18F3257A2B95766200CABA2E /* libcrypto.a */,
-                               18F3257B2B95766200CABA2E /* libavutil.a */,
-                               18F3257C2B95766200CABA2E /* libavfilter.a */,
-                               18F3257D2B95766200CABA2E /* libavcodec.a */,
-                               18F3257E2B95766200CABA2E /* libavformat.a */,
-                               18F3257F2B95766200CABA2E /* libswresample.a */,
-                               18F325802B95766200CABA2E /* libssl.a */,
-                               18F325812B95766200CABA2E /* libswscale.a */,
-                       );
-                       path = lib;
-                       sourceTree = "<group>";
-               };
-               18F325822B95766200CABA2E /* include */ = {
-                       isa = PBXGroup;
-                       children = (
-                               18F325832B95766200CABA2E /* libavfilter */,
-                               18F325882B95766200CABA2E /* libavutil */,
-                               18F325DE2B95766300CABA2E /* libavformat */,
-                               18F325E22B95766300CABA2E /* libswscale */,
-                               18F325E52B95766300CABA2E /* libffmpeg */,
-                               18F325E92B95766300CABA2E /* libavcodec */,
-                               18F325FC2B95766300CABA2E /* openssl */,
-                               18F326482B95766300CABA2E /* libswresample */,
+                               18F327232B970B3E00CABA2E /* libavfilter */,
+                               18F327282B970B3E00CABA2E /* libavutil */,
+                               18F3277E2B970B3F00CABA2E /* libavformat */,
+                               18F327822B970B3F00CABA2E /* libswscale */,
+                               18F327852B970B3F00CABA2E /* libffmpeg */,
+                               18F327892B970B3F00CABA2E /* libavcodec */,
+                               18F3279C2B970B3F00CABA2E /* openssl */,
+                               18F327E82B970B3F00CABA2E /* libswresample */,
                        );
                        path = include;
                        sourceTree = "<group>";
                };
-               18F325832B95766200CABA2E /* libavfilter */ = {
+               18F327232B970B3E00CABA2E /* libavfilter */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325842B95766200CABA2E /* version.h */,
-                               18F325852B95766200CABA2E /* buffersrc.h */,
-                               18F325862B95766200CABA2E /* buffersink.h */,
-                               18F325872B95766200CABA2E /* avfilter.h */,
+                               18F327242B970B3E00CABA2E /* version.h */,
+                               18F327252B970B3E00CABA2E /* buffersrc.h */,
+                               18F327262B970B3E00CABA2E /* buffersink.h */,
+                               18F327272B970B3E00CABA2E /* avfilter.h */,
                        );
                        path = libavfilter;
                        sourceTree = "<group>";
                };
-               18F325882B95766200CABA2E /* libavutil */ = {
+               18F327282B970B3E00CABA2E /* libavutil */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325892B95766200CABA2E /* hwcontext.h */,
-                               18F3258A2B95766200CABA2E /* time.h */,
-                               18F3258B2B95766200CABA2E /* hwcontext_cuda.h */,
-                               18F3258C2B95766200CABA2E /* intfloat.h */,
-                               18F3258D2B95766200CABA2E /* error.h */,
-                               18F3258E2B95766200CABA2E /* fifo.h */,
-                               18F3258F2B95766200CABA2E /* blowfish.h */,
-                               18F325902B95766200CABA2E /* hwcontext_mediacodec.h */,
-                               18F325912B95766200CABA2E /* replaygain.h */,
-                               18F325922B95766200CABA2E /* version.h */,
-                               18F325932B95766200CABA2E /* murmur3.h */,
-                               18F325942B95766200CABA2E /* stereo3d.h */,
-                               18F325952B95766300CABA2E /* samplefmt.h */,
-                               18F325962B95766300CABA2E /* pixdesc.h */,
-                               18F325972B95766300CABA2E /* base64.h */,
-                               18F325982B95766300CABA2E /* rational.h */,
-                               18F325992B95766300CABA2E /* sha.h */,
-                               18F3259A2B95766300CABA2E /* motion_vector.h */,
-                               18F3259B2B95766300CABA2E /* avconfig.h */,
-                               18F3259C2B95766300CABA2E /* lfg.h */,
-                               18F3259D2B95766300CABA2E /* avutil.h */,
-                               18F3259E2B95766300CABA2E /* xtea.h */,
-                               18F3259F2B95766300CABA2E /* crc.h */,
-                               18F325A02B95766300CABA2E /* hwcontext_vdpau.h */,
-                               18F325A12B95766300CABA2E /* frame.h */,
-                               18F325A22B95766300CABA2E /* file.h */,
-                               18F325A32B95766300CABA2E /* md5.h */,
-                               18F325A42B95766300CABA2E /* cast5.h */,
-                               18F325A52B95766300CABA2E /* hwcontext_vaapi.h */,
-                               18F325A62B95766300CABA2E /* spherical.h */,
-                               18F325A72B95766300CABA2E /* ffversion.h */,
-                               18F325A82B95766300CABA2E /* audio_fifo.h */,
-                               18F325A92B95766300CABA2E /* tree.h */,
-                               18F325AA2B95766300CABA2E /* threadmessage.h */,
-                               18F325AB2B95766300CABA2E /* attributes.h */,
-                               18F325AC2B95766300CABA2E /* adler32.h */,
-                               18F325AD2B95766300CABA2E /* hwcontext_d3d11va.h */,
-                               18F325AE2B95766300CABA2E /* timecode.h */,
-                               18F325AF2B95766300CABA2E /* tx.h */,
-                               18F325B02B95766300CABA2E /* sha512.h */,
-                               18F325B12B95766300CABA2E /* hwcontext_dxva2.h */,
-                               18F325B22B95766300CABA2E /* display.h */,
-                               18F325B32B95766300CABA2E /* buffer.h */,
-                               18F325B42B95766300CABA2E /* camellia.h */,
-                               18F325B52B95766300CABA2E /* pixelutils.h */,
-                               18F325B62B95766300CABA2E /* hwcontext_drm.h */,
-                               18F325B72B95766300CABA2E /* common.h */,
-                               18F325B82B95766300CABA2E /* hmac.h */,
-                               18F325B92B95766300CABA2E /* eval.h */,
-                               18F325BA2B95766300CABA2E /* dict.h */,
-                               18F325BB2B95766300CABA2E /* random_seed.h */,
-                               18F325BC2B95766300CABA2E /* opt.h */,
-                               18F325BD2B95766300CABA2E /* mastering_display_metadata.h */,
-                               18F325BE2B95766300CABA2E /* log.h */,
-                               18F325BF2B95766300CABA2E /* aes.h */,
-                               18F325C02B95766300CABA2E /* macros.h */,
-                               18F325C12B95766300CABA2E /* bswap.h */,
-                               18F325C22B95766300CABA2E /* rc4.h */,
-                               18F325C32B95766300CABA2E /* tea.h */,
-                               18F325C42B95766300CABA2E /* cpu.h */,
-                               18F325C52B95766300CABA2E /* lzo.h */,
-                               18F325C62B95766300CABA2E /* des.h */,
-                               18F325C72B95766300CABA2E /* channel_layout.h */,
-                               18F325C82B95766300CABA2E /* encryption_info.h */,
-                               18F325C92B95766300CABA2E /* twofish.h */,
-                               18F325CA2B95766300CABA2E /* imgutils.h */,
-                               18F325CB2B95766300CABA2E /* hwcontext_videotoolbox.h */,
-                               18F325CC2B95766300CABA2E /* mem.h */,
-                               18F325CD2B95766300CABA2E /* parseutils.h */,
-                               18F325CE2B95766300CABA2E /* ripemd.h */,
-                               18F325CF2B95766300CABA2E /* bprint.h */,
-                               18F325D02B95766300CABA2E /* hdr_dynamic_metadata.h */,
-                               18F325D12B95766300CABA2E /* hwcontext_qsv.h */,
-                               18F325D22B95766300CABA2E /* pixfmt.h */,
-                               18F325D32B95766300CABA2E /* aes_ctr.h */,
-                               18F325D42B95766300CABA2E /* timestamp.h */,
-                               18F325D52B95766300CABA2E /* downmix_info.h */,
-                               18F325D62B95766300CABA2E /* avassert.h */,
-                               18F325D72B95766300CABA2E /* hash.h */,
-                               18F325D82B95766300CABA2E /* mathematics.h */,
-                               18F325D92B95766300CABA2E /* intreadwrite.h */,
-                               18F325DA2B95766300CABA2E /* avstring.h */,
-                               18F325DB2B95766300CABA2E /* x86_64 */,
+                               18F327292B970B3E00CABA2E /* hwcontext.h */,
+                               18F3272A2B970B3E00CABA2E /* time.h */,
+                               18F3272B2B970B3E00CABA2E /* hwcontext_cuda.h */,
+                               18F3272C2B970B3F00CABA2E /* intfloat.h */,
+                               18F3272D2B970B3F00CABA2E /* error.h */,
+                               18F3272E2B970B3F00CABA2E /* fifo.h */,
+                               18F3272F2B970B3F00CABA2E /* blowfish.h */,
+                               18F327302B970B3F00CABA2E /* hwcontext_mediacodec.h */,
+                               18F327312B970B3F00CABA2E /* replaygain.h */,
+                               18F327322B970B3F00CABA2E /* version.h */,
+                               18F327332B970B3F00CABA2E /* murmur3.h */,
+                               18F327342B970B3F00CABA2E /* stereo3d.h */,
+                               18F327352B970B3F00CABA2E /* samplefmt.h */,
+                               18F327362B970B3F00CABA2E /* pixdesc.h */,
+                               18F327372B970B3F00CABA2E /* base64.h */,
+                               18F327382B970B3F00CABA2E /* rational.h */,
+                               18F327392B970B3F00CABA2E /* sha.h */,
+                               18F3273A2B970B3F00CABA2E /* motion_vector.h */,
+                               18F3273B2B970B3F00CABA2E /* avconfig.h */,
+                               18F3273C2B970B3F00CABA2E /* lfg.h */,
+                               18F3273D2B970B3F00CABA2E /* avutil.h */,
+                               18F3273E2B970B3F00CABA2E /* xtea.h */,
+                               18F3273F2B970B3F00CABA2E /* crc.h */,
+                               18F327402B970B3F00CABA2E /* hwcontext_vdpau.h */,
+                               18F327412B970B3F00CABA2E /* frame.h */,
+                               18F327422B970B3F00CABA2E /* file.h */,
+                               18F327432B970B3F00CABA2E /* md5.h */,
+                               18F327442B970B3F00CABA2E /* cast5.h */,
+                               18F327452B970B3F00CABA2E /* hwcontext_vaapi.h */,
+                               18F327462B970B3F00CABA2E /* spherical.h */,
+                               18F327472B970B3F00CABA2E /* ffversion.h */,
+                               18F327482B970B3F00CABA2E /* audio_fifo.h */,
+                               18F327492B970B3F00CABA2E /* tree.h */,
+                               18F3274A2B970B3F00CABA2E /* threadmessage.h */,
+                               18F3274B2B970B3F00CABA2E /* attributes.h */,
+                               18F3274C2B970B3F00CABA2E /* adler32.h */,
+                               18F3274D2B970B3F00CABA2E /* hwcontext_d3d11va.h */,
+                               18F3274E2B970B3F00CABA2E /* timecode.h */,
+                               18F3274F2B970B3F00CABA2E /* tx.h */,
+                               18F327502B970B3F00CABA2E /* sha512.h */,
+                               18F327512B970B3F00CABA2E /* hwcontext_dxva2.h */,
+                               18F327522B970B3F00CABA2E /* display.h */,
+                               18F327532B970B3F00CABA2E /* buffer.h */,
+                               18F327542B970B3F00CABA2E /* camellia.h */,
+                               18F327552B970B3F00CABA2E /* pixelutils.h */,
+                               18F327562B970B3F00CABA2E /* hwcontext_drm.h */,
+                               18F327572B970B3F00CABA2E /* common.h */,
+                               18F327582B970B3F00CABA2E /* hmac.h */,
+                               18F327592B970B3F00CABA2E /* eval.h */,
+                               18F3275A2B970B3F00CABA2E /* dict.h */,
+                               18F3275B2B970B3F00CABA2E /* random_seed.h */,
+                               18F3275C2B970B3F00CABA2E /* opt.h */,
+                               18F3275D2B970B3F00CABA2E /* mastering_display_metadata.h */,
+                               18F3275E2B970B3F00CABA2E /* log.h */,
+                               18F3275F2B970B3F00CABA2E /* aes.h */,
+                               18F327602B970B3F00CABA2E /* macros.h */,
+                               18F327612B970B3F00CABA2E /* bswap.h */,
+                               18F327622B970B3F00CABA2E /* rc4.h */,
+                               18F327632B970B3F00CABA2E /* tea.h */,
+                               18F327642B970B3F00CABA2E /* cpu.h */,
+                               18F327652B970B3F00CABA2E /* lzo.h */,
+                               18F327662B970B3F00CABA2E /* des.h */,
+                               18F327672B970B3F00CABA2E /* channel_layout.h */,
+                               18F327682B970B3F00CABA2E /* encryption_info.h */,
+                               18F327692B970B3F00CABA2E /* twofish.h */,
+                               18F3276A2B970B3F00CABA2E /* imgutils.h */,
+                               18F3276B2B970B3F00CABA2E /* hwcontext_videotoolbox.h */,
+                               18F3276C2B970B3F00CABA2E /* mem.h */,
+                               18F3276D2B970B3F00CABA2E /* parseutils.h */,
+                               18F3276E2B970B3F00CABA2E /* ripemd.h */,
+                               18F3276F2B970B3F00CABA2E /* bprint.h */,
+                               18F327702B970B3F00CABA2E /* hdr_dynamic_metadata.h */,
+                               18F327712B970B3F00CABA2E /* hwcontext_qsv.h */,
+                               18F327722B970B3F00CABA2E /* pixfmt.h */,
+                               18F327732B970B3F00CABA2E /* aes_ctr.h */,
+                               18F327742B970B3F00CABA2E /* timestamp.h */,
+                               18F327752B970B3F00CABA2E /* downmix_info.h */,
+                               18F327762B970B3F00CABA2E /* avassert.h */,
+                               18F327772B970B3F00CABA2E /* hash.h */,
+                               18F327782B970B3F00CABA2E /* mathematics.h */,
+                               18F327792B970B3F00CABA2E /* intreadwrite.h */,
+                               18F3277A2B970B3F00CABA2E /* avstring.h */,
+                               18F3277B2B970B3F00CABA2E /* x86_64 */,
                        );
                        path = libavutil;
                        sourceTree = "<group>";
                };
-               18F325DB2B95766300CABA2E /* x86_64 */ = {
+               18F3277B2B970B3F00CABA2E /* x86_64 */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325DC2B95766300CABA2E /* avconfig.h */,
-                               18F325DD2B95766300CABA2E /* ffversion.h */,
+                               18F3277C2B970B3F00CABA2E /* avconfig.h */,
+                               18F3277D2B970B3F00CABA2E /* ffversion.h */,
                        );
                        path = x86_64;
                        sourceTree = "<group>";
                };
-               18F325DE2B95766300CABA2E /* libavformat */ = {
+               18F3277E2B970B3F00CABA2E /* libavformat */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325DF2B95766300CABA2E /* version.h */,
-                               18F325E02B95766300CABA2E /* avio.h */,
-                               18F325E12B95766300CABA2E /* avformat.h */,
+                               18F3277F2B970B3F00CABA2E /* version.h */,
+                               18F327802B970B3F00CABA2E /* avio.h */,
+                               18F327812B970B3F00CABA2E /* avformat.h */,
                        );
                        path = libavformat;
                        sourceTree = "<group>";
                };
-               18F325E22B95766300CABA2E /* libswscale */ = {
+               18F327822B970B3F00CABA2E /* libswscale */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325E32B95766300CABA2E /* version.h */,
-                               18F325E42B95766300CABA2E /* swscale.h */,
+                               18F327832B970B3F00CABA2E /* version.h */,
+                               18F327842B970B3F00CABA2E /* swscale.h */,
                        );
                        path = libswscale;
                        sourceTree = "<group>";
                };
-               18F325E52B95766300CABA2E /* libffmpeg */ = {
+               18F327852B970B3F00CABA2E /* libffmpeg */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325E62B95766300CABA2E /* config.h */,
-                               18F325E72B95766300CABA2E /* x86_64 */,
+                               18F327862B970B3F00CABA2E /* config.h */,
+                               18F327872B970B3F00CABA2E /* x86_64 */,
                        );
                        path = libffmpeg;
                        sourceTree = "<group>";
                };
-               18F325E72B95766300CABA2E /* x86_64 */ = {
+               18F327872B970B3F00CABA2E /* x86_64 */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325E82B95766300CABA2E /* config.h */,
+                               18F327882B970B3F00CABA2E /* config.h */,
                        );
                        path = x86_64;
                        sourceTree = "<group>";
                };
-               18F325E92B95766300CABA2E /* libavcodec */ = {
+               18F327892B970B3F00CABA2E /* libavcodec */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325EA2B95766300CABA2E /* adts_parser.h */,
-                               18F325EB2B95766300CABA2E /* avcodec.h */,
-                               18F325EC2B95766300CABA2E /* version.h */,
-                               18F325ED2B95766300CABA2E /* vdpau.h */,
-                               18F325EE2B95766300CABA2E /* qsv.h */,
-                               18F325EF2B95766300CABA2E /* vaapi.h */,
-                               18F325F02B95766300CABA2E /* videotoolbox.h */,
-                               18F325F12B95766300CABA2E /* xvmc.h */,
-                               18F325F22B95766300CABA2E /* mediacodec.h */,
-                               18F325F32B95766300CABA2E /* d3d11va.h */,
-                               18F325F42B95766300CABA2E /* avfft.h */,
-                               18F325F52B95766300CABA2E /* jni.h */,
-                               18F325F62B95766300CABA2E /* dirac.h */,
-                               18F325F72B95766300CABA2E /* avdct.h */,
-                               18F325F82B95766300CABA2E /* ac3_parser.h */,
-                               18F325F92B95766300CABA2E /* vorbis_parser.h */,
-                               18F325FA2B95766300CABA2E /* dxva2.h */,
-                               18F325FB2B95766300CABA2E /* dv_profile.h */,
+                               18F3278A2B970B3F00CABA2E /* adts_parser.h */,
+                               18F3278B2B970B3F00CABA2E /* avcodec.h */,
+                               18F3278C2B970B3F00CABA2E /* version.h */,
+                               18F3278D2B970B3F00CABA2E /* vdpau.h */,
+                               18F3278E2B970B3F00CABA2E /* qsv.h */,
+                               18F3278F2B970B3F00CABA2E /* vaapi.h */,
+                               18F327902B970B3F00CABA2E /* videotoolbox.h */,
+                               18F327912B970B3F00CABA2E /* xvmc.h */,
+                               18F327922B970B3F00CABA2E /* mediacodec.h */,
+                               18F327932B970B3F00CABA2E /* d3d11va.h */,
+                               18F327942B970B3F00CABA2E /* avfft.h */,
+                               18F327952B970B3F00CABA2E /* jni.h */,
+                               18F327962B970B3F00CABA2E /* dirac.h */,
+                               18F327972B970B3F00CABA2E /* avdct.h */,
+                               18F327982B970B3F00CABA2E /* ac3_parser.h */,
+                               18F327992B970B3F00CABA2E /* vorbis_parser.h */,
+                               18F3279A2B970B3F00CABA2E /* dxva2.h */,
+                               18F3279B2B970B3F00CABA2E /* dv_profile.h */,
                        );
                        path = libavcodec;
                        sourceTree = "<group>";
                };
-               18F325FC2B95766300CABA2E /* openssl */ = {
+               18F3279C2B970B3F00CABA2E /* openssl */ = {
                        isa = PBXGroup;
                        children = (
-                               18F325FD2B95766300CABA2E /* pem2.h */,
-                               18F325FE2B95766300CABA2E /* pem.h */,
-                               18F325FF2B95766300CABA2E /* ssl3.h */,
-                               18F326002B95766300CABA2E /* ossl_typ.h */,
-                               18F326012B95766300CABA2E /* dtls1.h */,
-                               18F326022B95766300CABA2E /* err.h */,
-                               18F326032B95766300CABA2E /* bn.h */,
-                               18F326042B95766300CABA2E /* blowfish.h */,
-                               18F326052B95766300CABA2E /* cms.h */,
-                               18F326062B95766300CABA2E /* engine.h */,
-                               18F326072B95766300CABA2E /* conf_api.h */,
-                               18F326082B95766300CABA2E /* x509.h */,
-                               18F326092B95766300CABA2E /* asn1_mac.h */,
-                               18F3260A2B95766300CABA2E /* ui.h */,
-                               18F3260B2B95766300CABA2E /* kssl.h */,
-                               18F3260C2B95766300CABA2E /* sha.h */,
-                               18F3260D2B95766300CABA2E /* symhacks.h */,
-                               18F3260E2B95766300CABA2E /* asn1.h */,
-                               18F3260F2B95766300CABA2E /* opensslconf.h */,
-                               18F326102B95766300CABA2E /* bio.h */,
-                               18F326112B95766300CABA2E /* rc2.h */,
-                               18F326122B95766300CABA2E /* dh.h */,
-                               18F326132B95766300CABA2E /* ui_compat.h */,
-                               18F326142B95766300CABA2E /* x509v3.h */,
-                               18F326152B95766300CABA2E /* ssl23.h */,
-                               18F326162B95766300CABA2E /* conf.h */,
-                               18F326172B95766300CABA2E /* md5.h */,
-                               18F326182B95766300CABA2E /* x509_vfy.h */,
-                               18F326192B95766300CABA2E /* txt_db.h */,
-                               18F3261A2B95766300CABA2E /* safestack.h */,
-                               18F3261B2B95766300CABA2E /* ecdsa.h */,
-                               18F3261C2B95766300CABA2E /* objects.h */,
-                               18F3261D2B95766300CABA2E /* pkcs12.h */,
-                               18F3261E2B95766300CABA2E /* crypto.h */,
-                               18F3261F2B95766300CABA2E /* opensslv.h */,
-                               18F326202B95766300CABA2E /* pkcs7.h */,
-                               18F326212B95766300CABA2E /* obj_mac.h */,
-                               18F326222B95766300CABA2E /* buffer.h */,
-                               18F326232B95766300CABA2E /* ssl.h */,
-                               18F326242B95766300CABA2E /* srp.h */,
-                               18F326252B95766300CABA2E /* camellia.h */,
-                               18F326262B95766300CABA2E /* evp.h */,
-                               18F326272B95766300CABA2E /* e_os2.h */,
-                               18F326282B95766300CABA2E /* md4.h */,
-                               18F326292B95766300CABA2E /* hmac.h */,
-                               18F3262A2B95766300CABA2E /* aes.h */,
-                               18F3262B2B95766300CABA2E /* comp.h */,
-                               18F3262C2B95766300CABA2E /* cast.h */,
-                               18F3262D2B95766300CABA2E /* rc4.h */,
-                               18F3262E2B95766300CABA2E /* stack.h */,
-                               18F3262F2B95766300CABA2E /* des.h */,
-                               18F326302B95766300CABA2E /* ocsp.h */,
-                               18F326312B95766300CABA2E /* ec.h */,
-                               18F326322B95766300CABA2E /* ecdh.h */,
-                               18F326332B95766300CABA2E /* rand.h */,
-                               18F326342B95766300CABA2E /* ts.h */,
-                               18F326352B95766300CABA2E /* pqueue.h */,
-                               18F326362B95766300CABA2E /* dso.h */,
-                               18F326372B95766300CABA2E /* seed.h */,
-                               18F326382B95766300CABA2E /* modes.h */,
-                               18F326392B95766300CABA2E /* ssl2.h */,
-                               18F3263A2B95766300CABA2E /* rsa.h */,
-                               18F3263B2B95766300CABA2E /* krb5_asn.h */,
-                               18F3263C2B95766300CABA2E /* des_old.h */,
-                               18F3263D2B95766300CABA2E /* ripemd.h */,
-                               18F3263E2B95766300CABA2E /* whrlpool.h */,
-                               18F3263F2B95766300CABA2E /* tls1.h */,
-                               18F326402B95766300CABA2E /* mdc2.h */,
-                               18F326412B95766300CABA2E /* dsa.h */,
-                               18F326422B95766300CABA2E /* srtp.h */,
-                               18F326432B95766300CABA2E /* asn1t.h */,
-                               18F326442B95766300CABA2E /* cmac.h */,
-                               18F326452B95766300CABA2E /* ebcdic.h */,
-                               18F326462B95766300CABA2E /* idea.h */,
-                               18F326472B95766300CABA2E /* lhash.h */,
+                               18F3279D2B970B3F00CABA2E /* pem2.h */,
+                               18F3279E2B970B3F00CABA2E /* pem.h */,
+                               18F3279F2B970B3F00CABA2E /* ssl3.h */,
+                               18F327A02B970B3F00CABA2E /* ossl_typ.h */,
+                               18F327A12B970B3F00CABA2E /* dtls1.h */,
+                               18F327A22B970B3F00CABA2E /* err.h */,
+                               18F327A32B970B3F00CABA2E /* bn.h */,
+                               18F327A42B970B3F00CABA2E /* blowfish.h */,
+                               18F327A52B970B3F00CABA2E /* cms.h */,
+                               18F327A62B970B3F00CABA2E /* engine.h */,
+                               18F327A72B970B3F00CABA2E /* conf_api.h */,
+                               18F327A82B970B3F00CABA2E /* x509.h */,
+                               18F327A92B970B3F00CABA2E /* asn1_mac.h */,
+                               18F327AA2B970B3F00CABA2E /* ui.h */,
+                               18F327AB2B970B3F00CABA2E /* kssl.h */,
+                               18F327AC2B970B3F00CABA2E /* sha.h */,
+                               18F327AD2B970B3F00CABA2E /* symhacks.h */,
+                               18F327AE2B970B3F00CABA2E /* asn1.h */,
+                               18F327AF2B970B3F00CABA2E /* opensslconf.h */,
+                               18F327B02B970B3F00CABA2E /* bio.h */,
+                               18F327B12B970B3F00CABA2E /* rc2.h */,
+                               18F327B22B970B3F00CABA2E /* dh.h */,
+                               18F327B32B970B3F00CABA2E /* ui_compat.h */,
+                               18F327B42B970B3F00CABA2E /* x509v3.h */,
+                               18F327B52B970B3F00CABA2E /* ssl23.h */,
+                               18F327B62B970B3F00CABA2E /* conf.h */,
+                               18F327B72B970B3F00CABA2E /* md5.h */,
+                               18F327B82B970B3F00CABA2E /* x509_vfy.h */,
+                               18F327B92B970B3F00CABA2E /* txt_db.h */,
+                               18F327BA2B970B3F00CABA2E /* safestack.h */,
+                               18F327BB2B970B3F00CABA2E /* ecdsa.h */,
+                               18F327BC2B970B3F00CABA2E /* objects.h */,
+                               18F327BD2B970B3F00CABA2E /* pkcs12.h */,
+                               18F327BE2B970B3F00CABA2E /* crypto.h */,
+                               18F327BF2B970B3F00CABA2E /* opensslv.h */,
+                               18F327C02B970B3F00CABA2E /* pkcs7.h */,
+                               18F327C12B970B3F00CABA2E /* obj_mac.h */,
+                               18F327C22B970B3F00CABA2E /* buffer.h */,
+                               18F327C32B970B3F00CABA2E /* ssl.h */,
+                               18F327C42B970B3F00CABA2E /* srp.h */,
+                               18F327C52B970B3F00CABA2E /* camellia.h */,
+                               18F327C62B970B3F00CABA2E /* evp.h */,
+                               18F327C72B970B3F00CABA2E /* e_os2.h */,
+                               18F327C82B970B3F00CABA2E /* md4.h */,
+                               18F327C92B970B3F00CABA2E /* hmac.h */,
+                               18F327CA2B970B3F00CABA2E /* aes.h */,
+                               18F327CB2B970B3F00CABA2E /* comp.h */,
+                               18F327CC2B970B3F00CABA2E /* cast.h */,
+                               18F327CD2B970B3F00CABA2E /* rc4.h */,
+                               18F327CE2B970B3F00CABA2E /* stack.h */,
+                               18F327CF2B970B3F00CABA2E /* des.h */,
+                               18F327D02B970B3F00CABA2E /* ocsp.h */,
+                               18F327D12B970B3F00CABA2E /* ec.h */,
+                               18F327D22B970B3F00CABA2E /* ecdh.h */,
+                               18F327D32B970B3F00CABA2E /* rand.h */,
+                               18F327D42B970B3F00CABA2E /* ts.h */,
+                               18F327D52B970B3F00CABA2E /* pqueue.h */,
+                               18F327D62B970B3F00CABA2E /* dso.h */,
+                               18F327D72B970B3F00CABA2E /* seed.h */,
+                               18F327D82B970B3F00CABA2E /* modes.h */,
+                               18F327D92B970B3F00CABA2E /* ssl2.h */,
+                               18F327DA2B970B3F00CABA2E /* rsa.h */,
+                               18F327DB2B970B3F00CABA2E /* krb5_asn.h */,
+                               18F327DC2B970B3F00CABA2E /* des_old.h */,
+                               18F327DD2B970B3F00CABA2E /* ripemd.h */,
+                               18F327DE2B970B3F00CABA2E /* whrlpool.h */,
+                               18F327DF2B970B3F00CABA2E /* tls1.h */,
+                               18F327E02B970B3F00CABA2E /* mdc2.h */,
+                               18F327E12B970B3F00CABA2E /* dsa.h */,
+                               18F327E22B970B3F00CABA2E /* srtp.h */,
+                               18F327E32B970B3F00CABA2E /* asn1t.h */,
+                               18F327E42B970B3F00CABA2E /* cmac.h */,
+                               18F327E52B970B3F00CABA2E /* ebcdic.h */,
+                               18F327E62B970B3F00CABA2E /* idea.h */,
+                               18F327E72B970B3F00CABA2E /* lhash.h */,
                        );
                        path = openssl;
                        sourceTree = "<group>";
                };
-               18F326482B95766300CABA2E /* libswresample */ = {
+               18F327E82B970B3F00CABA2E /* libswresample */ = {
                        isa = PBXGroup;
                        children = (
-                               18F326492B95766300CABA2E /* version.h */,
-                               18F3264A2B95766300CABA2E /* swresample.h */,
+                               18F327E92B970B3F00CABA2E /* version.h */,
+                               18F327EA2B970B3F00CABA2E /* swresample.h */,
                        );
                        path = libswresample;
                        sourceTree = "<group>";
                };
+               18F327EB2B970B3F00CABA2E /* lib */ = {
+                       isa = PBXGroup;
+                       children = (
+                               18F327EC2B970B3F00CABA2E /* libcrypto.a */,
+                               18F327ED2B970B3F00CABA2E /* libavutil.a */,
+                               18F327EE2B970B3F00CABA2E /* libavfilter.a */,
+                               18F327EF2B970B3F00CABA2E /* libavcodec.a */,
+                               18F327F02B970B3F00CABA2E /* libavformat.a */,
+                               18F327F12B970B3F00CABA2E /* libswresample.a */,
+                               18F327F22B970B3F00CABA2E /* libssl.a */,
+                               18F327F32B970B3F00CABA2E /* libswscale.a */,
+                       );
+                       path = lib;
+                       sourceTree = "<group>";
+               };
                543EC4E5F9FC310D6B850947 /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
                        isa = PBXHeadersBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               18F326F92B95766400CABA2E /* ecdh.h in Headers */,
-                               18F326A22B95766300CABA2E /* timestamp.h in Headers */,
-                               18F3268D2B95766300CABA2E /* aes.h in Headers */,
-                               18F327102B95766400CABA2E /* swresample.h in Headers */,
-                               18F326AA2B95766300CABA2E /* ffversion.h in Headers */,
-                               18F326B52B95766400CABA2E /* vdpau.h in Headers */,
-                               18F326C32B95766400CABA2E /* dv_profile.h in Headers */,
-                               18F3267B2B95766300CABA2E /* hwcontext_d3d11va.h in Headers */,
-                               18F3266F2B95766300CABA2E /* frame.h in Headers */,
-                               18F326972B95766300CABA2E /* twofish.h in Headers */,
-                               18F326812B95766300CABA2E /* buffer.h in Headers */,
-                               18F326592B95766300CABA2E /* hwcontext_cuda.h in Headers */,
-                               18F326692B95766300CABA2E /* avconfig.h in Headers */,
-                               18F327082B95766400CABA2E /* dsa.h in Headers */,
-                               18F326842B95766300CABA2E /* hwcontext_drm.h in Headers */,
-                               18F326C22B95766400CABA2E /* dxva2.h in Headers */,
-                               18F327042B95766400CABA2E /* ripemd.h in Headers */,
-                               18F326E52B95766400CABA2E /* crypto.h in Headers */,
-                               18F326F12B95766400CABA2E /* aes.h in Headers */,
-                               18F326882B95766300CABA2E /* dict.h in Headers */,
-                               18F3265C2B95766300CABA2E /* fifo.h in Headers */,
-                               18F326772B95766300CABA2E /* tree.h in Headers */,
-                               18F327012B95766400CABA2E /* rsa.h in Headers */,
-                               18F326632B95766300CABA2E /* samplefmt.h in Headers */,
-                               18F326E92B95766400CABA2E /* buffer.h in Headers */,
-                               18F326662B95766300CABA2E /* rational.h in Headers */,
-                               18F326D42B95766400CABA2E /* symhacks.h in Headers */,
-                               18F3269D2B95766300CABA2E /* bprint.h in Headers */,
-                               18F326E42B95766400CABA2E /* pkcs12.h in Headers */,
-                               18F3265F2B95766300CABA2E /* replaygain.h in Headers */,
-                               18F326A42B95766300CABA2E /* avassert.h in Headers */,
-                               18F3269B2B95766300CABA2E /* parseutils.h in Headers */,
-                               18F326682B95766300CABA2E /* motion_vector.h in Headers */,
-                               18F326C62B95766400CABA2E /* ssl3.h in Headers */,
-                               18F326582B95766300CABA2E /* time.h in Headers */,
-                               18F326C72B95766400CABA2E /* ossl_typ.h in Headers */,
-                               18F326B02B95766300CABA2E /* config.h in Headers */,
-                               18F326FF2B95766400CABA2E /* modes.h in Headers */,
-                               18F326FB2B95766400CABA2E /* ts.h in Headers */,
-                               18F3267C2B95766300CABA2E /* timecode.h in Headers */,
-                               18F326752B95766300CABA2E /* ffversion.h in Headers */,
+                               18F3289A2B970B4000CABA2E /* ecdh.h in Headers */,
+                               18F328432B970B3F00CABA2E /* timestamp.h in Headers */,
+                               18F3282E2B970B3F00CABA2E /* aes.h in Headers */,
+                               18F328B12B970B4000CABA2E /* swresample.h in Headers */,
+                               18F3284B2B970B3F00CABA2E /* ffversion.h in Headers */,
+                               18F328562B970B4000CABA2E /* vdpau.h in Headers */,
+                               18F328642B970B4000CABA2E /* dv_profile.h in Headers */,
+                               18F3281C2B970B3F00CABA2E /* hwcontext_d3d11va.h in Headers */,
+                               18F328102B970B3F00CABA2E /* frame.h in Headers */,
+                               18F328382B970B3F00CABA2E /* twofish.h in Headers */,
+                               18F328222B970B3F00CABA2E /* buffer.h in Headers */,
+                               18F327FA2B970B3F00CABA2E /* hwcontext_cuda.h in Headers */,
+                               18F3280A2B970B3F00CABA2E /* avconfig.h in Headers */,
+                               18F328A92B970B4000CABA2E /* dsa.h in Headers */,
+                               18F328252B970B3F00CABA2E /* hwcontext_drm.h in Headers */,
+                               18F328632B970B4000CABA2E /* dxva2.h in Headers */,
+                               18F328A52B970B4000CABA2E /* ripemd.h in Headers */,
+                               18F328862B970B4000CABA2E /* crypto.h in Headers */,
+                               18F328922B970B4000CABA2E /* aes.h in Headers */,
+                               18F328292B970B3F00CABA2E /* dict.h in Headers */,
+                               18F327FD2B970B3F00CABA2E /* fifo.h in Headers */,
+                               18F328182B970B3F00CABA2E /* tree.h in Headers */,
+                               18F328A22B970B4000CABA2E /* rsa.h in Headers */,
+                               18F328042B970B3F00CABA2E /* samplefmt.h in Headers */,
+                               18F3288A2B970B4000CABA2E /* buffer.h in Headers */,
+                               18F328072B970B3F00CABA2E /* rational.h in Headers */,
+                               18F328752B970B4000CABA2E /* symhacks.h in Headers */,
+                               18F3283E2B970B3F00CABA2E /* bprint.h in Headers */,
+                               18F328852B970B4000CABA2E /* pkcs12.h in Headers */,
+                               18F328002B970B3F00CABA2E /* replaygain.h in Headers */,
+                               18F328452B970B3F00CABA2E /* avassert.h in Headers */,
+                               18F3283C2B970B3F00CABA2E /* parseutils.h in Headers */,
+                               18F328092B970B3F00CABA2E /* motion_vector.h in Headers */,
+                               18F328672B970B4000CABA2E /* ssl3.h in Headers */,
+                               18F327F92B970B3F00CABA2E /* time.h in Headers */,
+                               18F328682B970B4000CABA2E /* ossl_typ.h in Headers */,
+                               18F328512B970B4000CABA2E /* config.h in Headers */,
+                               18F328A02B970B4000CABA2E /* modes.h in Headers */,
+                               18F3289C2B970B4000CABA2E /* ts.h in Headers */,
+                               18F3281D2B970B3F00CABA2E /* timecode.h in Headers */,
+                               18F328162B970B3F00CABA2E /* ffversion.h in Headers */,
                                18F323A82B9095D300CABA2E /* AiIotAudioConverter.h in Headers */,
-                               18F326862B95766300CABA2E /* hmac.h in Headers */,
-                               18F326AF2B95766300CABA2E /* swscale.h in Headers */,
-                               18F3270D2B95766400CABA2E /* idea.h in Headers */,
-                               18F3266D2B95766300CABA2E /* crc.h in Headers */,
-                               18F326672B95766300CABA2E /* sha.h in Headers */,
-                               18F326FA2B95766400CABA2E /* rand.h in Headers */,
-                               18F3265D2B95766300CABA2E /* blowfish.h in Headers */,
-                               18F326622B95766300CABA2E /* stereo3d.h in Headers */,
-                               18F326F72B95766400CABA2E /* ocsp.h in Headers */,
+                               18F328272B970B3F00CABA2E /* hmac.h in Headers */,
+                               18F328502B970B4000CABA2E /* swscale.h in Headers */,
+                               18F328AE2B970B4000CABA2E /* idea.h in Headers */,
+                               18F3280E2B970B3F00CABA2E /* crc.h in Headers */,
+                               18F328082B970B3F00CABA2E /* sha.h in Headers */,
+                               18F3289B2B970B4000CABA2E /* rand.h in Headers */,
+                               18F327FE2B970B3F00CABA2E /* blowfish.h in Headers */,
+                               18F328032B970B3F00CABA2E /* stereo3d.h in Headers */,
+                               18F328982B970B4000CABA2E /* ocsp.h in Headers */,
                                18F323C42B93352000CABA2E /* AiIotAudioDecoder.h in Headers */,
-                               18F3269E2B95766300CABA2E /* hdr_dynamic_metadata.h in Headers */,
-                               18F326C82B95766400CABA2E /* dtls1.h in Headers */,
-                               18F326602B95766300CABA2E /* version.h in Headers */,
-                               18F326DA2B95766400CABA2E /* ui_compat.h in Headers */,
-                               18F326D22B95766400CABA2E /* kssl.h in Headers */,
-                               18F326782B95766300CABA2E /* threadmessage.h in Headers */,
-                               18F3268F2B95766300CABA2E /* bswap.h in Headers */,
-                               18F326EB2B95766400CABA2E /* srp.h in Headers */,
-                               18F326902B95766300CABA2E /* rc4.h in Headers */,
-                               18F3265E2B95766300CABA2E /* hwcontext_mediacodec.h in Headers */,
-                               18F326E82B95766400CABA2E /* obj_mac.h in Headers */,
-                               18F3269A2B95766300CABA2E /* mem.h in Headers */,
-                               18F326AB2B95766300CABA2E /* version.h in Headers */,
-                               18F326ED2B95766400CABA2E /* evp.h in Headers */,
-                               18F326F02B95766400CABA2E /* hmac.h in Headers */,
-                               18F326D92B95766400CABA2E /* dh.h in Headers */,
-                               18F326AD2B95766300CABA2E /* avformat.h in Headers */,
-                               18F326D72B95766400CABA2E /* bio.h in Headers */,
+                               18F3283F2B970B3F00CABA2E /* hdr_dynamic_metadata.h in Headers */,
+                               18F328692B970B4000CABA2E /* dtls1.h in Headers */,
+                               18F328012B970B3F00CABA2E /* version.h in Headers */,
+                               18F3287B2B970B4000CABA2E /* ui_compat.h in Headers */,
+                               18F328732B970B4000CABA2E /* kssl.h in Headers */,
+                               18F328192B970B3F00CABA2E /* threadmessage.h in Headers */,
+                               18F328302B970B3F00CABA2E /* bswap.h in Headers */,
+                               18F3288C2B970B4000CABA2E /* srp.h in Headers */,
+                               18F328312B970B3F00CABA2E /* rc4.h in Headers */,
+                               18F327FF2B970B3F00CABA2E /* hwcontext_mediacodec.h in Headers */,
+                               18F328892B970B4000CABA2E /* obj_mac.h in Headers */,
+                               18F3283B2B970B3F00CABA2E /* mem.h in Headers */,
+                               18F3284C2B970B3F00CABA2E /* version.h in Headers */,
+                               18F3288E2B970B4000CABA2E /* evp.h in Headers */,
+                               18F328912B970B4000CABA2E /* hmac.h in Headers */,
+                               18F3287A2B970B4000CABA2E /* dh.h in Headers */,
+                               18F3284E2B970B3F00CABA2E /* avformat.h in Headers */,
+                               18F328782B970B4000CABA2E /* bio.h in Headers */,
                                18F3238E2B8F4F7300CABA2E /* AiIotAudioManager.h in Headers */,
-                               18F326BE2B95766400CABA2E /* dirac.h in Headers */,
-                               18F3267F2B95766300CABA2E /* hwcontext_dxva2.h in Headers */,
-                               18F326612B95766300CABA2E /* murmur3.h in Headers */,
-                               18F326C12B95766400CABA2E /* vorbis_parser.h in Headers */,
-                               18F326A62B95766300CABA2E /* mathematics.h in Headers */,
-                               18F326732B95766300CABA2E /* hwcontext_vaapi.h in Headers */,
-                               18F3269F2B95766300CABA2E /* hwcontext_qsv.h in Headers */,
-                               18F3266E2B95766300CABA2E /* hwcontext_vdpau.h in Headers */,
-                               18F326DB2B95766400CABA2E /* x509v3.h in Headers */,
-                               18F326C02B95766400CABA2E /* ac3_parser.h in Headers */,
-                               18F326562B95766300CABA2E /* avfilter.h in Headers */,
-                               18F326D12B95766400CABA2E /* ui.h in Headers */,
-                               18F326832B95766300CABA2E /* pixelutils.h in Headers */,
-                               18F326BB2B95766400CABA2E /* d3d11va.h in Headers */,
-                               18F326722B95766300CABA2E /* cast5.h in Headers */,
-                               18F327052B95766400CABA2E /* whrlpool.h in Headers */,
-                               18F326552B95766300CABA2E /* buffersink.h in Headers */,
-                               18F3266B2B95766300CABA2E /* avutil.h in Headers */,
-                               18F326F42B95766400CABA2E /* rc4.h in Headers */,
-                               18F327022B95766400CABA2E /* krb5_asn.h in Headers */,
-                               18F326E12B95766400CABA2E /* safestack.h in Headers */,
-                               18F326912B95766300CABA2E /* tea.h in Headers */,
-                               18F3265B2B95766300CABA2E /* error.h in Headers */,
-                               18F327032B95766400CABA2E /* des_old.h in Headers */,
-                               18F326E32B95766400CABA2E /* objects.h in Headers */,
-                               18F326A02B95766300CABA2E /* pixfmt.h in Headers */,
-                               18F326CF2B95766400CABA2E /* x509.h in Headers */,
-                               18F326572B95766300CABA2E /* hwcontext.h in Headers */,
-                               18F3267E2B95766300CABA2E /* sha512.h in Headers */,
-                               18F326E62B95766400CABA2E /* opensslv.h in Headers */,
-                               18F326982B95766300CABA2E /* imgutils.h in Headers */,
-                               18F326DC2B95766400CABA2E /* ssl23.h in Headers */,
-                               18F326D62B95766400CABA2E /* opensslconf.h in Headers */,
-                               18F327062B95766400CABA2E /* tls1.h in Headers */,
-                               18F326E22B95766400CABA2E /* ecdsa.h in Headers */,
-                               18F326AC2B95766300CABA2E /* avio.h in Headers */,
-                               18F326542B95766300CABA2E /* buffersrc.h in Headers */,
-                               18F326DE2B95766400CABA2E /* md5.h in Headers */,
-                               18F326EA2B95766400CABA2E /* ssl.h in Headers */,
-                               18F326BC2B95766400CABA2E /* avfft.h in Headers */,
-                               18F326A32B95766300CABA2E /* downmix_info.h in Headers */,
-                               18F3270E2B95766400CABA2E /* lhash.h in Headers */,
-                               18F3269C2B95766300CABA2E /* ripemd.h in Headers */,
-                               18F326952B95766300CABA2E /* channel_layout.h in Headers */,
-                               18F326D82B95766400CABA2E /* rc2.h in Headers */,
-                               18F326802B95766300CABA2E /* display.h in Headers */,
-                               18F326D32B95766400CABA2E /* sha.h in Headers */,
-                               18F326872B95766300CABA2E /* eval.h in Headers */,
-                               18F3265A2B95766300CABA2E /* intfloat.h in Headers */,
-                               18F326CD2B95766400CABA2E /* engine.h in Headers */,
-                               18F326702B95766300CABA2E /* file.h in Headers */,
-                               18F326932B95766300CABA2E /* lzo.h in Headers */,
-                               18F326852B95766300CABA2E /* common.h in Headers */,
-                               18F326B42B95766300CABA2E /* version.h in Headers */,
-                               18F326EC2B95766400CABA2E /* camellia.h in Headers */,
+                               18F3285F2B970B4000CABA2E /* dirac.h in Headers */,
+                               18F328202B970B3F00CABA2E /* hwcontext_dxva2.h in Headers */,
+                               18F328022B970B3F00CABA2E /* murmur3.h in Headers */,
+                               18F328622B970B4000CABA2E /* vorbis_parser.h in Headers */,
+                               18F328472B970B3F00CABA2E /* mathematics.h in Headers */,
+                               18F328142B970B3F00CABA2E /* hwcontext_vaapi.h in Headers */,
+                               18F328402B970B3F00CABA2E /* hwcontext_qsv.h in Headers */,
+                               18F3280F2B970B3F00CABA2E /* hwcontext_vdpau.h in Headers */,
+                               18F3287C2B970B4000CABA2E /* x509v3.h in Headers */,
+                               18F328612B970B4000CABA2E /* ac3_parser.h in Headers */,
+                               18F327F72B970B3F00CABA2E /* avfilter.h in Headers */,
+                               18F328722B970B4000CABA2E /* ui.h in Headers */,
+                               18F328242B970B3F00CABA2E /* pixelutils.h in Headers */,
+                               18F3285C2B970B4000CABA2E /* d3d11va.h in Headers */,
+                               18F328132B970B3F00CABA2E /* cast5.h in Headers */,
+                               18F328A62B970B4000CABA2E /* whrlpool.h in Headers */,
+                               18F327F62B970B3F00CABA2E /* buffersink.h in Headers */,
+                               18F3280C2B970B3F00CABA2E /* avutil.h in Headers */,
+                               18F328952B970B4000CABA2E /* rc4.h in Headers */,
+                               18F328A32B970B4000CABA2E /* krb5_asn.h in Headers */,
+                               18F328822B970B4000CABA2E /* safestack.h in Headers */,
+                               18F328322B970B3F00CABA2E /* tea.h in Headers */,
+                               18F327FC2B970B3F00CABA2E /* error.h in Headers */,
+                               18F328A42B970B4000CABA2E /* des_old.h in Headers */,
+                               18F328842B970B4000CABA2E /* objects.h in Headers */,
+                               18F328412B970B3F00CABA2E /* pixfmt.h in Headers */,
+                               18F328702B970B4000CABA2E /* x509.h in Headers */,
+                               18F327F82B970B3F00CABA2E /* hwcontext.h in Headers */,
+                               18F3281F2B970B3F00CABA2E /* sha512.h in Headers */,
+                               18F328872B970B4000CABA2E /* opensslv.h in Headers */,
+                               18F328392B970B3F00CABA2E /* imgutils.h in Headers */,
+                               18F3287D2B970B4000CABA2E /* ssl23.h in Headers */,
+                               18F328772B970B4000CABA2E /* opensslconf.h in Headers */,
+                               18F328A72B970B4000CABA2E /* tls1.h in Headers */,
+                               18F328832B970B4000CABA2E /* ecdsa.h in Headers */,
+                               18F3284D2B970B3F00CABA2E /* avio.h in Headers */,
+                               18F327F52B970B3F00CABA2E /* buffersrc.h in Headers */,
+                               18F3287F2B970B4000CABA2E /* md5.h in Headers */,
+                               18F3288B2B970B4000CABA2E /* ssl.h in Headers */,
+                               18F3285D2B970B4000CABA2E /* avfft.h in Headers */,
+                               18F328442B970B3F00CABA2E /* downmix_info.h in Headers */,
+                               18F328AF2B970B4000CABA2E /* lhash.h in Headers */,
+                               18F3283D2B970B3F00CABA2E /* ripemd.h in Headers */,
+                               18F328362B970B3F00CABA2E /* channel_layout.h in Headers */,
+                               18F328792B970B4000CABA2E /* rc2.h in Headers */,
+                               18F328212B970B3F00CABA2E /* display.h in Headers */,
+                               18F328742B970B4000CABA2E /* sha.h in Headers */,
+                               18F328282B970B3F00CABA2E /* eval.h in Headers */,
+                               18F327FB2B970B3F00CABA2E /* intfloat.h in Headers */,
+                               18F3286E2B970B4000CABA2E /* engine.h in Headers */,
+                               18F328112B970B3F00CABA2E /* file.h in Headers */,
+                               18F328342B970B3F00CABA2E /* lzo.h in Headers */,
+                               18F328262B970B3F00CABA2E /* common.h in Headers */,
+                               18F328552B970B4000CABA2E /* version.h in Headers */,
+                               18F3288D2B970B4000CABA2E /* camellia.h in Headers */,
                                18BF1E8A2B8362D300B8D90F /* AiSdk.h in Headers */,
-                               18F326962B95766300CABA2E /* encryption_info.h in Headers */,
-                               18F326C52B95766400CABA2E /* pem.h in Headers */,
-                               18F326A72B95766300CABA2E /* intreadwrite.h in Headers */,
-                               18F326942B95766300CABA2E /* des.h in Headers */,
-                               18F326D52B95766400CABA2E /* asn1.h in Headers */,
-                               18F326F22B95766400CABA2E /* comp.h in Headers */,
-                               18F326742B95766300CABA2E /* spherical.h in Headers */,
-                               18F326EE2B95766400CABA2E /* e_os2.h in Headers */,
-                               18F326922B95766300CABA2E /* cpu.h in Headers */,
-                               18F326792B95766300CABA2E /* attributes.h in Headers */,
-                               18F326B62B95766400CABA2E /* qsv.h in Headers */,
-                               18F326B92B95766400CABA2E /* xvmc.h in Headers */,
-                               18F3268A2B95766300CABA2E /* opt.h in Headers */,
-                               18F3268B2B95766300CABA2E /* mastering_display_metadata.h in Headers */,
-                               18F3268E2B95766300CABA2E /* macros.h in Headers */,
-                               18F327072B95766400CABA2E /* mdc2.h in Headers */,
-                               18F3270A2B95766400CABA2E /* asn1t.h in Headers */,
-                               18F3267D2B95766300CABA2E /* tx.h in Headers */,
-                               18F3266C2B95766300CABA2E /* xtea.h in Headers */,
-                               18F3268C2B95766300CABA2E /* log.h in Headers */,
-                               18F3266A2B95766300CABA2E /* lfg.h in Headers */,
+                               18F328372B970B3F00CABA2E /* encryption_info.h in Headers */,
+                               18F328662B970B4000CABA2E /* pem.h in Headers */,
+                               18F328482B970B3F00CABA2E /* intreadwrite.h in Headers */,
+                               18F328352B970B3F00CABA2E /* des.h in Headers */,
+                               18F328762B970B4000CABA2E /* asn1.h in Headers */,
+                               18F328932B970B4000CABA2E /* comp.h in Headers */,
+                               18F328152B970B3F00CABA2E /* spherical.h in Headers */,
+                               18F3288F2B970B4000CABA2E /* e_os2.h in Headers */,
+                               18F328332B970B3F00CABA2E /* cpu.h in Headers */,
+                               18F3281A2B970B3F00CABA2E /* attributes.h in Headers */,
+                               18F328572B970B4000CABA2E /* qsv.h in Headers */,
+                               18F3285A2B970B4000CABA2E /* xvmc.h in Headers */,
+                               18F3282B2B970B3F00CABA2E /* opt.h in Headers */,
+                               18F3282C2B970B3F00CABA2E /* mastering_display_metadata.h in Headers */,
+                               18F3282F2B970B3F00CABA2E /* macros.h in Headers */,
+                               18F328A82B970B4000CABA2E /* mdc2.h in Headers */,
+                               18F328AB2B970B4000CABA2E /* asn1t.h in Headers */,
+                               18F3281E2B970B3F00CABA2E /* tx.h in Headers */,
+                               18F3280D2B970B3F00CABA2E /* xtea.h in Headers */,
+                               18F3282D2B970B3F00CABA2E /* log.h in Headers */,
+                               18F3280B2B970B3F00CABA2E /* lfg.h in Headers */,
                                18F323672B8F1C1900CABA2E /* AiIot.h in Headers */,
-                               18F327092B95766400CABA2E /* srtp.h in Headers */,
-                               18F3270C2B95766400CABA2E /* ebcdic.h in Headers */,
-                               18F326892B95766300CABA2E /* random_seed.h in Headers */,
-                               18F326652B95766300CABA2E /* base64.h in Headers */,
-                               18F326DD2B95766400CABA2E /* conf.h in Headers */,
-                               18F326F52B95766400CABA2E /* stack.h in Headers */,
-                               18F326C42B95766400CABA2E /* pem2.h in Headers */,
-                               18F326642B95766300CABA2E /* pixdesc.h in Headers */,
-                               18F326A52B95766300CABA2E /* hash.h in Headers */,
-                               18F326532B95766300CABA2E /* version.h in Headers */,
-                               18F326CE2B95766400CABA2E /* conf_api.h in Headers */,
-                               18F326F62B95766400CABA2E /* des.h in Headers */,
-                               18F326A82B95766300CABA2E /* avstring.h in Headers */,
-                               18F3270F2B95766400CABA2E /* version.h in Headers */,
-                               18F326822B95766300CABA2E /* camellia.h in Headers */,
-                               18F326FC2B95766400CABA2E /* pqueue.h in Headers */,
-                               18F326C92B95766400CABA2E /* err.h in Headers */,
-                               18F326BF2B95766400CABA2E /* avdct.h in Headers */,
-                               18F326B22B95766300CABA2E /* adts_parser.h in Headers */,
-                               18F326B12B95766300CABA2E /* config.h in Headers */,
-                               18F326762B95766300CABA2E /* audio_fifo.h in Headers */,
-                               18F323842B8F330100CABA2E /* AiIotConnectManager.h in Headers */,
-                               18F326CC2B95766400CABA2E /* cms.h in Headers */,
+                               18F328AA2B970B4000CABA2E /* srtp.h in Headers */,
+                               18F328AD2B970B4000CABA2E /* ebcdic.h in Headers */,
+                               18F3282A2B970B3F00CABA2E /* random_seed.h in Headers */,
+                               18F328062B970B3F00CABA2E /* base64.h in Headers */,
+                               18F3287E2B970B4000CABA2E /* conf.h in Headers */,
+                               18F328962B970B4000CABA2E /* stack.h in Headers */,
+                               18F328652B970B4000CABA2E /* pem2.h in Headers */,
+                               18F328052B970B3F00CABA2E /* pixdesc.h in Headers */,
+                               18F328462B970B3F00CABA2E /* hash.h in Headers */,
+                               18F327F42B970B3F00CABA2E /* version.h in Headers */,
+                               18F3286F2B970B4000CABA2E /* conf_api.h in Headers */,
+                               18F328972B970B4000CABA2E /* des.h in Headers */,
+                               18F328492B970B3F00CABA2E /* avstring.h in Headers */,
+                               18F328B02B970B4000CABA2E /* version.h in Headers */,
+                               18F328232B970B3F00CABA2E /* camellia.h in Headers */,
+                               18F3289D2B970B4000CABA2E /* pqueue.h in Headers */,
+                               18F3286A2B970B4000CABA2E /* err.h in Headers */,
+                               18F328602B970B4000CABA2E /* avdct.h in Headers */,
+                               18F328532B970B4000CABA2E /* adts_parser.h in Headers */,
+                               18F328522B970B4000CABA2E /* config.h in Headers */,
+                               18F328172B970B3F00CABA2E /* audio_fifo.h in Headers */,
+                               18F323842B8F330100CABA2E /* AiIotAuthManager.h in Headers */,
+                               18F3286D2B970B4000CABA2E /* cms.h in Headers */,
                                18F323952B8F525C00CABA2E /* AiIotTools.h in Headers */,
-                               18F326CA2B95766400CABA2E /* bn.h in Headers */,
-                               18F326F82B95766400CABA2E /* ec.h in Headers */,
-                               18F326A12B95766300CABA2E /* aes_ctr.h in Headers */,
-                               18F326EF2B95766400CABA2E /* md4.h in Headers */,
-                               18F326FD2B95766400CABA2E /* dso.h in Headers */,
-                               18F326AE2B95766300CABA2E /* version.h in Headers */,
-                               18F326B72B95766400CABA2E /* vaapi.h in Headers */,
-                               18F326992B95766300CABA2E /* hwcontext_videotoolbox.h in Headers */,
-                               18F3270B2B95766400CABA2E /* cmac.h in Headers */,
-                               18F326DF2B95766400CABA2E /* x509_vfy.h in Headers */,
-                               18F326B32B95766300CABA2E /* avcodec.h in Headers */,
-                               18F326BD2B95766400CABA2E /* jni.h in Headers */,
-                               18F326A92B95766300CABA2E /* avconfig.h in Headers */,
-                               18F326F32B95766400CABA2E /* cast.h in Headers */,
-                               18F326E02B95766400CABA2E /* txt_db.h in Headers */,
-                               18F326D02B95766400CABA2E /* asn1_mac.h in Headers */,
-                               18F327002B95766400CABA2E /* ssl2.h in Headers */,
-                               18F326712B95766300CABA2E /* md5.h in Headers */,
-                               18F326FE2B95766400CABA2E /* seed.h in Headers */,
-                               18F3267A2B95766300CABA2E /* adler32.h in Headers */,
-                               18F326BA2B95766400CABA2E /* mediacodec.h in Headers */,
-                               18F326E72B95766400CABA2E /* pkcs7.h in Headers */,
-                               18F326CB2B95766400CABA2E /* blowfish.h in Headers */,
-                               18F326B82B95766400CABA2E /* videotoolbox.h in Headers */,
+                               18F3286B2B970B4000CABA2E /* bn.h in Headers */,
+                               18F328992B970B4000CABA2E /* ec.h in Headers */,
+                               18F328422B970B3F00CABA2E /* aes_ctr.h in Headers */,
+                               18F328902B970B4000CABA2E /* md4.h in Headers */,
+                               18F3289E2B970B4000CABA2E /* dso.h in Headers */,
+                               18F3284F2B970B3F00CABA2E /* version.h in Headers */,
+                               18F328582B970B4000CABA2E /* vaapi.h in Headers */,
+                               18F3283A2B970B3F00CABA2E /* hwcontext_videotoolbox.h in Headers */,
+                               18F328AC2B970B4000CABA2E /* cmac.h in Headers */,
+                               18F328802B970B4000CABA2E /* x509_vfy.h in Headers */,
+                               18F328542B970B4000CABA2E /* avcodec.h in Headers */,
+                               18F3285E2B970B4000CABA2E /* jni.h in Headers */,
+                               18F3284A2B970B3F00CABA2E /* avconfig.h in Headers */,
+                               18F328942B970B4000CABA2E /* cast.h in Headers */,
+                               18F328812B970B4000CABA2E /* txt_db.h in Headers */,
+                               18F328712B970B4000CABA2E /* asn1_mac.h in Headers */,
+                               18F328A12B970B4000CABA2E /* ssl2.h in Headers */,
+                               18F328122B970B3F00CABA2E /* md5.h in Headers */,
+                               18F3289F2B970B4000CABA2E /* seed.h in Headers */,
+                               18F3281B2B970B3F00CABA2E /* adler32.h in Headers */,
+                               18F3285B2B970B4000CABA2E /* mediacodec.h in Headers */,
+                               18F328882B970B4000CABA2E /* pkcs7.h in Headers */,
+                               18F3286C2B970B4000CABA2E /* blowfish.h in Headers */,
+                               18F328592B970B4000CABA2E /* videotoolbox.h in Headers */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        files = (
                                18BF1E052B81E18800B8D90F /* ConnectKitVC.swift in Sources */,
                                18F3235D2B8ED78300CABA2E /* ScanCell.m in Sources */,
-                               18F323622B8F13D700CABA2E /* LogVC.m in Sources */,
                                18BF1DD22B81AB7C00B8D90F /* ViewController.m in Sources */,
                                18F323772B8F2DAD00CABA2E /* AliIotTools.m in Sources */,
                                18BF1DD92B81AB7F00B8D90F /* main.m in Sources */,
+                               18F328D52B98569D00CABA2E /* Config.m in Sources */,
                                18BF1E762B832D2E00B8D90F /* ScanVC.m in Sources */,
                                18BF1E222B83066200B8D90F /* BleManager.m in Sources */,
                                18BF1DCF2B81AB7C00B8D90F /* AppDelegate.m in Sources */,
                                18F323A92B9095D300CABA2E /* AiIotAudioConverter.m in Sources */,
                                18F323682B8F1C1900CABA2E /* AiIot.m in Sources */,
                                18F323962B8F525C00CABA2E /* AiIotTools.m in Sources */,
-                               18F323852B8F330100CABA2E /* AiIotConnectManager.m in Sources */,
+                               18F323852B8F330100CABA2E /* AiIotAuthManager.m in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
diff --git a/MouseSdk/MouseSdk.xcodeproj/xcshareddata/xcschemes/AiSdk.xcscheme b/MouseSdk/MouseSdk.xcodeproj/xcshareddata/xcschemes/AiSdk.xcscheme
new file mode 100644 (file)
index 0000000..98e7213
--- /dev/null
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "1500"
+   version = "1.7">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "18BF1E862B8362D300B8D90F"
+               BuildableName = "AiSdk.framework"
+               BlueprintName = "AiSdk"
+               ReferencedContainer = "container:MouseSdk.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      shouldAutocreateTestPlan = "YES">
+   </TestAction>
+   <LaunchAction
+      buildConfiguration = "Debug"
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      debugServiceExtension = "internal"
+      allowLocationSimulation = "YES">
+   </LaunchAction>
+   <ProfileAction
+      buildConfiguration = "Release"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      debugDocumentVersioning = "YES">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "18BF1E862B8362D300B8D90F"
+            BuildableName = "AiSdk.framework"
+            BlueprintName = "AiSdk"
+            ReferencedContainer = "container:MouseSdk.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>
index 24dc26e..fe65781 100644 (file)
@@ -7,12 +7,20 @@
                <key>AiSdk.xcscheme_^#shared#^_</key>
                <dict>
                        <key>orderHint</key>
-                       <integer>4</integer>
+                       <integer>3</integer>
                </dict>
                <key>MouseSdk.xcscheme_^#shared#^_</key>
                <dict>
                        <key>orderHint</key>
-                       <integer>3</integer>
+                       <integer>4</integer>
+               </dict>
+       </dict>
+       <key>SuppressBuildableAutocreation</key>
+       <dict>
+               <key>18BF1E862B8362D300B8D90F</key>
+               <dict>
+                       <key>primary</key>
+                       <true/>
                </dict>
        </dict>
 </dict>
index 0ccf8bd..099e864 100644 (file)
Binary files a/MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate and b/MouseSdk/MouseSdk.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate differ
index 103c1b7..ef49873 100644 (file)
@@ -11,8 +11,6 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface AliIotTools : NSObject
 
-
-
 + (NSArray *)stringToArray:(NSString *)jsonString;
 + (NSString *)arrayToString:(NSArray *)arr;
 
@@ -23,6 +21,13 @@ NS_ASSUME_NONNULL_BEGIN
 + (NSData *)dictionaryToData:(NSDictionary *)dicJson;
 
 
++ (NSString *)dataToHexString:(NSData *)data;
+
++ (NSString *)dataToHexString_placeholder:(NSData *)data;
+
++ (NSData *)hexStringToData:(NSString *)hexStr ;
+
+
 @end
 
 NS_ASSUME_NONNULL_END
index 002834b..cf0f6dc 100644 (file)
     return jsonData;
 }
 
++ (NSString *)dataToHexString:(NSData *)data {
+    NSUInteger length = data.length;
+    NSMutableString *result = [NSMutableString stringWithCapacity:length * 2];
+    const unsigned char *byte = data.bytes;
+    for (int i = 0; i < length; i++, byte++) {
+        [result appendFormat:@"%02X", *byte];
+    }
+    return result;
+}
+
++ (NSString *)dataToHexString_placeholder:(NSData *)data {
+    NSUInteger length = data.length;
+    NSString *placeholder = @" ";
+    NSMutableString *result = [NSMutableString stringWithCapacity:length * 2];
+    const unsigned char *byte = data.bytes;
+    for (int i = 0; i < length; i++, byte++) {
+        [result appendFormat:@"%02X%@", *byte, placeholder];
+    }
+    return result;
+}
+
++ (NSData *)hexStringToData:(NSString *)hexStr {
+    hexStr = [hexStr stringByReplacingOccurrencesOfString:@" " withString:@""];
+    hexStr = [hexStr lowercaseString];
+    NSUInteger len = hexStr.length;
+    if (!len) return nil;
+    unichar *buf = malloc(sizeof(unichar) * len);
+    if (!buf) return nil;
+    [hexStr getCharacters:buf range:NSMakeRange(0, len)];
+    
+    NSMutableData *result = [NSMutableData data];
+    unsigned char bytes;
+    char str[3] = { '\0', '\0', '\0' };
+    int i;
+    for (i = 0; i < len / 2; i++) {
+        str[0] = buf[i * 2];
+        str[1] = buf[i * 2 + 1];
+        bytes = strtol(str, NULL, 16);
+        [result appendBytes:&bytes length:1];
+    }
+    free(buf);
+    return result;
+}
+
+- (NSString *)dataToUtf8String:(NSData *)data {
+    if (data.length > 0) {
+        return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
+    }
+    return @"";
+}
+
 @end
index 7e3cc9b..6cf6e6a 100644 (file)
@@ -21,9 +21,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 - (void)connectPeripheral:(CBPeripheral *)peripheral;
 
-- (void)lpConnect;
-
-- (void)sendToBle:(NSData *)data;
+- (void)startAuth;
 @end
 
 NS_ASSUME_NONNULL_END
index 4629cf3..3097680 100644 (file)
@@ -9,19 +9,20 @@
 
 #import "BleManager.h"
 #import <AiSdk/AiSdk.h>
+#import "Config.h"
+//#import "AliIotTools.h"
 
 #define kVoiceUUID @"0783B03E-8535-B5A0-7140-A304D2194CB8"
 //#define kUnUUID @"0783B03E-8535-B5A0-7140-A304D2495CB9"
 #define kAuthUUID @"0783B03E-8535-B5A0-7140-A304D2194CB7"
 
-
-
 @interface BleManager ()<CBCentralManagerDelegate,CBPeripheralDelegate,AiIotDelegate>
 @property (nonatomic,strong) NSMutableArray *scanArray;
 @property(nonatomic, strong) CBCentralManager *centralManager;
 @property(nonatomic, strong) CBPeripheral *connectPeripheral;
 @property(nonatomic, strong) CBCharacteristic *authCha;
 
+@property (nonatomic,strong)NSMutableData *recordData;
 @end
 
 @implementation BleManager
 }
 #pragma mark - CBPeripheralDelegate
 - (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error {
-//    for (CBService *service in peripheral.services){
-//        [peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:@"FED7"],[CBUUID UUIDWithString:@"FED8"]] forService:service];
-//    }
-//    for (CBService *service in peripheral.services){
-//        [peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:@"0783B03E-8535-B5A0-7140-A304D2495CB8"]] forService:service];
-//    }
     for (CBService *service in peripheral.services){
         [peripheral discoverCharacteristics:nil forService:service];
     }
 }
 
 - (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error {
-//    for (CBCharacteristic *characteristic in service.characteristics){
-//        if ([characteristic.UUID.UUIDString isEqualToString:@"FED7"]) {
-//            self.writeCha = characteristic;
-//            //找到写入的uuid后,调用sdk配置方法
-////            [AliIot.shareInstance configSDK];
-//        }
-//        if ([characteristic.UUID.UUIDString isEqualToString:@"FED8"]) {
-//            self.notifyCha = characteristic;
-//            [peripheral setNotifyValue:YES forCharacteristic:characteristic];
-//        }
-//    }
     for (CBCharacteristic *characteristic in service.characteristics){
         if ([characteristic.UUID.UUIDString isEqualToString:kAuthUUID]) {
             self.authCha = characteristic;
-            //找到写入的uuid后,调用sdk配置方法
-//            [AliIot.shareInstance configSDK];
             [peripheral setNotifyValue:YES forCharacteristic:characteristic];
         }
         if ([characteristic.UUID.UUIDString isEqualToString:kAuthUUID] ||
 }
 
 - (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error {
-    [self receiveDataFromBle:characteristic.value];
+    NSData *data = characteristic.value;
+    [self showLog:[NSString stringWithFormat:@"[receive] %@",[AiIotTools dataToHexString:data]]];
+    if([characteristic.UUID.UUIDString isEqualToString:kAuthUUID]){
+        [[AiIot shared] sendAuthToSdk:data];
+    }
+    else{
+        [[AiIot shared] sendBuinessToSdk:data];
+    }
 }
 
 #pragma mark - AiIotDelegate
-- (void)aiIotSendToBle:(NSData *)data{
-    [self sendToBle:data];
+/// 鉴权状态回调
+/// - Parameter isSuccess:是否鉴权成功
+-(void)aiIotSendAuthStatus:(BOOL)isSuccess{
+    [self showLog:[NSString stringWithFormat:@"鉴权结果 = %@",@(isSuccess)]];
+}
+/// 鉴权数据回调,需要将此数据转发给蓝牙设备
+/// - Parameter data: 数据
+- (void)aiIotSendAuthData:(NSData *)data{
+    [self showLog:[NSString stringWithFormat:@"[send] %@",[AiIotTools dataToHexString:data]]];
+    [self.connectPeripheral writeValue:data forCharacteristic:self.authCha type:CBCharacteristicWriteWithoutResponse];
 }
-
-- (void)aiIotDidRecord:(NSString *)audioPath{
-    [self showLog:[NSString stringWithFormat:@"录音地址 = %@",audioPath]];
+/// 指令回调
+/// - Parameter data: 数据
+- (void)aiIotSendCmd:(NSData *)data{
+    NSString *str = [[AiIotTools dataToHexString:data] lowercaseString];
+    NSString *cmd = [str substringWithRange:NSMakeRange(0, 12)];
+    if([cmd hasPrefix:@"0a"] && [cmd hasSuffix:@"31"]){
+        [self showLog:@"开始录音"];
+        self.recordData = [[NSMutableData alloc] init];
+    }
+    if( [cmd hasPrefix:@"0a"] && [cmd hasSuffix:@"32"]){
+        [self showLog:@"结束录音"];
+        [self finishRecored:self.recordData];
+    }
+//    else{
+//        [self showLog:@"未实现指令"];
+//    }
 }
-
-- (void)aiIotAuthChangeStatus:(BOOL)isSuccess { 
-    
+/// 录音回调
+/// - Parameter data: pcm格式语音数据
+- (void)aiIotSendRecordData:(NSData *)data{
+    [self.recordData appendData:data];
 }
 
 #pragma mark - public
     [self.centralManager connectPeripheral:peripheral options:@{CBConnectPeripheralOptionNotifyOnConnectionKey : [NSNumber numberWithBool:YES]}];
 }
 
-//飞鸽书请求连接
-- (void)lpConnect{
-//        NSData *data = [self tysm_dataWithHexString:@"000000000401"];
-//        NSMutableData *mData = NSMutableData.data;
-//        uint8_t cmd = 0x7f;
-//        [mData appendBytes:&cmd length:1];
-//        [mData appendData:data];
-//        [AliIot.shareInstance handleReceivedData:mData.copy];
-}
-
-- (void)sendToBle:(NSData *)data{
-    [self showLog:[NSString stringWithFormat:@"[send] %@",data]];
-    [self.connectPeripheral writeValue:data forCharacteristic:self.authCha type:CBCharacteristicWriteWithoutResponse];
-}
-
-- (void)receiveDataFromBle:(NSData *)data{
-    [self showLog:[NSString stringWithFormat:@"[receive] %@",data]];
-    [[AiIot shared] sendToSdk:data];
+- (void)startAuth{
+    [[AiIot shared] startAuthentication];
 }
 
+#pragma mark - other
 - (void)showLog:(NSString *)log{
     NSLog(@"%@",log);
 }
+
+- (void)finishRecored:(NSData *)data{
+    NSString *doc = NSTemporaryDirectory();
+    NSString *fullPath = [NSString stringWithFormat:@"%@2.pcm",doc];
+    [self showLog:[NSString stringWithFormat:@"%@",fullPath]];
+    NSError *err;
+    [data writeToFile:fullPath options:NSDataWritingAtomic error:&err];
+    if (err) {
+        [self showLog:[NSString stringWithFormat:@"录音保存失败%@",err.description]];
+    }
+    else{
+        [self showLog:@"录音保存成功"];
+    }
+}
 @end
diff --git a/MouseSdk/MouseSdk/Config.h b/MouseSdk/MouseSdk/Config.h
new file mode 100644 (file)
index 0000000..f856dbc
--- /dev/null
@@ -0,0 +1,47 @@
+//
+//  Config.h
+//  MouseSdk
+//
+//  Created by incar on 2024/3/6.
+//
+
+#ifdef DEBUG //调试
+
+// 不带方法名
+#define NSLog(FORMAT, ...) {\
+NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];\
+[dateFormatter setDateStyle:NSDateFormatterMediumStyle];\
+[dateFormatter setTimeStyle:NSDateFormatterShortStyle];\
+[dateFormatter setDateFormat:@"HH:mm:ss:SSS"]; \
+NSString *str = [dateFormatter stringFromDate:[NSDate date]];\
+fprintf(stderr," %s ~ %s\n",[str UTF8String], [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);\
+}
+
+//// 带方法名
+//#define NSLog(FORMAT, ...) {\
+//NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];\
+//[dateFormatter setDateStyle:NSDateFormatterMediumStyle];\
+//[dateFormatter setTimeStyle:NSDateFormatterShortStyle];\
+//[dateFormatter setDateFormat:@"HH:mm:ss:SSSSSS"]; \
+//NSString *str = [dateFormatter stringFromDate:[NSDate date]];\
+//fprintf(stderr," %s %s %d %s~ 打印 = %s\n",[str UTF8String],[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__,__func__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);\
+//}
+
+
+#else // 发布
+
+#define NSLog(FORMAT, ...) nil
+
+#endif
+
+
+#import <Foundation/Foundation.h>
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface Config : NSObject
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/MouseSdk/MouseSdk/Config.m b/MouseSdk/MouseSdk/Config.m
new file mode 100644 (file)
index 0000000..37adab3
--- /dev/null
@@ -0,0 +1,12 @@
+//
+//  Config.m
+//  MouseSdk
+//
+//  Created by incar on 2024/3/6.
+//
+
+#import "Config.h"
+
+@implementation Config
+
+@end
diff --git a/MouseSdk/MouseSdk/LogVC.h b/MouseSdk/MouseSdk/LogVC.h
deleted file mode 100644 (file)
index 6be04f6..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-//
-//  LogVC.h
-//  MouseSdk
-//
-//  Created by incar on 2024/2/28.
-//
-
-#import <Cocoa/Cocoa.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface LogVC : NSViewController
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/MouseSdk/MouseSdk/LogVC.m b/MouseSdk/MouseSdk/LogVC.m
deleted file mode 100644 (file)
index df24471..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-//  LogVC.m
-//  MouseSdk
-//
-//  Created by incar on 2024/2/28.
-//
-
-#import "LogVC.h"
-#import "Ble/BleManager.h"
-@interface LogVC()
-@property (nonatomic,strong) NSTextField *textField;
-@end
-
-@implementation LogVC
-- (void)viewDidLoad {
-    [super viewDidLoad];
-    // Do view setup here.
-    [self setupViews];
-    [self setupBle];
-}
-- (void)loadView{
-    self.title = @"扫描设备";
-    self.view = [[NSView alloc] initWithFrame:CGRectMake(0, 0, 500, 500)];
-}
-- (void)setupViews{
-    
-}
-- (void)setupBle{
-    BleManager *manager = [BleManager shared];
-    __weak typeof(self) weakSelf= self;
-
-}
-
-@end
index 4649d77..3ff6c13 100644 (file)
 }
 
 - (void)checkFGSStatus{
-    NSString *cmd = @"7B22736964223A22464753222C22766572223A312C2264617461223A227B5C227369647665725C223A312C5C226D73675F747970655C223A5C224647535F4D53475F545950455F53544152545F4647535F5245515C227D227D";
-    NSData *data = [AiIotTools hexStringToData:cmd];
-    [[BleManager shared] sendToBle:data];
+    [[BleManager shared] startAuth];
 }
 
 - (void)connectLp{