From ca75cc09395171ca363b040f815099fc734b3f9d Mon Sep 17 00:00:00 2001
From: lipengwei <lipengwei@nianben.com>
Date: Wed, 27 May 2020 09:44:01 +0800
Subject: [PATCH] 3.8.4

---
 res/ElvaChatServiceSDK.bundle/darkMode/show_faq_list.png                         |    0 
 res/ElvaChatServiceSDK.bundle/es.lproj/Localizable.strings                       |   10 
 res/ElvaChatServiceSDK.bundle/en.lproj/Localizable.strings                       |   14 +
 frameworks/MQTTFramework.framework/Headers/MQTTClient.h                          |   25 ++
 res/ElvaChatServiceSDK.bundle/img_arrow.png                                      |    0 
 res/ElvaChatServiceSDK.bundle/darkMode/chat_send_message.png                     |    0 
 res/ElvaChatServiceSDK.bundle/uploadPic.png                                      |    0 
 res/ElvaChatServiceSDK.bundle/darkMode/back_2.png                                |    0 
 res/ElvaChatServiceSDK.bundle/fa.lproj/Localizable.strings                       |   21 -
 frameworks/MQTTFramework.framework/Modules/module.modulemap                      |    0 
 res/ElvaChatServiceSDK.bundle/ko.lproj/Localizable.strings                       |   10 
 res/ElvaChatServiceSDK.bundle/darkMode/ab_op_list_ltem_bg.9.png                  |    0 
 res/ElvaChatServiceSDK.bundle/ab_op_list_ltem_bg.9.png                           |    0 
 frameworks/ElvaChatServiceSDK.framework/Headers/ElvaChatServiceSDK.h             |    2 
 res/ElvaChatServiceSDK.bundle/ar.lproj/Localizable.strings                       |    9 
 res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@3x.png          |    0 
 res/ElvaChatServiceSDK.bundle/btn_search.png                                     |    0 
 res/ElvaChatServiceSDK.bundle/eval_video_play_btn.png                            |    0 
 res/ElvaChatServiceSDK.bundle/de.lproj/Localizable.strings                       |   16 
 res/ElvaChatServiceSDK.bundle/ja.lproj/Localizable.strings                       |   31 +
 res/ElvaChatServiceSDK.bundle/show_faq_list.png                                  |    0 
 res/ElvaChatServiceSDK.bundle/img_loading.png                                    |    0 
 res/ElvaChatServiceSDK.bundle/message_sender_background_normal.png               |    0 
 res/ElvaChatServiceSDK.bundle/message_receiver_background_normal.png             |    0 
 res/ElvaChatServiceSDK.bundle/zh-Hant.lproj/Localizable.strings                  |   16 +
 res/ElvaChatServiceSDK.bundle/default_guide_elva.png                             |    0 
 res/ElvaChatServiceSDK.bundle/darkMode/uploadPic.png                             |    0 
 res/ElvaChatServiceSDK.bundle/el-GR.lproj/Localizable.strings                    |   14 
 frameworks/WAAIhelpImpl.framework/Info.plist                                     |    0 
 res/ElvaChatServiceSDK.bundle/default_guide_elva_robot.png                       |    0 
 res/ElvaChatServiceSDK.bundle/message_sender_background_normal@3x.png            |    0 
 res/ElvaChatServiceSDK.bundle/th.lproj/Localizable.strings                       |    9 
 frameworks/ElvaChatServiceSDK.framework/Headers/ECServiceSdk.h                   |   98 ++++++--
 res/ElvaChatServiceSDK.bundle/img_net_error.png                                  |    0 
 res/ElvaChatServiceSDK.bundle/vi-VN.lproj/Localizable.strings                    |   15 
 res/ElvaChatServiceSDK.bundle/tr.lproj/Localizable.strings                       |    9 
 res/ElvaChatServiceSDK.bundle/default_player_elva.png                            |    0 
 WAAiHelpImpl/3.8.4/WAAiHelpImpl.podspec                                          |   27 ++
 res/ElvaChatServiceSDK.bundle/ru.lproj/Localizable.strings                       |   10 
 config/wa_sdk_impl_config_aihelp.xml                                             |    2 
 frameworks/MQTTFramework.framework/Headers/MQTTWebsocketTransport.h              |   92 ++++----
 res/ElvaChatServiceSDK.bundle/sv-SE.lproj/Localizable.strings                    |   15 
 res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal@2x.png |    0 
 res/ElvaChatServiceSDK.bundle/it-IT.lproj/Localizable.strings                    |   16 
 res/ElvaChatServiceSDK.bundle/btn_error_send.png                                 |    0 
 res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal@3x.png |    0 
 frameworks/MQTTFramework.framework/Headers/MQTTLog.h                             |   45 ++++
 res/ElvaChatServiceSDK.bundle/pl-PL.lproj/Localizable.strings                    |   16 
 frameworks/MQTTFramework.framework/Info.plist                                    |    0 
 res/ElvaChatServiceSDK.bundle/message_sender_background_normal@2x.png            |    0 
 res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal.png    |    0 
 res/ElvaChatServiceSDK.bundle/evaluate_submit.png                                |    0 
 frameworks/ElvaChatServiceSDK.framework/Info.plist                               |    0 
 res/ElvaChatServiceSDK.bundle/fr-FR.lproj/Localizable.strings                    |   15 
 res/ElvaChatServiceSDK.bundle/btn_close.png                                      |    0 
 res/ElvaChatServiceSDK.bundle/back_2.png                                         |    0 
 frameworks/WAAIhelpImpl.framework/WAAIhelpImpl                                   |    0 
 res/ElvaChatServiceSDK.bundle/chat5.png                                          |    0 
 frameworks/ElvaChatServiceSDK.framework/Modules/module.modulemap                 |    0 
 /dev/null                                                                        |   38 ---
 res/ElvaChatServiceSDK.bundle/zh-Hans.lproj/Localizable.strings                  |   16 +
 res/ElvaChatServiceSDK.bundle/pt-PT.lproj/Localizable.strings                    |   15 
 frameworks/WAAIhelpImpl.framework/Headers/WAAIhelpImpl.h                         |    2 
 res/ElvaChatServiceSDK.bundle/chat_send_message.png                              |    0 
 res/ElvaChatServiceSDK.bundle/darkMode/btn_close.png                             |    0 
 res/ElvaChatServiceSDK.bundle/loading.png                                        |    0 
 frameworks/MQTTFramework.framework/MQTTFramework                                 |    0 
 res/ElvaChatServiceSDK.bundle/id-ID.lproj/Localizable.strings                    |    9 
 frameworks/ElvaChatServiceSDK.framework/ElvaChatServiceSDK                       |    0 
 res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@2x.png          |    0 
 WAAiHelpImpl.podspec                                                             |    6 
 71 files changed, 433 insertions(+), 190 deletions(-)

diff --git a/WAAiHelpImpl.podspec b/WAAiHelpImpl.podspec
index fa7dae0..503cb48 100644
--- a/WAAiHelpImpl.podspec
+++ b/WAAiHelpImpl.podspec
@@ -9,7 +9,7 @@
 Pod::Spec.new do |s|
 
 s.name = 'WAAiHelpImpl'
-s.version = '3.8.0'
+s.version = '3.8.4'
 s.summary = 'WAAfImpl framework in testing environment.'
 s.license = 'MIT'
 s.author = { "Hank" => "hank.zhang@gamehollywood.com" }
@@ -22,6 +22,6 @@
 s.libraries = 'sqlite3'
 s.resources = ['config/*.xml','res/ElvaChatServiceSDK.bundle','res/ElvaChatServiceSDK.bundle','res/*.xib','res/Localization/*/*.strings']
 s.requires_arc = true
-s.dependency 'WASdkIntf', '~> 3.8.0'   #此处添加私有库依赖
-s.dependency 'WASdkImpl', '~> 3.8.0'
+s.dependency 'WASdkIntf' 
+s.dependency 'WASdkImpl'
 end
diff --git a/WAAiHelpImpl/3.8.4/WAAiHelpImpl.podspec b/WAAiHelpImpl/3.8.4/WAAiHelpImpl.podspec
new file mode 100644
index 0000000..503cb48
--- /dev/null
+++ b/WAAiHelpImpl/3.8.4/WAAiHelpImpl.podspec
@@ -0,0 +1,27 @@
+#
+#  Be sure to run `pod spec lint WAAiHelpImpl.podspec' to ensure this is a
+#  valid spec and to remove all comments including this before submitting the spec.
+#
+#  To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html
+#  To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/
+#
+
+Pod::Spec.new do |s|
+
+s.name = 'WAAiHelpImpl'
+s.version = '3.8.4'
+s.summary = 'WAAfImpl framework in testing environment.'
+s.license = 'MIT'
+s.author = { "Hank" => "hank.zhang@gamehollywood.com" }
+s.homepage = 'http://repo.wingsdk.cn:8082/summary/WAAiHelpImpl.git'
+s.source = { :git => "http://admin@repo.wingsdk.cn:8082/r/WAAiHelpImpl.git" , :tag => s.version}
+s.platform = :ios
+s.ios.deployment_target = "7.0"
+s.frameworks = "WebKit"
+s.vendored_frameworks = 'frameworks/*.framework'
+s.libraries = 'sqlite3'
+s.resources = ['config/*.xml','res/ElvaChatServiceSDK.bundle','res/ElvaChatServiceSDK.bundle','res/*.xib','res/Localization/*/*.strings']
+s.requires_arc = true
+s.dependency 'WASdkIntf' 
+s.dependency 'WASdkImpl'
+end
diff --git a/config/wa_sdk_impl_config_aihelp.xml b/config/wa_sdk_impl_config_aihelp.xml
index cc09658..4729303 100644
--- a/config/wa_sdk_impl_config_aihelp.xml
+++ b/config/wa_sdk_impl_config_aihelp.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <config>
-	<version val="AIHELP3.8.0"/>
+	<version val="AIHELP3.8.4"/>
     <comps>
         <!-- 公共模块 -->
         <comp module="CORE" plaf="AIHELP" mandatory="YES" value="WAAIhelpCore" desc="公共模块"/>
diff --git a/frameworks/ElvaChatServiceSDK.framework/ElvaChatServiceSDK b/frameworks/ElvaChatServiceSDK.framework/ElvaChatServiceSDK
old mode 100755
new mode 100644
index acbb33e..5ef9944
--- a/frameworks/ElvaChatServiceSDK.framework/ElvaChatServiceSDK
+++ b/frameworks/ElvaChatServiceSDK.framework/ElvaChatServiceSDK
Binary files differ
diff --git a/frameworks/ElvaChatServiceSDK.framework/Headers/ECServiceSdk.h b/frameworks/ElvaChatServiceSDK.framework/Headers/ECServiceSdk.h
old mode 100755
new mode 100644
index 2cdd57e..2d95b9f
--- a/frameworks/ElvaChatServiceSDK.framework/Headers/ECServiceSdk.h
+++ b/frameworks/ElvaChatServiceSDK.framework/Headers/ECServiceSdk.h
@@ -4,49 +4,93 @@
 //
 
 #import <Foundation/Foundation.h>
-@interface ECServiceSdk:NSObject
 
-+ (void) registerUnityOnInitializedCallback:(NSString *) gameObject;
-+ (void) registerUnityOnMessageArrivedCallback:(NSString *) gameObject;
+/*
+ * notify the application when some state changes in Elva.
+ * eventCode:
+ *    2: Elva UI Visible Changed
+ *          state (0) : will show elva ui
+ *          state (1) : all elva ui are closed
+ */
+typedef void (*ElvaEventCallBack)(const int eventCode, const int state);
+typedef BOOL (*ElvaPingCallBack)(const NSString * log);
+typedef void (*ElvaAllowUploadLogMessageCallback)(void);
+
+@class UIViewController;
+typedef NS_ENUM(int,ElvaTokenPlatform) {
+    ElvaTokenPlatformAPNS               = 1,//APNS
+    ElvaTokenPlatformFirebase           = 2,//firebase-FCM
+    ElvaTokenPlatformJpush              = 3,//极光推送
+    ElvaTokenPlatformGeTui              = 4,//个推
+};
+@interface ECServiceSdk:NSObject
+#pragma mark - ------init------
 + (void) init:(NSString*) appSecret Domain:(NSString*) domain AppId:(NSString*) appId;
+#pragma mark - ------showElva------
 + (void) showElva:(NSString*) playerName PlayerUid:(NSString*) playerUid ServerId:(NSString*) serverId PlayerParseId:(NSString*) playerParseId PlayershowConversationFlag:(NSString*) playershowConversationFlag;
 + (void) showElva:(NSString*) playerName PlayerUid:(NSString*) playerUid ServerId:(NSString*) serverId PlayerParseId:(NSString*) playerParseId PlayershowConversationFlag:(NSString*) playershowConversationFlag Config:(NSMutableDictionary*) config;
-+ (void) showSingleFAQ:(NSString*) faqId;
-+ (void) showSingleFAQ:(NSString*) faqId Config:(NSMutableDictionary*) config;
-+ (void) showFAQSection:(NSString*) sectionPublishId;
-+ (void) showFAQSection:(NSString*) sectionPublishId Config:(NSMutableDictionary*) config;
-+ (void) showFAQs;
-+ (void) showFAQs:(NSMutableDictionary*) config;
-+ (void) setName:(NSString*) game_name;
-+ (void) registerDeviceToken:(NSString*) deviceToken isVIP:(Boolean) isVip;
-+ (void) setUserId:(NSString*) playerUid;//自助服务,在showFAQ之前调用
-+ (void) setServerId:(NSString*) serverId;//自助服务,在showFAQ之前调用
-+ (void) setUserName:(NSString*) playerName;//在需要的接口之前调用,建议游戏刚进入就默认调用
+#pragma mark - ------showConversation------
 + (void) showConversation:(NSString*) playerUid ServerId:(NSString*) serverId;//请优先实现setUserName接口
 + (void) showConversation:(NSString*) playerUid ServerId:(NSString*) serverId Config:(NSMutableDictionary*) config;
-+ (void) setSDKLanguage:(NSString*) sdkLanguage;
-+ (void) setChangeDirection;
-+ (void) setUseDevice;
-+ (void) setEvaluateStar:(int) star;
-+ (void) setNoMenu;
-+ (void) setSendCloseNotification:(BOOL) isSend;
-+ (void) setAccelerateDomain:(NSString *)domain;
-+ (void) setOpenLog:(BOOL)isOpen;
-
-+ (void) showVIPChat:(NSString*) appidWeb VIPTags:(NSString *) vipTags;
-
+#pragma mark - ------showElvaOP------
 + (void) showElvaOP:(NSString*) playerName PlayerUid:(NSString*) playerUid ServerId:(NSString*) serverId PlayerParseId:(NSString*) playerParseId PlayershowConversationFlag:(NSString*) playershowConversationFlag Config:(NSMutableDictionary *)config;
 
 + (void) showElvaOP:(NSString*) playerName PlayerUid:(NSString*) playerUid ServerId:(NSString*) serverId PlayerParseId:(NSString*) playerParseId PlayershowConversationFlag:(NSString*) playershowConversationFlag Config:(NSMutableDictionary *)config defaultTabIndex:(int)defaultTabIndex;
+#pragma mark - ------showFAQ------
++ (void) showFAQs;
++ (void) showFAQs:(NSDictionary*)config;
++ (void) showFAQs:(NSString*)playerName playerUid:(NSString*)playerUid;
++ (void) showFAQs:(NSString*)playerName playerUid:(NSString*)playerUid config:(NSDictionary*)config;
 
++ (void) showFAQSection:(NSString*) sectionPublishId;
++ (void) showFAQSection:(NSString*) sectionPublishId Config:(NSMutableDictionary*) config;
+
++ (void) showSingleFAQ:(NSString*) faqId;
++ (void) showSingleFAQ:(NSString*) faqId Config:(NSMutableDictionary*) config;
+
+#pragma mark - ------other------
++ (void) showVIPChat:(NSString*) appidWeb VIPTags:(NSString *) vipTags;
 + (void) showQACommunity:(NSString *)playerUid PlayName:(NSString *)playerName;
 
++ (void) showURL:(NSString *) url;
 + (void) showStoreReview;
 
-+ (void) handlePushNotification:(NSDictionary *) table DataFromInApp:(BOOL) dataFromInApp;
++ (void) setRootViewController:(UIViewController*)rootViewController;
++ (void) setUserId:(NSString*) playerUid;//自助服务,在showFAQ之前调用
++ (void) setUserName:(NSString*) playerName;//在需要的接口之前调用,建议游戏刚进入就默认调用
++ (void) setName:(NSString*) game_name;
++ (void) setOpenLog:(BOOL)isOpen;
++ (void) setServerId:(NSString*) serverId;//自助服务,在showFAQ之前调用
++ (void) setAccelerateDomain:(NSString *)domain;
++ (void) setSDKLanguage:(NSString*) sdkLanguage;
++ (void) setUseDevice;
++ (void) setSendCloseNotification:(BOOL) isSend;//关闭某一项是否发送通知
++ (void) setEvaluateStar:(int) star;//设置默认评价星星个数
 
++ (void) setChangeDirection;
++ (void) setSDKInterfaceOrientationMask:(NSUInteger)interfaceOrientationMask;//参数参考UIInterfaceOrientationMask
++ (void) setNoMenu;
+
++ (void) setVIP:(NSString *)userName userId:(NSString *)userId config:(NSDictionary*)config;
+
++ (void) registerUnityOnInitializedCallback:(NSString *) gameObject;
++ (void) registerUnityOnMessageArrivedCallback:(NSString *) gameObject;
++ (void) registerUnityOnSendMessageSuccessCallback:(NSString *) gameObject;
++ (void) registerDeviceToken:(NSString*) deviceToken isVIP:(Boolean) isVip;
++ (void) handlePushNotification:(NSDictionary *) table DataFromInApp:(BOOL) dataFromInApp;
 + (int) getNotificationMessageCount;
-+ (void) showURL:(NSString *) url;
+
 + (void) setUnreadMessageFetchUid:(NSString*) playerUid;
 
+
++ (NSString*)sdkVersionInfo;
++ (BOOL) isInSDKPageView;
++ (void) setSDKEdgeInsetsWithTop:(float)top bottom:(float)bottom enable:(BOOL)enable;
++ (void) setSDKEdgeColorWithRed:(float)red green:(float)green blue:(float)blue alpha:(float)alpha;//0~1
+
++ (void) setEventListener:(ElvaEventCallBack)callback;
++ (void) setPushToken:(NSString*)pushToken pushPlatform:(ElvaTokenPlatform)pushPlatform;//platform参考1:APNS 2:firebase 3:极光推送 4:个推
++ (void)setNetCheckInfoWithIp:(NSString*)ip callback:(ElvaPingCallBack)callback;
++ (void)setAllowUploadLogMessageCallback:(ElvaAllowUploadLogMessageCallback)callback;
++ (void)setUploadLogFileAtPath:(NSString*)path;
 @end
diff --git a/frameworks/ElvaChatServiceSDK.framework/Headers/ElvaChatServiceSDK.h b/frameworks/ElvaChatServiceSDK.framework/Headers/ElvaChatServiceSDK.h
old mode 100755
new mode 100644
index 451121a..f3dba33
--- a/frameworks/ElvaChatServiceSDK.framework/Headers/ElvaChatServiceSDK.h
+++ b/frameworks/ElvaChatServiceSDK.framework/Headers/ElvaChatServiceSDK.h
@@ -7,7 +7,7 @@
 //
 
 #import <UIKit/UIKit.h>
-
+#import "ECServiceSdk.h"
 //! Project version number for ElvaChatServiceSDK.
 FOUNDATION_EXPORT double ElvaChatServiceSDKVersionNumber;
 
diff --git a/frameworks/ElvaChatServiceSDK.framework/Headers/UnityForwardDecls.h b/frameworks/ElvaChatServiceSDK.framework/Headers/UnityForwardDecls.h
deleted file mode 100755
index ab50faa..0000000
--- a/frameworks/ElvaChatServiceSDK.framework/Headers/UnityForwardDecls.h
+++ /dev/null
@@ -1,191 +0,0 @@
-#pragma once
-
-#include <stdint.h>
-
-#ifdef __OBJC__
-@class UIScreen;
-@class UIWindow;
-@class UIView;
-@class UIViewController;
-@class UIEvent;
-@class UILocalNotification;
-@class NSString;
-@class NSDictionary;
-@class NSSet;
-@class NSData;
-@class NSError;
-@class NSBundle;
-
-@class UnityViewControllerBase;
-#else
-typedef struct objc_object UIScreen;
-typedef struct objc_object UIWindow;
-typedef struct objc_object UIView;
-typedef struct objc_object UIViewController;
-typedef struct objc_object UIEvent;
-typedef struct objc_object UILocalNotification;
-typedef struct objc_object NSString;
-typedef struct objc_object NSDictionary;
-typedef struct objc_object NSSet;
-typedef struct objc_object NSError;
-typedef struct objc_object NSData;
-typedef struct objc_object NSBundle;
-
-typedef struct objc_object UnityViewControllerBase;
-#endif
-
-// unity internal audio effect definition struct
-struct UnityAudioEffectDefinition;
-
-// new unity rendering api
-struct IUnityInterfaces;
-
-// be aware that this struct is shared with unity implementation so you should absolutely not change it
-struct UnityFrameStats
-{
-    uint64_t    fixedBehaviourManagerDt;
-    uint64_t    fixedPhysicsManagerDt;
-    uint64_t    dynamicBehaviourManagerDt;
-    uint64_t    coroutineDt;
-    uint64_t    skinMeshUpdateDt;
-    uint64_t    animationUpdateDt;
-    uint64_t    renderDt;
-    uint64_t    cullingDt;
-    uint64_t    clearDt;
-    int         fixedUpdateCount;
-
-    int         batchCount;
-    uint64_t    drawCallTime;
-    int         drawCallCount;
-    int         triCount;
-    int         vertCount;
-
-    uint64_t    dynamicBatchDt;
-    int         dynamicBatchCount;
-    int         dynamicBatchedDrawCallCount;
-    int         dynamicBatchedTris;
-    int         dynamicBatchedVerts;
-
-    int         staticBatchCount;
-    int         staticBatchedDrawCallCount;
-    int         staticBatchedTris;
-    int         staticBatchedVerts;
-};
-
-
-// be aware that this enum is shared with unity implementation so you should absolutely not change it
-typedef enum
-    LogType
-{
-    logError        = 0,
-    logAssert       = 1,
-    logWarning      = 2,
-    logLog          = 3,
-    logException    = 4,
-    logDebug        = 5,
-}
-LogType;
-
-
-// be aware that this enum is shared with unity implementation so you should absolutely not change it
-typedef enum
-    DeviceGeneration
-{
-    deviceUnknown       = 0,
-    deviceiPhone3GS     = 3,
-    deviceiPhone4       = 8,
-    deviceiPodTouch4Gen = 9,
-    deviceiPad2Gen      = 10,
-    deviceiPhone4S      = 11,
-    deviceiPad3Gen      = 12,
-    deviceiPhone5       = 13,
-    deviceiPodTouch5Gen = 14,
-    deviceiPadMini1Gen  = 15,
-    deviceiPad4Gen      = 16,
-    deviceiPhone5C      = 17,
-    deviceiPhone5S      = 18,
-    deviceiPadAir1      = 19,
-    deviceiPadMini2Gen  = 20,
-    deviceiPhone6       = 21,
-    deviceiPhone6Plus   = 22,
-    deviceiPadMini3Gen  = 23,
-    deviceiPadAir2      = 24,
-    deviceiPhone6S      = 25,
-    deviceiPhone6SPlus  = 26,
-    deviceiPadPro1Gen   = 27,
-    deviceiPadMini4Gen  = 28,
-    deviceiPhoneSE1Gen  = 29,
-    deviceiPadPro10Inch1Gen = 30,
-    deviceiPhone7       = 31,
-    deviceiPhone7Plus   = 32,
-    deviceiPodTouch6Gen = 33,
-    deviceiPad5Gen = 34,
-    deviceiPadPro2Gen = 35,
-    deviceiPadPro10Inch2Gen = 36,
-
-    deviceiPhoneUnknown     = 10001,
-    deviceiPadUnknown       = 10002,
-    deviceiPodTouchUnknown  = 10003,
-}
-DeviceGeneration;
-
-
-// be aware that this enum is shared with unity implementation so you should absolutely not change it
-typedef enum
-    ScreenOrientation
-{
-    orientationUnknown,
-    portrait,
-    portraitUpsideDown,
-    landscapeLeft,
-    landscapeRight,
-
-    orientationCount,
-}
-ScreenOrientation;
-
-
-// be aware that this enum is shared with unity implementation so you should absolutely not change it
-typedef enum
-    AppInBackgroundBehavior
-{
-    appbgCustom     = -1,
-    appbgSuspend    = 0,
-    appbgExit       = 1,
-}
-AppInBackgroundBehavior;
-
-
-// this dictates touches processing on os level: should we transform touches to unity view coords or not.
-// N.B. touch.position will always be adjusted to current resolution
-//      i.e. if you touch right border of view, touch.position.x will be Screen.width, not view.width
-//      to get coords in view space (os-coords), use touch.rawPosition
-typedef enum
-    ViewTouchProcessing
-{
-    // the touches originated from view will be ignored by unity
-    touchesIgnored = 0,
-
-    // touches would be processed as if they were originated in unity view:
-    // coords will be transformed from view coords to unity view coords
-    touchesTransformedToUnityViewCoords = 1,
-
-    // touches coords will be kept intact (in originated view coords)
-    // it is default value
-    touchesKeptInOriginalViewCoords = 2,
-}
-ViewTouchProcessing;
-
-#ifdef __cplusplus
-extern bool _ios42orNewer;
-extern bool _ios43orNewer;
-extern bool _ios50orNewer;
-extern bool _ios60orNewer;
-extern bool _ios70orNewer;
-extern bool _ios80orNewer;
-extern bool _ios81orNewer;
-extern bool _ios82orNewer;
-extern bool _ios90orNewer;
-extern bool _ios91orNewer;
-extern bool _ios100orNewer;
-#endif
diff --git a/frameworks/ElvaChatServiceSDK.framework/Headers/UnityInterface.h b/frameworks/ElvaChatServiceSDK.framework/Headers/UnityInterface.h
deleted file mode 100755
index 1b3e2a7..0000000
--- a/frameworks/ElvaChatServiceSDK.framework/Headers/UnityInterface.h
+++ /dev/null
@@ -1,371 +0,0 @@
-#pragma once
-
-#include <stdint.h>
-#include <stdarg.h>
-
-#include "UnityForwardDecls.h"
-#include "UnityRendering.h"
-
-// unity plugin functions
-
-// audio plugin api
-typedef int     (*UnityPluginGetAudioEffectDefinitionsFunc)(struct UnityAudioEffectDefinition*** descptr);
-
-// OLD rendering plugin api (will become obsolete soon)
-typedef void    (*UnityPluginSetGraphicsDeviceFunc)(void* device, int deviceType, int eventType);
-typedef void    (*UnityPluginRenderMarkerFunc)(int marker);
-
-// new rendering plugin api
-typedef void    (*UnityPluginLoadFunc)(struct IUnityInterfaces* unityInterfaces);
-typedef void    (*UnityPluginUnloadFunc)();
-
-
-// log handler function
-#ifdef __cplusplus
-typedef bool (*LogEntryHandler)(LogType logType, const char* log, va_list list);
-#endif
-
-//
-// these are functions referenced in trampoline and implemented in unity player lib
-//
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// life cycle management
-
-void    UnityInitStartupTime();
-void    UnityInitRuntime(int argc, char* argv[]);
-void    UnityInitApplicationNoGraphics(const char* appPathName);
-void    UnityInitApplicationGraphics(int forceDirectRendering);
-void    UnityCleanup();
-void    UnityLoadApplication();
-void    UnityPlayerLoop();                  // normal player loop
-void    UnityBatchPlayerLoop();             // batch mode like player loop, without rendering (usable for background processing)
-void    UnitySetPlayerFocus(int focused);   // send OnApplicationFocus() message to scripts
-void    UnityLowMemory();
-void    UnityPause(int pause);
-int     UnityIsPaused();                    // 0 if player is running, 1 if paused
-void    UnityWillPause();                   // send the message that app will pause
-void    UnityWillResume();                  // send the message that app will resume
-void    UnityInputProcess();
-void    UnityDeliverUIEvents();             // unity processing impacting UI will be called in there
-
-
-// rendering
-
-int     UnityGetRenderingAPIs(int capacity, int* outAPIs);
-void    UnityFinishRendering();
-
-// OpenGL ES.
-
-int     UnityHasRenderingAPIExtension(const char* extension);
-void    UnityOnSetCurrentGLContext(EAGLContext* context);
-
-// This must match the one in ApiEnumsGLES.h
-typedef enum UnityFramebufferTarget
-{
-    kDrawFramebuffer = 0,
-    kReadFramebuffer,
-    kFramebufferTargetCount
-} UnityFramebufferTarget;
-void    UnityBindFramebuffer(UnityFramebufferTarget target, int fbo);
-void    UnityRegisterFBO(UnityRenderBufferHandle color, UnityRenderBufferHandle depth, unsigned fbo);
-
-// controling player internals
-
-// TODO: needs some cleanup
-void    UnitySetAudioSessionActive(int active);
-void    UnityGLInvalidateState();
-void    UnityReloadResources();
-int     UnityIsCaptureScreenshotRequested();
-void    UnityCaptureScreenshot();
-void    UnitySendMessage(const char* obj, const char* method, const char* msg);
-
-EAGLContext*        UnityGetDataContextGLES();
-
-#ifdef __cplusplus
-void    UnitySetLogEntryHandler(LogEntryHandler newHandler);
-#endif
-
-
-// plugins support
-
-// WARNING: old UnityRegisterRenderingPlugin will become obsolete soon
-void    UnityRegisterRenderingPlugin(UnityPluginSetGraphicsDeviceFunc setDevice, UnityPluginRenderMarkerFunc renderMarker);
-
-void    UnityRegisterRenderingPluginV5(UnityPluginLoadFunc loadPlugin, UnityPluginUnloadFunc unloadPlugin);
-void    UnityRegisterAudioPlugin(UnityPluginGetAudioEffectDefinitionsFunc getAudioEffectDefinitions);
-
-
-// resolution/orientation handling
-
-void    UnityGetRenderingResolution(unsigned* w, unsigned* h);
-void    UnityGetSystemResolution(unsigned* w, unsigned* h);
-
-void    UnityRequestRenderingResolution(unsigned w, unsigned h);
-
-int     UnityIsOrientationEnabled(unsigned /*ScreenOrientation*/ orientation);
-
-int     UnityHasOrientationRequest();
-int     UnityShouldAutorotate();
-int     UnityRequestedScreenOrientation(); // returns ScreenOrientation
-void    UnityOrientationRequestWasCommitted();
-
-int     UnityReportResizeView(unsigned w, unsigned h, unsigned /*ScreenOrientation*/ contentOrientation);   // returns ScreenOrientation
-void    UnityReportBackbufferChange(UnityRenderBufferHandle colorBB, UnityRenderBufferHandle depthBB);
-
-
-// player settings
-
-int     UnityDisableDepthAndStencilBuffers();
-int     UnityUseAnimatedAutorotation();
-int     UnityGetDesiredMSAASampleCount(int defaultSampleCount);
-int     UnityGetSRGBRequested();
-int     UnityGetShowActivityIndicatorOnLoading();
-int     UnityGetAccelerometerFrequency();
-int     UnityGetTargetFPS();
-int     UnityGetAppBackgroundBehavior();
-
-
-// push notifications
-#if !UNITY_TVOS
-void    UnitySendLocalNotification(UILocalNotification* notification);
-#endif
-void    UnitySendRemoteNotification(NSDictionary* notification);
-void    UnitySendDeviceToken(NSData* deviceToken);
-void    UnitySendRemoteNotificationError(NSError* error);
-
-// native events
-
-void    UnityInvalidateDisplayDataCache(void* screen);
-void    UnityUpdateDisplayList(void** screens, int screenCount);
-
-
-// profiler
-
-void*   UnityCreateProfilerCounter(const char*);
-void    UnityDestroyProfilerCounter(void*);
-void    UnityStartProfilerCounter(void*);
-void    UnityEndProfilerCounter(void*);
-
-
-// sensors
-
-void    UnitySensorsSetGyroRotationRate(int idx, float x, float y, float z);
-void    UnitySensorsSetGyroRotationRateUnbiased(int idx, float x, float y, float z);
-void    UnitySensorsSetGravity(int idx, float x, float y, float z);
-void    UnitySensorsSetUserAcceleration(int idx, float x, float y, float z);
-void    UnitySensorsSetAttitude(int idx, float x, float y, float z, float w);
-void    UnityDidAccelerate(float x, float y, float z, double timestamp);
-void    UnitySetJoystickPosition(int joyNum, int axis, float pos);
-int     UnityStringToKey(const char *name);
-void    UnitySetKeyState(int key, int /*bool*/ state);
-
-// WWW connection handling
-
-void    UnityReportWWWStatusError(void* udata, int status, const char* error);
-
-void    UnityReportWWWReceivedResponse(void* udata, int status, unsigned expectedDataLength, const char* respHeader);
-void    UnityReportWWWReceivedData(void* udata, const void* buffer, unsigned totalRead, unsigned expectedTotal);
-void    UnityReportWWWFinishedLoadingData(void* udata);
-void    UnityReportWWWSentData(void* udata, unsigned totalWritten, unsigned expectedTotal);
-
-// AVCapture
-
-void    UnityReportAVCapturePermission();
-void    UnityDidCaptureVideoFrame(intptr_t tex, void* udata);
-
-// logging override
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-
-// touches processing
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void    UnitySetViewTouchProcessing(UIView* view, int /*ViewTouchProcessing*/ processingPolicy);
-void    UnityDropViewTouchProcessing(UIView* view);
-
-void    UnitySendTouchesBegin(NSSet* touches, UIEvent* event);
-void    UnitySendTouchesEnded(NSSet* touches, UIEvent* event);
-void    UnitySendTouchesCancelled(NSSet* touches, UIEvent* event);
-void    UnitySendTouchesMoved(NSSet* touches, UIEvent* event);
-
-void    UnityCancelTouches();
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-
-//
-// these are functions referenced and implemented in trampoline
-//
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// UnityAppController.mm
-UIViewController*       UnityGetGLViewController();
-UIView*                 UnityGetGLView();
-UIWindow*               UnityGetMainWindow();
-enum ScreenOrientation  UnityCurrentOrientation();
-
-// Unity/DisplayManager.mm
-float                   UnityScreenScaleFactor(UIScreen* screen);
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-
-//
-// these are functions referenced in unity player lib and implemented in trampoline
-//
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// iPhone_Sensors.mm
-void            UnityInitJoysticks();
-void            UnityCoreMotionStart();
-void            UnityCoreMotionStop();
-int             UnityIsGyroEnabled(int idx);
-int             UnityIsGyroAvailable();
-void            UnityUpdateGyroData();
-void            UnitySetGyroUpdateInterval(int idx, float interval);
-float           UnityGetGyroUpdateInterval(int idx);
-void            UnityUpdateJoystickData();
-int             UnityGetJoystickCount();
-void            UnityGetJoystickName(int idx, char* buffer, int maxLen);
-void            UnityGetJoystickAxisName(int idx, int axis, char* buffer, int maxLen);
-void            UnityGetNiceKeyname(int key, char* buffer, int maxLen);
-
-// UnityAppController+Rendering.mm
-void            UnityInitMainScreenRenderingCallback();
-void            UnityGfxInitedCallback();
-void            UnityPresentContextCallback(struct UnityFrameStats const* frameStats);
-void            UnityFramerateChangeCallback(int targetFPS);
-int             UnitySelectedRenderingAPI();
-
-NSBundle*           UnityGetMetalBundle();
-MTLDeviceRef        UnityGetMetalDevice();
-MTLCommandQueueRef  UnityGetMetalCommandQueue();
-
-EAGLContext*        UnityGetDataContextEAGL();
-
-UnityRenderBufferHandle UnityBackbufferColor();
-UnityRenderBufferHandle UnityBackbufferDepth();
-
-// UI/ActivityIndicator.mm
-void            UnityStartActivityIndicator();
-void            UnityStopActivityIndicator();
-
-// UI/Keyboard.mm
-void            UnityKeyboard_Create(unsigned keyboardType, int autocorrection, int multiline, int secure, int alert, const char* text, const char* placeholder);
-void            UnityKeyboard_Show();
-void            UnityKeyboard_Hide();
-void            UnityKeyboard_GetRect(float* x, float* y, float* w, float* h);
-void            UnityKeyboard_SetText(const char* text);
-NSString*       UnityKeyboard_GetText();
-int             UnityKeyboard_IsActive();
-int             UnityKeyboard_IsDone();
-int             UnityKeyboard_WasCanceled();
-void            UnityKeyboard_SetInputHidden(int hidden);
-int             UnityKeyboard_IsInputHidden();
-
-int             UnityKeyboard_CanGetSelection();
-void            UnityKeyboard_GetSelection(int* location, int* range);
-
-// UI/UnityViewControllerBase.mm
-void            UnityNotifyAutoOrientationChange();
-
-// Unity/AVCapture.mm
-int             UnityGetAVCapturePermission(int captureTypes);
-void            UnityRequestAVCapturePermission(int captureTypes);
-
-// Unity/CameraCapture.mm
-void            UnityEnumVideoCaptureDevices(void* udata, void(*callback)(void* udata, const char* name, int frontFacing));
-void*           UnityInitCameraCapture(int device, int w, int h, int fps, void* udata);
-void            UnityStartCameraCapture(void* capture);
-void            UnityPauseCameraCapture(void* capture);
-void            UnityStopCameraCapture(void* capture);
-void            UnityCameraCaptureExtents(void* capture, int* w, int* h);
-void            UnityCameraCaptureReadToMemory(void* capture, void* dst, int w, int h);
-int             UnityCameraCaptureVideoRotationDeg(void* capture);
-int             UnityCameraCaptureVerticallyMirrored(void* capture);
-
-
-// Unity/DeviceSettings.mm
-const char*     UnityDeviceUniqueIdentifier();
-const char*     UnityVendorIdentifier();
-const char*     UnityAdvertisingIdentifier();
-int             UnityAdvertisingTrackingEnabled();
-const char*     UnityDeviceName();
-const char*     UnitySystemName();
-const char*     UnitySystemVersion();
-const char*     UnityDeviceModel();
-int             UnityDeviceCPUCount();
-int             UnityDeviceGeneration();
-float           UnityDeviceDPI();
-const char*     UnitySystemLanguage();
-
-// Unity/DisplayManager.mm
-EAGLContext*    UnityGetMainScreenContextGLES();
-EAGLContext*    UnityGetContextEAGL();
-void            UnityStartFrameRendering();
-void            UnityDestroyUnityRenderSurfaces();
-
-// Unity/Filesystem.mm
-const char*     UnityApplicationDir();
-const char*     UnityDocumentsDir();
-const char*     UnityLibraryDir();
-const char*     UnityCachesDir();
-int             UnityUpdateNoBackupFlag(const char* path, int setFlag); // Returns 1 if successful, otherwise 0
-
-// Unity/WWWConnection.mm
-void*           UnityStartWWWConnectionGet(void* udata, const void* headerDict, const char* url);
-void*           UnityStartWWWConnectionPost(void* udata, const void* headerDict, const char* url, const void* data, unsigned length);
-void            UnityDestroyWWWConnection(void* connection);
-void            UnityShouldCancelWWW(const void* connection);
-
-//Apple TV Remote
-int         UnityGetAppleTVRemoteAllowExitToMenu();
-void        UnitySetAppleTVRemoteAllowExitToMenu(int val);
-int         UnityGetAppleTVRemoteAllowRotation();
-void        UnitySetAppleTVRemoteAllowRotation(int val);
-int         UnityGetAppleTVRemoteReportAbsoluteDpadValues();
-void        UnitySetAppleTVRemoteReportAbsoluteDpadValues(int val);
-int         UnityGetAppleTVRemoteTouchesEnabled();
-void        UnitySetAppleTVRemoteTouchesEnabled(int val);
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-
-#ifdef __OBJC__
-// This is basically a wrapper for [NSString UTF8String] with additional strdup.
-//
-// Apparently multiple calls on UTF8String will leak memory (NSData objects) that are collected
-// only when @autoreleasepool is exited. This function serves as documentation for this and as a
-// handy wrapper.
-inline char* AllocCString(NSString* value)
-{
-    if (value == nil)
-        return 0;
-
-    const char* str = [value UTF8String];
-    return str ? strdup(str) : 0;
-}
-
-#endif
diff --git a/frameworks/ElvaChatServiceSDK.framework/Headers/UnityRendering.h b/frameworks/ElvaChatServiceSDK.framework/Headers/UnityRendering.h
deleted file mode 100755
index 8c74ff4..0000000
--- a/frameworks/ElvaChatServiceSDK.framework/Headers/UnityRendering.h
+++ /dev/null
@@ -1,293 +0,0 @@
-#pragma once
-
-#ifdef __OBJC__
-@class CAEAGLLayer;
-@class EAGLContext;
-#else
-typedef struct objc_object CAEAGLLayer;
-typedef struct objc_object EAGLContext;
-#endif
-
-#ifdef __OBJC__
-@class CAMetalLayer;
-@protocol CAMetalDrawable;
-@protocol MTLDrawable;
-@protocol MTLDevice;
-@protocol MTLTexture;
-@protocol MTLCommandBuffer;
-@protocol MTLCommandQueue;
-@protocol MTLCommandEncoder;
-
-typedef id<CAMetalDrawable>     CAMetalDrawableRef;
-typedef id<MTLDevice>           MTLDeviceRef;
-typedef id<MTLTexture>          MTLTextureRef;
-typedef id<MTLCommandBuffer>    MTLCommandBufferRef;
-typedef id<MTLCommandQueue>     MTLCommandQueueRef;
-typedef id<MTLCommandEncoder>   MTLCommandEncoderRef;
-#else
-typedef struct objc_object      CAMetalLayer;
-typedef struct objc_object*     CAMetalDrawableRef;
-typedef struct objc_object*     MTLDeviceRef;
-typedef struct objc_object*     MTLTextureRef;
-typedef struct objc_object*     MTLCommandBufferRef;
-typedef struct objc_object*     MTLCommandQueueRef;
-typedef struct objc_object*     MTLCommandEncoderRef;
-#endif
-
-// unity internal native render buffer struct (the one you acquire in C# with RenderBuffer.GetNativeRenderBufferPtr())
-struct RenderSurfaceBase;
-typedef struct RenderSurfaceBase* UnityRenderBufferHandle;
-
-// be aware that this struct is shared with unity implementation so you should absolutely not change it
-typedef struct
-    UnityRenderBufferDesc
-{
-    unsigned    width, height, depth;
-    unsigned    samples;
-
-    int         backbuffer;
-}
-UnityRenderBufferDesc;
-
-// trick to make structure inheritance work transparently between c/cpp
-// for c we use "anonymous struct"
-#ifdef __cplusplus
-    #define START_STRUCT(T, Base)   struct T : Base {
-    #define END_STRUCT(T)           };
-#else
-    #define START_STRUCT(T, Base)   typedef struct T { struct Base;
-    #define END_STRUCT(T)           } T;
-#endif
-
-// we will keep objc objects in struct, so we need to explicitely mark references as strong to not confuse ARC
-// please note that actual object lifetime is managed in objc++ code, so __unsafe_unretained is good enough for objc code
-// DO NOT assign objects to UnityDisplaySurface* members in objc code.
-// DO NOT store objects from UnityDisplaySurface* members in objc code, as this wont be caught by ARC
-#ifdef __OBJC__
-    #ifdef __cplusplus
-        #define OBJC_OBJECT_PTR __strong
-    #else
-        #define OBJC_OBJECT_PTR __unsafe_unretained
-    #endif
-#else
-    #define OBJC_OBJECT_PTR
-#endif
-
-// unity common rendering (display) surface
-typedef struct
-    UnityDisplaySurfaceBase
-{
-    UnityRenderBufferHandle unityColorBuffer;
-    UnityRenderBufferHandle unityDepthBuffer;
-
-    UnityRenderBufferHandle systemColorBuffer;
-    UnityRenderBufferHandle systemDepthBuffer;
-
-    void*               cvTextureCache;         // CVOpenGLESTextureCacheRef
-    void*               cvTextureCacheTexture;  // CVOpenGLESTextureRef
-    void*               cvPixelBuffer;          // CVPixelBufferRef
-
-    unsigned            targetW, targetH;
-    unsigned            systemW, systemH;
-
-    int                 msaaSamples;
-    int                 useCVTextureCache;      // [bool]
-    int                 srgb;                   // [bool]
-    int                 disableDepthAndStencil; // [bool]
-    int                 allowScreenshot;        // [bool] currently we allow screenshots (from script) only on main display
-
-    int                 api;                    // [UnityRenderingAPI]
-}
-UnityDisplaySurfaceBase;
-
-
-// START_STRUCT confuse clang c compiler (though it is idiomatic c code that works)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wmissing-declarations"
-
-// GLES display surface
-START_STRUCT(UnityDisplaySurfaceGLES, UnityDisplaySurfaceBase)
-OBJC_OBJECT_PTR CAEAGLLayer *    layer;
-OBJC_OBJECT_PTR EAGLContext*    context;
-
-// system FB
-unsigned    systemFB;
-unsigned    systemColorRB;
-
-// target resolution FB/target RT to blit from
-unsigned    targetFB;
-unsigned    targetColorRT;
-
-// MSAA FB
-unsigned    msaaFB;
-unsigned    msaaColorRB;
-
-// when we enable AA for non-native resolution we need interim RT to resolve AA to (and then we will blit it to screen)
-UnityRenderBufferHandle resolvedColorBuffer;
-
-// will be "shared", only one depth buffer is needed
-unsigned    depthRB;
-
-// render surface gl setup: formats and AA
-unsigned    colorFormat;
-unsigned    depthFormat;
-END_STRUCT(UnityDisplaySurfaceGLES)
-
-// Metal display surface
-START_STRUCT(UnityDisplaySurfaceMTL, UnityDisplaySurfaceBase)
-OBJC_OBJECT_PTR CAMetalLayer *       layer;
-OBJC_OBJECT_PTR MTLDeviceRef        device;
-
-OBJC_OBJECT_PTR MTLCommandQueueRef  commandQueue;
-OBJC_OBJECT_PTR CAMetalDrawableRef  drawable;
-
-OBJC_OBJECT_PTR MTLTextureRef       systemColorRB;
-OBJC_OBJECT_PTR MTLTextureRef       targetColorRT;
-OBJC_OBJECT_PTR MTLTextureRef       targetAAColorRT;
-
-OBJC_OBJECT_PTR MTLTextureRef       depthRB;
-OBJC_OBJECT_PTR MTLTextureRef       stencilRB;
-
-unsigned                            colorFormat;        // [MTLPixelFormat]
-unsigned                            depthFormat;        // [MTLPixelFormat]
-END_STRUCT(UnityDisplaySurfaceMTL)
-
-// START_STRUCT confuse clang c compiler (though it is idiomatic c code that works)
-#pragma clang diagnostic pop
-
-// be aware that this enum is shared with unity implementation so you should absolutely not change it
-typedef enum
-    UnityRenderingAPI
-{
-    apiOpenGLES2    = 2,
-    apiOpenGLES3    = 3,
-    apiMetal        = 4,
-}
-UnityRenderingAPI;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-int UnitySelectedRenderingAPI();
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-// gles
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void InitRenderingGLES();
-
-void CreateSystemRenderingSurfaceGLES(UnityDisplaySurfaceGLES* surface);
-void DestroySystemRenderingSurfaceGLES(UnityDisplaySurfaceGLES* surface);
-void CreateRenderingSurfaceGLES(UnityDisplaySurfaceGLES* surface);
-void DestroyRenderingSurfaceGLES(UnityDisplaySurfaceGLES* surface);
-void CreateSharedDepthbufferGLES(UnityDisplaySurfaceGLES* surface);
-void DestroySharedDepthbufferGLES(UnityDisplaySurfaceGLES* surface);
-void CreateUnityRenderBuffersGLES(UnityDisplaySurfaceGLES* surface);
-void DestroyUnityRenderBuffersGLES(UnityDisplaySurfaceGLES* surface);
-void StartFrameRenderingGLES(UnityDisplaySurfaceGLES* surface);
-void EndFrameRenderingGLES(UnityDisplaySurfaceGLES* surface);
-void PreparePresentGLES(UnityDisplaySurfaceGLES* surface);
-void PresentGLES(UnityDisplaySurfaceGLES* surface);
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-// metal
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void InitRenderingMTL();
-
-void CreateSystemRenderingSurfaceMTL(UnityDisplaySurfaceMTL* surface);
-void DestroySystemRenderingSurfaceMTL(UnityDisplaySurfaceMTL* surface);
-void CreateRenderingSurfaceMTL(UnityDisplaySurfaceMTL* surface);
-void DestroyRenderingSurfaceMTL(UnityDisplaySurfaceMTL* surface);
-void CreateSharedDepthbufferMTL(UnityDisplaySurfaceMTL* surface);
-void DestroySharedDepthbufferMTL(UnityDisplaySurfaceMTL* surface);
-void CreateUnityRenderBuffersMTL(UnityDisplaySurfaceMTL* surface);
-void DestroyUnityRenderBuffersMTL(UnityDisplaySurfaceMTL* surface);
-void StartFrameRenderingMTL(UnityDisplaySurfaceMTL* surface);
-void EndFrameRenderingMTL(UnityDisplaySurfaceMTL* surface);
-void PreparePresentMTL(UnityDisplaySurfaceMTL* surface);
-void PresentMTL(UnityDisplaySurfaceMTL* surface);
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// for Create* functions if surf is null we will actuially create new one, otherwise we update the one provided
-// gles: one and only one of texid/rbid should be non-zero
-// metal: resolveTex should be non-nil only if tex have AA
-UnityRenderBufferHandle UnityCreateExternalSurfaceGLES(UnityRenderBufferHandle surf, int isColor, unsigned texid, unsigned rbid, unsigned glesFormat, const UnityRenderBufferDesc* desc);
-UnityRenderBufferHandle UnityCreateExternalSurfaceMTL(UnityRenderBufferHandle surf, int isColor, MTLTextureRef tex, const UnityRenderBufferDesc* desc);
-UnityRenderBufferHandle UnityCreateExternalColorSurfaceMTL(UnityRenderBufferHandle surf, MTLTextureRef tex, MTLTextureRef resolveTex, const UnityRenderBufferDesc* desc);
-UnityRenderBufferHandle UnityCreateExternalDepthSurfaceMTL(UnityRenderBufferHandle surf, MTLTextureRef tex, MTLTextureRef stencilTex, const UnityRenderBufferDesc* desc);
-// creates "dummy" surface - will indicate "missing" buffer (e.g. depth-only RT will have color as dummy)
-UnityRenderBufferHandle UnityCreateDummySurface(UnityRenderBufferHandle surf, int isColor, const UnityRenderBufferDesc* desc);
-
-// disable rendering to render buffers (all Cameras that were rendering to one of buffers would be reset to use backbuffer)
-void    UnityDisableRenderBuffers(UnityRenderBufferHandle color, UnityRenderBufferHandle depth);
-// destroys render buffer
-void    UnityDestroyExternalSurface(UnityRenderBufferHandle surf);
-// sets current render target
-void    UnitySetRenderTarget(UnityRenderBufferHandle color, UnityRenderBufferHandle depth);
-// final blit to backbuffer
-void    UnityBlitToBackbuffer(UnityRenderBufferHandle srcColor, UnityRenderBufferHandle dstColor, UnityRenderBufferHandle dstDepth);
-// get native renderbuffer from handle
-UnityRenderBufferHandle UnityNativeRenderBufferFromHandle(void *rb);
-
-MTLCommandBufferRef UnityCurrentMTLCommandBuffer();
-
-// sets vSync on OSX 10.13 and up
-#if PLATFORM_OSX
-void MetalUpdateDisplaySync();
-#endif
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-// metal/gles unification
-
-#define GLES_METAL_COMMON_IMPL_SURF(f)                                              \
-inline void f(UnityDisplaySurfaceBase* surface)                                     \
-{                                                                                   \
-    if(surface->api == apiMetal)    f ## MTL((UnityDisplaySurfaceMTL*)surface); \
-    else                            f ## GLES((UnityDisplaySurfaceGLES*)surface);\
-}                                                                                   \
-
-#define GLES_METAL_COMMON_IMPL(f)                               \
-inline void f()                                                 \
-{                                                               \
-    if(UnitySelectedRenderingAPI() == apiMetal) f ## MTL();     \
-    else                                        f ## GLES();\
-}                                                               \
-
-
-GLES_METAL_COMMON_IMPL(InitRendering);
-
-GLES_METAL_COMMON_IMPL_SURF(CreateSystemRenderingSurface);
-GLES_METAL_COMMON_IMPL_SURF(DestroySystemRenderingSurface);
-GLES_METAL_COMMON_IMPL_SURF(CreateRenderingSurface);
-GLES_METAL_COMMON_IMPL_SURF(DestroyRenderingSurface);
-GLES_METAL_COMMON_IMPL_SURF(CreateSharedDepthbuffer);
-GLES_METAL_COMMON_IMPL_SURF(DestroySharedDepthbuffer);
-GLES_METAL_COMMON_IMPL_SURF(CreateUnityRenderBuffers);
-GLES_METAL_COMMON_IMPL_SURF(DestroyUnityRenderBuffers);
-GLES_METAL_COMMON_IMPL_SURF(StartFrameRendering);
-GLES_METAL_COMMON_IMPL_SURF(EndFrameRendering);
-GLES_METAL_COMMON_IMPL_SURF(PreparePresent);
-GLES_METAL_COMMON_IMPL_SURF(Present);
-
-#undef GLES_METAL_COMMON_IMPL_SURF
-#undef GLES_METAL_COMMON_IMPL
diff --git a/frameworks/ElvaChatServiceSDK.framework/Info.plist b/frameworks/ElvaChatServiceSDK.framework/Info.plist
old mode 100755
new mode 100644
index 57382d6..a4e444c
--- a/frameworks/ElvaChatServiceSDK.framework/Info.plist
+++ b/frameworks/ElvaChatServiceSDK.framework/Info.plist
Binary files differ
diff --git a/frameworks/ElvaChatServiceSDK.framework/Modules/module.modulemap b/frameworks/ElvaChatServiceSDK.framework/Modules/module.modulemap
old mode 100755
new mode 100644
diff --git a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeDirectory b/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeDirectory
deleted file mode 100755
index 7ed9090..0000000
--- a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeDirectory
+++ /dev/null
Binary files differ
diff --git a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeRequirements b/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeRequirements
deleted file mode 100755
index e02e59c..0000000
--- a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeRequirements
+++ /dev/null
Binary files differ
diff --git a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeRequirements-1 b/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeRequirements-1
deleted file mode 100755
index ef63297..0000000
--- a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeRequirements-1
+++ /dev/null
Binary files differ
diff --git a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeResources b/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeResources
deleted file mode 100755
index 0b764ff..0000000
--- a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeResources
+++ /dev/null
@@ -1,211 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>files</key>
-	<dict>
-		<key>Headers/ECServiceSdk.h</key>
-		<data>
-		R7uVHQdO3BB2h54BiyZU7f45TXE=
-		</data>
-		<key>Headers/ElvaChatServiceSDK.h</key>
-		<data>
-		zvjJNXUq1tMPygHWKxbHcw+t/to=
-		</data>
-		<key>Headers/UnityForwardDecls.h</key>
-		<data>
-		EoGij/5BmK7cWWbj+ECBEyHcipw=
-		</data>
-		<key>Headers/UnityInterface.h</key>
-		<data>
-		P/sjx4YTcqreb+VGlwJdSXt3mew=
-		</data>
-		<key>Headers/UnityRendering.h</key>
-		<data>
-		tpS6Ojd+1vYtSX3a9iHqKBisk70=
-		</data>
-		<key>Info.plist</key>
-		<data>
-		aPsZodAxj3+lEfZDw7gcQlZ9RzY=
-		</data>
-		<key>Modules/module.modulemap</key>
-		<data>
-		KwrIWgdVUrs9Kf4EP5SPM3mTMZg=
-		</data>
-	</dict>
-	<key>files2</key>
-	<dict>
-		<key>Headers/ECServiceSdk.h</key>
-		<dict>
-			<key>hash</key>
-			<data>
-			R7uVHQdO3BB2h54BiyZU7f45TXE=
-			</data>
-			<key>hash2</key>
-			<data>
-			0KWDBFl6RcB7XrS9PcZavOPm8G/WIh71auQmj5qgQQg=
-			</data>
-		</dict>
-		<key>Headers/ElvaChatServiceSDK.h</key>
-		<dict>
-			<key>hash</key>
-			<data>
-			zvjJNXUq1tMPygHWKxbHcw+t/to=
-			</data>
-			<key>hash2</key>
-			<data>
-			E5u6tslHRsk1y/hRCzNYA+Y7hUk9TOeyzXU8+CH94kM=
-			</data>
-		</dict>
-		<key>Headers/UnityForwardDecls.h</key>
-		<dict>
-			<key>hash</key>
-			<data>
-			EoGij/5BmK7cWWbj+ECBEyHcipw=
-			</data>
-			<key>hash2</key>
-			<data>
-			qGe/u1NQdJ0ozw4DJssg4Hf7XQAr3Nhq38AtL5lBFCc=
-			</data>
-		</dict>
-		<key>Headers/UnityInterface.h</key>
-		<dict>
-			<key>hash</key>
-			<data>
-			P/sjx4YTcqreb+VGlwJdSXt3mew=
-			</data>
-			<key>hash2</key>
-			<data>
-			1YyuYhkj1P+cTNpiFzPHUDv5xbwuaaoRor5YNa5ch4w=
-			</data>
-		</dict>
-		<key>Headers/UnityRendering.h</key>
-		<dict>
-			<key>hash</key>
-			<data>
-			tpS6Ojd+1vYtSX3a9iHqKBisk70=
-			</data>
-			<key>hash2</key>
-			<data>
-			2za8ddck31K1kpTAgJkI63QlousiGlaiXPRV/mtdEYw=
-			</data>
-		</dict>
-		<key>Modules/module.modulemap</key>
-		<dict>
-			<key>hash</key>
-			<data>
-			KwrIWgdVUrs9Kf4EP5SPM3mTMZg=
-			</data>
-			<key>hash2</key>
-			<data>
-			ucJ3/SGis21fHc4TrSIPEbfY4g3izjxsvlSXukK/ba0=
-			</data>
-		</dict>
-	</dict>
-	<key>rules</key>
-	<dict>
-		<key>^</key>
-		<true/>
-		<key>^.*\.lproj/</key>
-		<dict>
-			<key>optional</key>
-			<true/>
-			<key>weight</key>
-			<real>1000</real>
-		</dict>
-		<key>^.*\.lproj/locversion.plist$</key>
-		<dict>
-			<key>omit</key>
-			<true/>
-			<key>weight</key>
-			<real>1100</real>
-		</dict>
-		<key>^Base\.lproj/</key>
-		<dict>
-			<key>weight</key>
-			<real>1010</real>
-		</dict>
-		<key>^version.plist$</key>
-		<true/>
-	</dict>
-	<key>rules2</key>
-	<dict>
-		<key>.*\.dSYM($|/)</key>
-		<dict>
-			<key>weight</key>
-			<real>11</real>
-		</dict>
-		<key>^</key>
-		<dict>
-			<key>weight</key>
-			<real>20</real>
-		</dict>
-		<key>^(.*/)?\.DS_Store$</key>
-		<dict>
-			<key>omit</key>
-			<true/>
-			<key>weight</key>
-			<real>2000</real>
-		</dict>
-		<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
-		<dict>
-			<key>nested</key>
-			<true/>
-			<key>weight</key>
-			<real>10</real>
-		</dict>
-		<key>^.*</key>
-		<true/>
-		<key>^.*\.lproj/</key>
-		<dict>
-			<key>optional</key>
-			<true/>
-			<key>weight</key>
-			<real>1000</real>
-		</dict>
-		<key>^.*\.lproj/locversion.plist$</key>
-		<dict>
-			<key>omit</key>
-			<true/>
-			<key>weight</key>
-			<real>1100</real>
-		</dict>
-		<key>^Base\.lproj/</key>
-		<dict>
-			<key>weight</key>
-			<real>1010</real>
-		</dict>
-		<key>^Info\.plist$</key>
-		<dict>
-			<key>omit</key>
-			<true/>
-			<key>weight</key>
-			<real>20</real>
-		</dict>
-		<key>^PkgInfo$</key>
-		<dict>
-			<key>omit</key>
-			<true/>
-			<key>weight</key>
-			<real>20</real>
-		</dict>
-		<key>^[^/]+$</key>
-		<dict>
-			<key>nested</key>
-			<true/>
-			<key>weight</key>
-			<real>10</real>
-		</dict>
-		<key>^embedded\.provisionprofile$</key>
-		<dict>
-			<key>weight</key>
-			<real>20</real>
-		</dict>
-		<key>^version\.plist$</key>
-		<dict>
-			<key>weight</key>
-			<real>20</real>
-		</dict>
-	</dict>
-</dict>
-</plist>
diff --git a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeSignature b/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeSignature
deleted file mode 100755
index 78cb55b..0000000
--- a/frameworks/ElvaChatServiceSDK.framework/_CodeSignature/CodeSignature
+++ /dev/null
Binary files differ
diff --git a/frameworks/MQTTFramework.framework/Headers/MQTTClient.h b/frameworks/MQTTFramework.framework/Headers/MQTTClient.h
new file mode 100755
index 0000000..39d043b
--- /dev/null
+++ b/frameworks/MQTTFramework.framework/Headers/MQTTClient.h
@@ -0,0 +1,25 @@
+//
+//  MQTTClient.h
+//  MQTTClient
+//
+//  Created by Christoph Krey on 13.01.14.
+//  Copyright © 2013-2016 Christoph Krey. All rights reserved.
+//
+
+/**
+ Include this file to use MQTTClient classes in your application
+ 
+ @author Christoph Krey krey.christoph@gmail.com
+ @see http://mqtt.org
+ */
+
+#import <Foundation/Foundation.h>
+
+#import <MQTTClient/MQTTSession.h>
+#import <MQTTClient/MQTTSessionLegacy.h>
+#import <MQTTClient/MQTTSessionSynchron.h>
+#import <MQTTClient/MQTTMessage.h>
+#import <MQTTClient/MQTTTransport.h>
+#import <MQTTClient/MQTTCFSocketTransport.h>
+#import <MQTTClient/MQTTCoreDataPersistence.h>
+#import <MQTTClient/MQTTSSLSecurityPolicyTransport.h>
diff --git a/frameworks/MQTTFramework.framework/Headers/MQTTLog.h b/frameworks/MQTTFramework.framework/Headers/MQTTLog.h
new file mode 100755
index 0000000..887395e
--- /dev/null
+++ b/frameworks/MQTTFramework.framework/Headers/MQTTLog.h
@@ -0,0 +1,45 @@
+//
+//  MQTTLog.h
+//  MQTTClient
+//
+//  Created by Christoph Krey on 10.02.16.
+//  Copyright © 2016 Christoph Krey. All rights reserved.
+//
+
+#ifndef MQTTLog_h
+
+#define MQTTLog_h
+
+
+#ifdef LUMBERJACK
+    #define LOG_LEVEL_DEF ddLogLevel
+    #import <CocoaLumberjack/CocoaLumberjack.h>
+    #ifndef myLogLevel
+        #ifdef DEBUG
+            static const DDLogLevel ddLogLevel = DDLogLevelWarning;
+        #else
+            static const DDLogLevel ddLogLevel = DDLogLevelWarning;
+        #endif
+    #else
+        static const DDLogLevel ddLogLevel = myLogLevel;
+    #endif
+#else
+    #ifdef DEBUG
+        #define DDLogVerbose
+        #define DDLogWarn
+        #define DDLogInfo
+        #define DDLogError 
+//        #define DDLogVerbose NSLog
+//        #define DDLogWarn NSLog
+//        #define DDLogInfo NSLog
+//        #define DDLogError NSLog
+    #else
+        #define DDLogVerbose(...)
+        #define DDLogWarn(...)
+        #define DDLogInfo(...)
+        #define DDLogError(...)
+    #endif
+#endif
+
+
+#endif /* MQTTLog_h */
diff --git a/frameworks/MQTTFramework.framework/Headers/MQTTWebsocketTransport.h b/frameworks/MQTTFramework.framework/Headers/MQTTWebsocketTransport.h
index 0a77784..a80b4aa 100755
--- a/frameworks/MQTTFramework.framework/Headers/MQTTWebsocketTransport.h
+++ b/frameworks/MQTTFramework.framework/Headers/MQTTWebsocketTransport.h
@@ -1,49 +1,49 @@
+////
+////  MQTTWebsocketTransport.h
+////  MQTTClient
+////
+////  Created by Christoph Krey on 06.12.15.
+////  Copyright © 2015-2016 Christoph Krey. All rights reserved.
+////
 //
-//  MQTTWebsocketTransport.h
-//  MQTTClient
+//#import <Foundation/Foundation.h>
+//#import "MQTTTransport.h"
+//#import <SocketRocket/SRWebSocket.h>
 //
-//  Created by Christoph Krey on 06.12.15.
-//  Copyright © 2015-2016 Christoph Krey. All rights reserved.
+///** MQTTCFSocketTransport
+// * implements an MQTTTransport on top of Websockets (SocketRocket)
+// */
+//@interface MQTTWebsocketTransport : MQTTTransport <MQTTTransport, SRWebSocketDelegate>
 //
-
-#import <Foundation/Foundation.h>
-#import "MQTTTransport.h"
-#import <SocketRocket/SRWebSocket.h>
-
-/** MQTTCFSocketTransport
- * implements an MQTTTransport on top of Websockets (SocketRocket)
- */
-@interface MQTTWebsocketTransport : MQTTTransport <MQTTTransport, SRWebSocketDelegate>
-
-/** host an NSString containing the hostName or IP address of the host to connect to
- * defaults to @"localhost"
-*/
-@property (strong, nonatomic) NSString *host;
-
-/** port an unsigned 16 bit integer containing the IP port number to connect to
- * defaults to 80
- */
-@property (nonatomic) UInt16 port;
-
-/** tls a boolean indicating whether the transport should be using security 
- * defaults to NO
- */
-@property (nonatomic) BOOL tls;
-
-/** path an NSString indicating the path component of the websocket URL request
- * defaults to @"/html"
- */
-@property (strong, nonatomic) NSString *path;
-
-/** allowUntrustedCertificates a boolean indicating whether self signed or expired certificates should be accepted
- * defaults to NO
- */
-@property (nonatomic) BOOL allowUntrustedCertificates;
-
-/** pinnedCertificates an NSArray containing certificates to validate server certificates against
- * defaults to nil
- */
-@property (strong, nonatomic) NSArray *pinnedCertificates;
-
-
-@end
+///** host an NSString containing the hostName or IP address of the host to connect to
+// * defaults to @"localhost"
+//*/
+//@property (strong, nonatomic) NSString *host;
+//
+///** port an unsigned 16 bit integer containing the IP port number to connect to
+// * defaults to 80
+// */
+//@property (nonatomic) UInt16 port;
+//
+///** tls a boolean indicating whether the transport should be using security 
+// * defaults to NO
+// */
+//@property (nonatomic) BOOL tls;
+//
+///** path an NSString indicating the path component of the websocket URL request
+// * defaults to @"/html"
+// */
+//@property (strong, nonatomic) NSString *path;
+//
+///** allowUntrustedCertificates a boolean indicating whether self signed or expired certificates should be accepted
+// * defaults to NO
+// */
+//@property (nonatomic) BOOL allowUntrustedCertificates;
+//
+///** pinnedCertificates an NSArray containing certificates to validate server certificates against
+// * defaults to nil
+// */
+//@property (strong, nonatomic) NSArray *pinnedCertificates;
+//
+//
+//@end
diff --git a/frameworks/MQTTFramework.framework/Info.plist b/frameworks/MQTTFramework.framework/Info.plist
old mode 100755
new mode 100644
index cc28728..710af82
--- a/frameworks/MQTTFramework.framework/Info.plist
+++ b/frameworks/MQTTFramework.framework/Info.plist
Binary files differ
diff --git a/frameworks/MQTTFramework.framework/MQTTFramework b/frameworks/MQTTFramework.framework/MQTTFramework
old mode 100755
new mode 100644
index 948823e..5d7d957
--- a/frameworks/MQTTFramework.framework/MQTTFramework
+++ b/frameworks/MQTTFramework.framework/MQTTFramework
Binary files differ
diff --git a/frameworks/MQTTFramework.framework/Modules/module.modulemap b/frameworks/MQTTFramework.framework/Modules/module.modulemap
old mode 100755
new mode 100644
diff --git a/frameworks/WAAIhelpImpl.framework/Headers/WAAIhelpImpl.h b/frameworks/WAAIhelpImpl.framework/Headers/WAAIhelpImpl.h
index a79733d..da92da0 100644
--- a/frameworks/WAAIhelpImpl.framework/Headers/WAAIhelpImpl.h
+++ b/frameworks/WAAIhelpImpl.framework/Headers/WAAIhelpImpl.h
@@ -16,4 +16,4 @@
 
 // In this header, you should import all the public headers of your framework using statements like #import <WAAIhelpImpl/PublicHeader.h>
 
-//time:2019/01/15 12:30 ver:3.8.0
+//time:2020/05/20 12:30 ver:3.8.4
diff --git a/frameworks/WAAIhelpImpl.framework/Info.plist b/frameworks/WAAIhelpImpl.framework/Info.plist
index 22676cf..4bfe8af 100644
--- a/frameworks/WAAIhelpImpl.framework/Info.plist
+++ b/frameworks/WAAIhelpImpl.framework/Info.plist
Binary files differ
diff --git a/frameworks/WAAIhelpImpl.framework/WAAIhelpImpl b/frameworks/WAAIhelpImpl.framework/WAAIhelpImpl
index e43ab9e..295985f 100644
--- a/frameworks/WAAIhelpImpl.framework/WAAIhelpImpl
+++ b/frameworks/WAAIhelpImpl.framework/WAAIhelpImpl
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/Chat_record_circle.png b/res/ElvaChatServiceSDK.bundle/Chat_record_circle.png
deleted file mode 100755
index 88ae9b1..0000000
--- a/res/ElvaChatServiceSDK.bundle/Chat_record_circle.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/IM30Usr.png b/res/ElvaChatServiceSDK.bundle/IM30Usr.png
deleted file mode 100755
index 177b7da..0000000
--- a/res/ElvaChatServiceSDK.bundle/IM30Usr.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/MessageViewController.nib b/res/ElvaChatServiceSDK.bundle/MessageViewController.nib
deleted file mode 100755
index d7dc233..0000000
--- a/res/ElvaChatServiceSDK.bundle/MessageViewController.nib
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/ShowWebViewController.nib b/res/ElvaChatServiceSDK.bundle/ShowWebViewController.nib
deleted file mode 100755
index 9e60edd..0000000
--- a/res/ElvaChatServiceSDK.bundle/ShowWebViewController.nib
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/ab_op_list_ltem_bg.9.png b/res/ElvaChatServiceSDK.bundle/ab_op_list_ltem_bg.9.png
new file mode 100644
index 0000000..2fa1a82
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/ab_op_list_ltem_bg.9.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/ar.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/ar.lproj/Localizable.strings
index a627a51..5e7a442 100755
--- a/res/ElvaChatServiceSDK.bundle/ar.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/ar.lproj/Localizable.strings
@@ -16,3 +16,12 @@
 "RewardFailure" = "فشل";
 "TokenInsufficient" = "الرموز الخاصة بك غير كافية";
 "NeedMoreHelp" = "هل تريد المزيد من المساعدة؟";
+"your question"="كتابة رسالة نصية";
+"Cancel"="إلغاء";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="حجم الملف يتجاوز الحد ، يرجى تحميل الملف أصغر من %d ميغابايت";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="ما إذا كانت ظروف الشبكة سترسل لنا  ، والتي سوف تساعدنا على تحسين جودة اتصال الشبكة الخاصة بك";
+"After checking, the network is available"="بعد التحقق ، الشبكة متاحة";
diff --git a/res/ElvaChatServiceSDK.bundle/back_2.png b/res/ElvaChatServiceSDK.bundle/back_2.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/btn_close.png b/res/ElvaChatServiceSDK.bundle/btn_close.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/btn_error_send.png b/res/ElvaChatServiceSDK.bundle/btn_error_send.png
new file mode 100644
index 0000000..c1c7394
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/btn_error_send.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/btn_search.png b/res/ElvaChatServiceSDK.bundle/btn_search.png
new file mode 100644
index 0000000..13e724c
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/btn_search.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat.png b/res/ElvaChatServiceSDK.bundle/chat.png
deleted file mode 100755
index bf7dbad..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat1.png b/res/ElvaChatServiceSDK.bundle/chat1.png
deleted file mode 100755
index 120fa73..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat1.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat5.png b/res/ElvaChatServiceSDK.bundle/chat5.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat_animation1.png b/res/ElvaChatServiceSDK.bundle/chat_animation1.png
deleted file mode 100755
index 945efb6..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat_animation1.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat_animation2.png b/res/ElvaChatServiceSDK.bundle/chat_animation2.png
deleted file mode 100755
index 476c124..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat_animation2.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat_animation3.png b/res/ElvaChatServiceSDK.bundle/chat_animation3.png
deleted file mode 100755
index b3666cb..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat_animation3.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat_animation_white1.png b/res/ElvaChatServiceSDK.bundle/chat_animation_white1.png
deleted file mode 100755
index 5db9330..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat_animation_white1.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat_animation_white2.png b/res/ElvaChatServiceSDK.bundle/chat_animation_white2.png
deleted file mode 100755
index 0547669..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat_animation_white2.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat_animation_white3.png b/res/ElvaChatServiceSDK.bundle/chat_animation_white3.png
deleted file mode 100755
index f52c917..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat_animation_white3.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat_ipunt_message.png b/res/ElvaChatServiceSDK.bundle/chat_ipunt_message.png
deleted file mode 100755
index 98e320d..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat_ipunt_message.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat_message_back.png b/res/ElvaChatServiceSDK.bundle/chat_message_back.png
deleted file mode 100755
index 60c9b2b..0000000
--- a/res/ElvaChatServiceSDK.bundle/chat_message_back.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chat_send_message.png b/res/ElvaChatServiceSDK.bundle/chat_send_message.png
old mode 100755
new mode 100644
index 9508152..03d7881
--- a/res/ElvaChatServiceSDK.bundle/chat_send_message.png
+++ b/res/ElvaChatServiceSDK.bundle/chat_send_message.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chatfrom_bg_normal.png b/res/ElvaChatServiceSDK.bundle/chatfrom_bg_normal.png
deleted file mode 100755
index 0d16a17..0000000
--- a/res/ElvaChatServiceSDK.bundle/chatfrom_bg_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chatfrom_doctor_icon.png b/res/ElvaChatServiceSDK.bundle/chatfrom_doctor_icon.png
deleted file mode 100755
index 1bebc9f..0000000
--- a/res/ElvaChatServiceSDK.bundle/chatfrom_doctor_icon.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/chatto_bg_normal.png b/res/ElvaChatServiceSDK.bundle/chatto_bg_normal.png
deleted file mode 100755
index 55ed272..0000000
--- a/res/ElvaChatServiceSDK.bundle/chatto_bg_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/checkbox_checked.png b/res/ElvaChatServiceSDK.bundle/checkbox_checked.png
deleted file mode 100755
index 9bbea3d..0000000
--- a/res/ElvaChatServiceSDK.bundle/checkbox_checked.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/checkbox_unchecked.png b/res/ElvaChatServiceSDK.bundle/checkbox_unchecked.png
deleted file mode 100755
index 331c089..0000000
--- a/res/ElvaChatServiceSDK.bundle/checkbox_unchecked.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/darkMode/ab_op_list_ltem_bg.9.png b/res/ElvaChatServiceSDK.bundle/darkMode/ab_op_list_ltem_bg.9.png
new file mode 100644
index 0000000..9c0f6bc
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/darkMode/ab_op_list_ltem_bg.9.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/darkMode/back_2.png b/res/ElvaChatServiceSDK.bundle/darkMode/back_2.png
new file mode 100644
index 0000000..8df8260
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/darkMode/back_2.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/darkMode/btn_close.png b/res/ElvaChatServiceSDK.bundle/darkMode/btn_close.png
new file mode 100644
index 0000000..c9acff5
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/darkMode/btn_close.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/darkMode/chat_send_message.png b/res/ElvaChatServiceSDK.bundle/darkMode/chat_send_message.png
new file mode 100644
index 0000000..a2d6001
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/darkMode/chat_send_message.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal.png b/res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal.png
new file mode 100755
index 0000000..6434746
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal@2x.png b/res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal@2x.png
new file mode 100644
index 0000000..b1d8934
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal@2x.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal@3x.png b/res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal@3x.png
new file mode 100644
index 0000000..9875d27
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/darkMode/message_receiver_background_normal@3x.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/darkMode/show_faq_list.png b/res/ElvaChatServiceSDK.bundle/darkMode/show_faq_list.png
new file mode 100644
index 0000000..a8dce74
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/darkMode/show_faq_list.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/darkMode/uploadPic.png b/res/ElvaChatServiceSDK.bundle/darkMode/uploadPic.png
new file mode 100644
index 0000000..5c12cba
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/darkMode/uploadPic.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/de.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/de.lproj/Localizable.strings
index cbd1a0b..5b46e1b 100755
--- a/res/ElvaChatServiceSDK.bundle/de.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/de.lproj/Localizable.strings
@@ -16,9 +16,13 @@
 "RewardFailure" = "Fehlgeschlagen";
 "TokenInsufficient" = "Tokens reichen nicht aus";
 "NeedMoreHelp" = "Benötigen weitere Hilfe?";
-
-
-
-
-
-
+"your question"="Ihre Frage";
+"Cancel"="stornieren";
+"Oops, no relevant results were found"="Tut mir Leid, Keine Ergebnisse gefunden.";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="Die Dateigröße überschreitet das Limit. Bitte laden Sie die Datei mit einer Größe von weniger als %d MB hoch";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Willst du uns den Status der Netzwerkverbindung senden damit wir die Qualität der Verbindung verbessern können?";
+"After checking, the network is available"="Nach der Überprüfung ist das Netzwerk verfügbar";
diff --git a/res/ElvaChatServiceSDK.bundle/default_guide_elva.png b/res/ElvaChatServiceSDK.bundle/default_guide_elva.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/default_guide_elva_robot.png b/res/ElvaChatServiceSDK.bundle/default_guide_elva_robot.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/default_player_elva.png b/res/ElvaChatServiceSDK.bundle/default_player_elva.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/el-GR.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/el-GR.lproj/Localizable.strings
index 72a9d2d..6b352e6 100755
--- a/res/ElvaChatServiceSDK.bundle/el-GR.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/el-GR.lproj/Localizable.strings
@@ -16,12 +16,14 @@
 "RewardFailure" = "Αποτυχής ανταμοιβή";
 "TokenInsufficient" = "Το υπόλοιπό σας δεν επαρκεί";
 "NeedMoreHelp" = "Χρειάζεστε βοήθεια?";
-
-
-
-
-
-
+"your question"="Εισάγετε ερώτηση";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="Το μέγεθος του αρχείου υπερβαίνει το όριο, μεταφορτώστε το αρχείο μικρότερο από %d MB";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Είτε θέλετε να μας στείλετε τις συνθήκες δικτύου, οι οποίες θα μας βοηθήσουν να βελτιώσουμε την ποιότητα της σύνδεσής σας στο δίκτυο";
+"After checking, the network is available"="Μετά τον έλεγχο, το δίκτυο είναι διαθέσιμο";
 
 
 
diff --git a/res/ElvaChatServiceSDK.bundle/en.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/en.lproj/Localizable.strings
index 72509ac..1ae3092 100755
--- a/res/ElvaChatServiceSDK.bundle/en.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/en.lproj/Localizable.strings
@@ -16,3 +16,17 @@
 "RewardFailure" = "Failed";
 "TokenInsufficient" = "Your tokens is insufficient";
 "NeedMoreHelp" = "Need more help?";
+"your question"="your question";
+"Cancel"="Cancel";
+"Oops, no relevant results were found"="Oops, no relevant results were found";
+"Success"="Success";
+"Failed"="Failed";
+"Please tell us more details"="Please tell us more details";
+"Network Error, Please check your network"="Network Error, Please check your network";
+"Retry"="Retry";
+"Loading......"="Loading......";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="The file size exceeds the limit, please upload the file smaller than %dM";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Send us the network diagnostics? It'll help us improve connection quality.";
+"After checking, the network is available"="After checking, the network is available";
diff --git a/res/ElvaChatServiceSDK.bundle/es.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/es.lproj/Localizable.strings
index b6dce23..0891d16 100755
--- a/res/ElvaChatServiceSDK.bundle/es.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/es.lproj/Localizable.strings
@@ -16,3 +16,13 @@
 "RewardFailure" = "Ha fallado";
 "TokenInsufficient" = "Sus puntos son insuficientes";
 "NeedMoreHelp" = "Necesitas más ayuda?";
+"your question"="Tu pregunta";
+"Cancel"="Cancelar";
+"Oops, no relevant results were found"="Lo sentimos mucho que no se puede encontrar ningún dato.";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="El tamaño del archivo excede el límite, cargue el archivo de menos de %d MB";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Envíenos los diagnósticos de red por favor. Nos ayudará a mejorar la calidad de la conexión.";
+"After checking, the network is available"="Después de verificar, la red está disponible";
diff --git a/res/ElvaChatServiceSDK.bundle/eval_video_play_btn.png b/res/ElvaChatServiceSDK.bundle/eval_video_play_btn.png
new file mode 100644
index 0000000..726cc3a
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/eval_video_play_btn.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/evaluate_submit.png b/res/ElvaChatServiceSDK.bundle/evaluate_submit.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/fa.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/fa.lproj/Localizable.strings
index fbbcfc2..f2dfd11 100755
--- a/res/ElvaChatServiceSDK.bundle/fa.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/fa.lproj/Localizable.strings
@@ -1,4 +1,4 @@
-//法斯语fa,fa-IR
+//波斯语fa,fa-IR
 "content_too_long"="نباید از %ld حروف بیشتر باشد.";
 "ContactCustomerService" = "با ما تماس بگیرید";
 "self_service_interface" = "پشتیبانی";
@@ -16,17 +16,16 @@
 "RewardFailure" = "ناموفق";
 "TokenInsufficient" = "امتیاز شما کافی نیست .";
 "NeedMoreHelp" = "نیاز به کمک بیشتری دارید؟";
+"your question"="سوال شما؟";
+"Cancel"="لغو";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="اندازه پرونده فراتر از حد است ، لطفا پرونده را کوچکتر از %dM بارگذاری کنید";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
 
-
-
-
-
-
-
-
-
-
-
+"Send us the network diagnostics? It'll help us improve connection quality."="این که آیا شرایط شبکه را برای ما ارسال کنیم ، که به ما در بهبود کیفیت اتصال شبکه شما کمک خواهد کرد";
+"After checking, the network is available"="پس از بررسی ، شبکه موجود است";
 
 
 
diff --git a/res/ElvaChatServiceSDK.bundle/fr-FR.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/fr-FR.lproj/Localizable.strings
index a574754..e2e62df 100755
--- a/res/ElvaChatServiceSDK.bundle/fr-FR.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/fr-FR.lproj/Localizable.strings
@@ -16,9 +16,12 @@
 "RewardFailure" = "Echec";
 "TokenInsufficient" = "Jeton insuffisant";
 "NeedMoreHelp" = "Besoin d'aide?";
-
-
-
-
-
-
+"your question"="Votre question";
+"Cancel"="Annuler";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="La taille du fichier dépasse la limite, veuillez télécharger le fichier de moins de %d Mo";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Nous envoyer le diagnostique réseau? Cela nous aidera à améliorer la qualité de la connexion.";
+"After checking, the network is available"="Après vérification, le réseau est disponible";
diff --git a/res/ElvaChatServiceSDK.bundle/id-ID.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/id-ID.lproj/Localizable.strings
index 658b119..d5eb00a 100755
--- a/res/ElvaChatServiceSDK.bundle/id-ID.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/id-ID.lproj/Localizable.strings
@@ -16,3 +16,12 @@
 "RewardFailure" = "Gagal";
 "TokenInsufficient" = "Saldo token Anda tidak mencukupi";
 "NeedMoreHelp" = "butuh lebih bantuan?";
+"your question"="masukkan pertanyaan"; 
+"Cancel"="membatalkan";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="Ukuran file melebihi batas, harap unggah file lebih kecil dari %d MB";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Kirimkan diagnostik jaringan kepada kami? Ini akan membantu kami untuk memperbaiki kualitas jaringan.";
+"After checking, the network is available"="Setelah memeriksa, jaringan tersedia";
diff --git a/res/ElvaChatServiceSDK.bundle/img_arrow.png b/res/ElvaChatServiceSDK.bundle/img_arrow.png
new file mode 100644
index 0000000..e6118f7
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/img_arrow.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/img_loading.png b/res/ElvaChatServiceSDK.bundle/img_loading.png
new file mode 100644
index 0000000..6f8ce5c
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/img_loading.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/img_net_error.png b/res/ElvaChatServiceSDK.bundle/img_net_error.png
new file mode 100644
index 0000000..93fdb64
--- /dev/null
+++ b/res/ElvaChatServiceSDK.bundle/img_net_error.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/it-IT.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/it-IT.lproj/Localizable.strings
index acc7931..cd27809 100755
--- a/res/ElvaChatServiceSDK.bundle/it-IT.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/it-IT.lproj/Localizable.strings
@@ -16,13 +16,15 @@
 "RewardFailure" = "Premiazione fallita";
 "TokenInsufficient" = "Bilancio insufficiente";
 "NeedMoreHelp" = "Serve ancora aiuto?";
-
-
-
-
-
-
-
+"your question"="Inserire problema";
+"Cancel"="Annulla";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="La dimensione del file supera il limite, carica il file più piccolo di %d MB";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Mandare il rapporto della condizione di rete? Ci aiuterà a migliorare le qualità della connessione.";
+"After checking, the network is available"="Dopo il controllo, la rete è disponibile";
 
 
 
diff --git a/res/ElvaChatServiceSDK.bundle/ja.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/ja.lproj/Localizable.strings
index eb6e5e2..1d5b33b 100755
--- a/res/ElvaChatServiceSDK.bundle/ja.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/ja.lproj/Localizable.strings
@@ -1,18 +1,29 @@
 //日语ja
-"content_too_long"="%ld文字を超えてはならない!";
+"content_too_long"="%ld文字を超えています。";
 "ContactCustomerService" = "お問い合わせ";
 "self_service_interface" = "セルフサービス";
-"offLine"= "ネットのアクセスがエラー発生しました、もう一度やり直してください!";
+"offLine"= "接続が切れました。もう一度試してください。";
 "CustomerService"="HELP";
-"elva__mark_helpful_toast"="役に立ったと評価されました";
-"elva__mark_unhelpful_toast"="役に立たなかったと評価されました";
+"elva__mark_helpful_toast"="ご評価ありがとうございました。";
+"elva__mark_unhelpful_toast"="ご評価ありがとうございました。";
 "elva__mark_yes_no_question"="お役に立ちましたか?";
 "elva__mark_no"="いいえ";
 "elva__mark_yes"="はい";
-"RewardBalance"="ポイント残高";
-"GoTo" = "に行く";
+"RewardBalance"="ポイント残高:";
+"GoTo" = "へ";
 "Forum" = "QAフォーム";
-"RewardSuccess" = "奨励成功";
-"RewardFailure" = "奨励失敗";
-"TokenInsufficient" = "残高が足りません";
-"NeedMoreHelp" = "他の質問もある?";
+"RewardSuccess" = "成功した";
+"RewardFailure" = "失敗した";
+"TokenInsufficient" = "残高不足";
+"NeedMoreHelp" = "他のお問い合わせ内容がございますか?";
+"your question"="お問い合わせ内容をご入力ください。";
+"Cancel"="取り消し";
+"Oops, no relevant results were found"="申し訳ございません、結果が見つかりませんでした。";
+"Success"="成功";
+"Failed"="失敗";
+"Please tell us more details"="原因を具体的に書いてください。";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="ファイルサイズが制限を超えています。%dMB未満のファイルをアップロードしてください";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="ネットワークの接続情報を送信していただけませんか。安定したインターネット接続を維持することに役立ちます。";
+"After checking, the network is available"="確認後、ネットワークは利用可能です";
diff --git a/res/ElvaChatServiceSDK.bundle/ko.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/ko.lproj/Localizable.strings
index a5cc241..afa750a 100755
--- a/res/ElvaChatServiceSDK.bundle/ko.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/ko.lproj/Localizable.strings
@@ -16,3 +16,13 @@
 "RewardFailure" = "실패";
 "TokenInsufficient" = "토큰이 부족합니다.";
 "NeedMoreHelp" = "도움이 더 필요하십니까?";
+"your question"="귀하의 질문";
+"Cancel"="취소";
+"Oops, no relevant results were found"="해당 검색 결과가 없습니다.";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="파일 크기가 한도를 초과합니다. %dMB보다 작은 파일을 업로드하십시오.";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="네트워크 연결 정보를 보내시겠습니까? 안정적인 인터넷 연결을 유지하는데 도움이 됩니다.";
+"After checking, the network is available"="확인 후 네트워크를 사용할 수 있습니다";
diff --git a/res/ElvaChatServiceSDK.bundle/loading.png b/res/ElvaChatServiceSDK.bundle/loading.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal.png b/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal.png
old mode 100755
new mode 100644
index 866e9ad..634d2ae
--- a/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal.png
+++ b/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@2x.png b/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@2x.png
old mode 100755
new mode 100644
index 88d042e..365c4be
--- a/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@2x.png
+++ b/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@2x.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@3x.png b/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@3x.png
old mode 100755
new mode 100644
index 1434c03..42463f0
--- a/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@3x.png
+++ b/res/ElvaChatServiceSDK.bundle/message_receiver_background_normal@3x.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/message_sender_background_normal.png b/res/ElvaChatServiceSDK.bundle/message_sender_background_normal.png
old mode 100755
new mode 100644
index 5158311..d99f36e
--- a/res/ElvaChatServiceSDK.bundle/message_sender_background_normal.png
+++ b/res/ElvaChatServiceSDK.bundle/message_sender_background_normal.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/message_sender_background_normal@2x.png b/res/ElvaChatServiceSDK.bundle/message_sender_background_normal@2x.png
old mode 100755
new mode 100644
index 2b70692..935323f
--- a/res/ElvaChatServiceSDK.bundle/message_sender_background_normal@2x.png
+++ b/res/ElvaChatServiceSDK.bundle/message_sender_background_normal@2x.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/message_sender_background_normal@3x.png b/res/ElvaChatServiceSDK.bundle/message_sender_background_normal@3x.png
old mode 100755
new mode 100644
index 9ec9e6d..e53dbda
--- a/res/ElvaChatServiceSDK.bundle/message_sender_background_normal@3x.png
+++ b/res/ElvaChatServiceSDK.bundle/message_sender_background_normal@3x.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/pl-PL.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/pl-PL.lproj/Localizable.strings
index dd94a13..39b16ac 100755
--- a/res/ElvaChatServiceSDK.bundle/pl-PL.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/pl-PL.lproj/Localizable.strings
@@ -16,13 +16,15 @@
 "RewardFailure" = "Porażka.";
 "TokenInsufficient" = "Niewystarczająca ilość punktów.";
 "NeedMoreHelp" = "Bisogno Di Più Aiuto?";
-
-
-
-
-
-
-
+"your question"="Wprowadź pytanie";
+"Cancel"="Anuluj";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="Rozmiar pliku przekracza limit, prześlij plik mniejszy niż %d MB";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Czy wysłać nam warunki sieciowe, które pomogą nam poprawić jakość twojego połączenia sieciowego";
+"After checking, the network is available"="Po sprawdzeniu sieć jest dostępna";
 
 
 
diff --git a/res/ElvaChatServiceSDK.bundle/pt-PT.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/pt-PT.lproj/Localizable.strings
index f90698c..a2230f7 100755
--- a/res/ElvaChatServiceSDK.bundle/pt-PT.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/pt-PT.lproj/Localizable.strings
@@ -16,9 +16,12 @@
 "RewardFailure" = "Recompense não com sucesso";
 "TokenInsufficient" = "Saldos insuficientes";
 "NeedMoreHelp" = "Precisa mais ajuda?";
-
-
-
-
-
-
+"your question"="Entra a pergunta";
+"Cancel"="cancelar";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="O tamanho do arquivo excede o limite, faça o upload do arquivo com menos de %d MB";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Mandare il rapporto della condizione di rete? Ci aiuterà a migliorare le qualità della connessione.";
+"After checking, the network is available"="Após a verificação, a rede está disponível";
diff --git a/res/ElvaChatServiceSDK.bundle/robot.png b/res/ElvaChatServiceSDK.bundle/robot.png
deleted file mode 100755
index 64c7bb7..0000000
--- a/res/ElvaChatServiceSDK.bundle/robot.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/robot_pressed.png b/res/ElvaChatServiceSDK.bundle/robot_pressed.png
deleted file mode 100755
index 28d718a..0000000
--- a/res/ElvaChatServiceSDK.bundle/robot_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/ru.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/ru.lproj/Localizable.strings
index c336917..5250883 100755
--- a/res/ElvaChatServiceSDK.bundle/ru.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/ru.lproj/Localizable.strings
@@ -16,3 +16,13 @@
 "RewardFailure" = "Неудачно";
 "TokenInsufficient" = "Недостаточно баллов";
 "NeedMoreHelp" = "Нужна помощь?";
+"your question"="Ваш вопрос";
+"Cancel"="отменить";
+"Oops, no relevant results were found"="Извините, по вашему запросу ничего не найдено.";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="Размер файла превышает лимит, загрузите файл размером менее %d МБ";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Отправьте нам данные диагностики сети, чтобы мы могли улучшить качество соединения.";
+"After checking, the network is available"="После проверки сеть доступна";
diff --git a/res/ElvaChatServiceSDK.bundle/show_faq_list.png b/res/ElvaChatServiceSDK.bundle/show_faq_list.png
old mode 100755
new mode 100644
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/show_faq_list_.png b/res/ElvaChatServiceSDK.bundle/show_faq_list_.png
deleted file mode 100755
index 57c3d28..0000000
--- a/res/ElvaChatServiceSDK.bundle/show_faq_list_.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/show_manual.png b/res/ElvaChatServiceSDK.bundle/show_manual.png
deleted file mode 100755
index dfd0886..0000000
--- a/res/ElvaChatServiceSDK.bundle/show_manual.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/sv-SE.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/sv-SE.lproj/Localizable.strings
index 59dc1f8..4ef5337 100755
--- a/res/ElvaChatServiceSDK.bundle/sv-SE.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/sv-SE.lproj/Localizable.strings
@@ -16,9 +16,12 @@
 "RewardFailure" = "Misslyckades";
 "TokenInsufficient" = "Du har inte tillräckligt med poäng";
 "NeedMoreHelp" = "Behöver mer hjälp?";
-
-
-
-
-
-
+"your question"="Ange fråga";
+"Cancel"="annullera";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="Filstorleken överskrider gränsen, ladda upp filen mindre än %d MB";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Huruvida vi ska skicka nätverksvillkor, vilket hjälper oss att förbättra kvaliteten på din nätverksanslutning";
+"After checking, the network is available"="Efter kontroll är nätverket tillgängligt";
diff --git a/res/ElvaChatServiceSDK.bundle/tabbarBk@2x.png b/res/ElvaChatServiceSDK.bundle/tabbarBk@2x.png
deleted file mode 100755
index d5d2adf..0000000
--- a/res/ElvaChatServiceSDK.bundle/tabbarBk@2x.png
+++ /dev/null
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/th.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/th.lproj/Localizable.strings
index f49c196..501b1f5 100755
--- a/res/ElvaChatServiceSDK.bundle/th.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/th.lproj/Localizable.strings
@@ -16,3 +16,12 @@
 "RewardFailure" = "ให้รางวัลล้มเหลว";
 "TokenInsufficient" = "จำนวนคงเหลือไม่พอ";
 "NeedMoreHelp" = "ต้องการความช่วยเหลือ?";
+"your question"="คำถามของคุณ";
+"Cancel"="ยกเลิก";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="ขนาดไฟล์เกินขีด จำกัด โปรดอัปโหลดไฟล์ที่มีขนาดเล็กกว่า %d MB";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="จะส่งสถานการณ์อินเตอร์เน็ตมาให้เรา นี่จะช่วยเราแก้ไขคุณภาพอินเตอร์เน็ตของคุณได้มาก";
+"After checking, the network is available"="หลังจากตรวจสอบเครือข่ายจะพร้อมใช้งาน";
diff --git a/res/ElvaChatServiceSDK.bundle/tr.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/tr.lproj/Localizable.strings
old mode 100755
new mode 100644
index 07c6bca..b0ecdab
--- a/res/ElvaChatServiceSDK.bundle/tr.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/tr.lproj/Localizable.strings
@@ -16,3 +16,12 @@
 "RewardFailure" = "Başarısız!";
 "TokenInsufficient" = "Bakiyeniz yetersiz!";
 "NeedMoreHelp" = "Ihtiyacınız yardıma?";
+"your question"="Sorunuzu girin!";
+"Cancel"="iptal etmek";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="Dosya boyutu sınırı aşıyor, lütfen dosyayı %d MB'tan küçük yükleyin";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="ağ koşullarının bize gönderilip gönderilmeyeceği Ağ bağlantınızın kalitesini artırmamıza yardımcı olacak";
+"After checking, the network is available"="Kontrol ettikten sonra ağ kullanılabilir";
diff --git a/res/ElvaChatServiceSDK.bundle/uploadPic.png b/res/ElvaChatServiceSDK.bundle/uploadPic.png
old mode 100755
new mode 100644
index adeb82b..1a780be
--- a/res/ElvaChatServiceSDK.bundle/uploadPic.png
+++ b/res/ElvaChatServiceSDK.bundle/uploadPic.png
Binary files differ
diff --git a/res/ElvaChatServiceSDK.bundle/vi-VN.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/vi-VN.lproj/Localizable.strings
index 6854988..3e181df 100755
--- a/res/ElvaChatServiceSDK.bundle/vi-VN.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/vi-VN.lproj/Localizable.strings
@@ -16,9 +16,12 @@
 "RewardFailure" = "Thưởng thất bại";
 "TokenInsufficient" = "Không còn đủ";
 "NeedMoreHelp" = "cần thêm giúp?";
-
-
-
-
-
-
+"your question"="Lỗi nhập";
+"Cancel"="hủy bỏ";
+"Success"="Success";
+"Failed"="Failed";
+"media_upload_err_format"="Unsupported files. Currently, only 'mp4, 3gp, png, jpg, jpeg, gif' available when uploading.";
+"media_upload_err_size"="Kích thước tệp vượt quá giới hạn, vui lòng tải lên tệp nhỏ hơn %d MB";
+"media_upload_err_net"="Transmission timed out, file uploading failed.";
+"Send us the network diagnostics? It'll help us improve connection quality."="Có gửi cho chúng tôi các điều kiện mạng hay không, điều này sẽ giúp chúng tôi cải thiện chất lượng kết nối mạng của bạn";
+"After checking, the network is available"="Sau khi kiểm tra, mạng có sẵn";
diff --git a/res/ElvaChatServiceSDK.bundle/zh-Hans.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/zh-Hans.lproj/Localizable.strings
index eae8113..fcc61f9 100755
--- a/res/ElvaChatServiceSDK.bundle/zh-Hans.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/zh-Hans.lproj/Localizable.strings
@@ -2,7 +2,7 @@
 "content_too_long"="不能超过%ld个字!";
 "ContactCustomerService" = "联系客服";
 "self_service_interface" = "自助服务";
-"offLine"= "您的链接已经断开,请重新进入!";
+"offLine"= "您的网络连接已经断开,请检查网络!";
 "CustomerService"="HELP";
 "elva__mark_helpful_toast"="你发现这有帮助";
 "elva__mark_unhelpful_toast"="你发现这无帮助";
@@ -16,3 +16,17 @@
 "RewardFailure" = "打赏失败";
 "TokenInsufficient" = "余额不足";
 "NeedMoreHelp" = "需要更多帮助?";
+"your question"="输入问题";
+"Cancel"="取消";
+"Oops, no relevant results were found"="抱歉,未找到相关结果";
+"Success"="成功";
+"Failed"="失败";
+"Please tell us more details"="请告知我们具体原因";
+"Network Error, Please check your network"="网络请求失败,请检查您的网络";
+"Retry"="重试";
+"Loading......"="正在全力加载";
+"media_upload_err_format"="文件格式不支持,目前只能上传 mp4, 3gp, mov, png, jpg, jpeg, gif 格式的文件";
+"media_upload_err_size"="文件大小超过限制,请上传小于%dM的文件";
+"media_upload_err_net"="网络传输超时,文件上传失败";
+"Send us the network diagnostics? It'll help us improve connection quality."="是否将网络状况发送给我们,这将帮助我们改善与您的网络连接质量";
+"After checking, the network is available"="经检测,网络是正常的";
diff --git a/res/ElvaChatServiceSDK.bundle/zh-Hant.lproj/Localizable.strings b/res/ElvaChatServiceSDK.bundle/zh-Hant.lproj/Localizable.strings
index 7724fdc..467ec82 100755
--- a/res/ElvaChatServiceSDK.bundle/zh-Hant.lproj/Localizable.strings
+++ b/res/ElvaChatServiceSDK.bundle/zh-Hant.lproj/Localizable.strings
@@ -2,7 +2,7 @@
 "content_too_long"="不能超過%ld個字!";
 "ContactCustomerService" = "聯系客服";
 "self_service_interface" = "自助服務";
-"offLine"= "您的連結已經斷開,請重新進入!";
+"offLine"= "您的網絡連接已經斷開,請檢查網絡!";
 "CustomerService"="HELP";
 "elva__mark_helpful_toast"="妳發現這有幫助";
 "elva__mark_unhelpful_toast"="妳發現這無幫助";
@@ -16,3 +16,17 @@
 "RewardFailure" = "打賞失敗";
 "TokenInsufficient" = "餘額不足";
 "NeedMoreHelp" = "需要更多幫助?";
+"your question"="輸入問題";
+"Cancel"="取消";
+"Oops, no relevant results were found"="抱歉,未找到相關結果";
+"Success"="成功";
+"Failed"="失敗";
+"Please tell us more details"="請告知我們具體原因";
+"Network Error, Please check your network"="網絡請求失敗,請檢查您的網絡";
+"Retry"="重試";
+"Loading......"="正在全力加載";
+"media_upload_err_format"="文件格式不支持,目前只能上傳 mp4, 3gp, mov, png, jpg, jpeg, gif 格式的文件";
+"media_upload_err_size"="文件大小超過限制,請上傳小於%dM的文件";
+"media_upload_err_net"="網絡傳輸超時,文件上傳失敗";
+"Send us the network diagnostics? It'll help us improve connection quality."="是否將網絡狀況發送給我們,這將幫助我們改善與您的網絡連接質量";
+"After checking, the network is available"="經檢測,網絡是正常的";
diff --git a/res/MessageViewController.xib b/res/MessageViewController.xib
deleted file mode 100755
index b5cf0fa..0000000
--- a/res/MessageViewController.xib
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="10116" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner">
-            <connections>
-                <outlet property="tableView" destination="IvM-vh-g7e" id="QzX-mv-VQH"/>
-                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
-            </connections>
-        </placeholder>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
-            <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <tableView clipsSubviews="YES" contentMode="scaleToFill" misplaced="YES" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="IvM-vh-g7e">
-                    <rect key="frame" x="0.0" y="36" width="320" height="457"/>
-                    <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                    <connections>
-                        <outlet property="dataSource" destination="-1" id="tks-e2-tiJ"/>
-                        <outlet property="delegate" destination="-1" id="8JF-ab-mO1"/>
-                    </connections>
-                </tableView>
-            </subviews>
-            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-            <constraints>
-                <constraint firstItem="IvM-vh-g7e" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="44" id="cKj-NQ-KTd"/>
-                <constraint firstAttribute="bottom" secondItem="IvM-vh-g7e" secondAttribute="bottom" constant="59" id="evZ-MG-5PW"/>
-                <constraint firstAttribute="trailing" secondItem="IvM-vh-g7e" secondAttribute="trailing" id="hha-tq-TCg"/>
-                <constraint firstItem="IvM-vh-g7e" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="rdN-xH-8H9"/>
-            </constraints>
-            <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/>
-            <point key="canvasLocation" x="442" y="29"/>
-        </view>
-    </objects>
-</document>
diff --git a/res/ShowModuleViewController.xib b/res/ShowModuleViewController.xib
deleted file mode 100755
index 8a0bc70..0000000
--- a/res/ShowModuleViewController.xib
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12120" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="NO">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <development version="7000" identifier="xcode"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12120"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ShowModuleViewController">
-            <connections>
-                <outlet property="tabedSlideView" destination="CJJ-mu-H46" id="0i4-vz-rqs"/>
-                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
-            </connections>
-        </placeholder>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
-            <rect key="frame" x="0.0" y="0.0" width="320" height="480"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <view contentMode="scaleToFill" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="CJJ-mu-H46" customClass="DLTabedSlideView">
-                    <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
-                    <color key="backgroundColor" red="0.92624950408935547" green="0.92154264450073242" blue="0.91666138172149658" alpha="1" colorSpace="calibratedRGB"/>
-                    <connections>
-                        <outlet property="delegate" destination="-1" id="etH-rP-JF8"/>
-                    </connections>
-                </view>
-            </subviews>
-            <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
-            <constraints>
-                <constraint firstAttribute="bottom" secondItem="CJJ-mu-H46" secondAttribute="bottom" id="DLj-u2-Vul"/>
-                <constraint firstItem="CJJ-mu-H46" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="F49-Nf-zA2"/>
-                <constraint firstAttribute="trailing" secondItem="CJJ-mu-H46" secondAttribute="trailing" id="b6g-8i-r4H"/>
-                <constraint firstItem="CJJ-mu-H46" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="xYL-E3-s9e"/>
-            </constraints>
-            <point key="canvasLocation" x="217.5" y="249.5"/>
-        </view>
-    </objects>
-    <simulatedMetricsContainer key="defaultSimulatedMetrics">
-        <simulatedStatusBarMetrics key="statusBar"/>
-        <simulatedOrientationMetrics key="orientation"/>
-        <simulatedScreenMetrics key="destination"/>
-    </simulatedMetricsContainer>
-</document>
diff --git a/res/ShowWebViewController.xib b/res/ShowWebViewController.xib
deleted file mode 100755
index d9aca5b..0000000
--- a/res/ShowWebViewController.xib
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="10116" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ShowWebViewController">
-            <connections>
-                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
-                <outlet property="webView" destination="M2D-Ay-LL1" id="Sa4-Ut-JlL"/>
-            </connections>
-        </placeholder>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
-            <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
-            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-            <subviews>
-                <webView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="M2D-Ay-LL1">
-                    <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
-                    <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
-                    <connections>
-                        <outlet property="delegate" destination="-1" id="N3u-dI-6Ks"/>
-                    </connections>
-                </webView>
-            </subviews>
-            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
-            <constraints>
-                <constraint firstItem="M2D-Ay-LL1" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5Er-ix-RmH"/>
-                <constraint firstAttribute="trailing" secondItem="M2D-Ay-LL1" secondAttribute="trailing" id="ULn-ES-7yw"/>
-                <constraint firstItem="M2D-Ay-LL1" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="eVe-3w-VPH"/>
-                <constraint firstAttribute="bottom" secondItem="M2D-Ay-LL1" secondAttribute="bottom" id="ikf-N6-yHr"/>
-            </constraints>
-            <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/>
-            <point key="canvasLocation" x="468" y="419"/>
-        </view>
-    </objects>
-</document>

--
Gitblit v1.8.0