(window.webpackJsonp=window.webpackJsonp||[]).push([[6],[function(n,e,t){"use strict";var r=t(86),o=t(8),l=t(12);t(2).get("interchat:loggerLocal.ts");let c=t(2);c.useDefaults();const d="ksitalkDebugLogEnabled";let f=[];function m(){try{return"1"==localStorage.getItem(d)}catch(n){return!1}}function h(n,e){if(e instanceof Error){let n={};return Object.getOwnPropertyNames(e).forEach(function(t){n[t]=e[t]}),n}return e}c.logBufferEnabledGet=function(){return m()},c.logBufferEnabledSet=function(n){try{localStorage.setItem(d,n?"1":"0")}catch(n){}},c.clearAllMessages=function(){f=[]},c.sendAllMessages=async function(){!o.a.connected||f.length<=0||o.a.authorizationToken&&(f.forEach(n=>{o.a.emit("logger",n)}),m()||(f=[]))},c.getAllMessagesText=function(){if(f.length<=0)return"";let text="";return f.forEach(n=>{text+=n+"\n"}),text};let v=c.createDefaultHandler();function x(){return{value:function(){let n={};return Object.getOwnPropertyNames(this).forEach(function(e){n[e]=this[e]},this),n},configurable:!0,writable:!0}}c.setHandler(function(n,e){if(v(n,e),!m())return;let t=(new Date).toISOString()+" : ";for(let e in n){let param=n[e];"string"!=typeof param&&(param=JSON.stringify(h(0,param),h)),t+=param+" "}for(t.length>4e3&&(t=t.substring(0,4e3)+"...[truncated]");f.length>=300;)f.splice(0,1);t="|"+Object(r.a)()+" | "+t,f.push(t),Object(l.q)()&&!m()&&c.sendAllMessages()}),"toJSON"in Error.prototype||Object.defineProperty(Error.prototype,"toJSON",x()),"toJSON"in Event.prototype||Object.defineProperty(Event.prototype,"toJSON",x()),window&&(window.onerror=function(n,e,t){c.error("Global error ",n,e,t)},window.addEventListener("error",function(n){c.error("Global error event",n.message,"event = ",n)})),e.a=c},function(n,e,t){"use strict";t.d(e,"a",function(){return l}),t.d(e,"d",function(){return c}),t.d(e,"e",function(){return d}),t.d(e,"c",function(){return f});var r=t(3);t(2).get("interchat:eventBus");const o=new r.default;e.b=o;class l{}function c(text){o.$emit(l.MODAL_SHOW,{title:"Notification",text:text})}function d(text){o.$emit(l.MODAL_SHOW,{title:"Warning",text:text})}function f(text){o.$emit(l.MODAL_SHOW,{title:"Error",text:text})}l.ACTIVATE="Activator::activate",l.REGISTRATION_TOKEN="PlatformDevice::registrationToken",l.AUDIO_CONTEXT_SET="GlobalAudio::audioContextSet",l.PLAYER_SET="GlobalAudio::playerSet",l.SOCKET_MOUNT="Socket:Mount",l.CALL_START="Call:Start",l.MODAL_SHOW="Modal:show",l.MODAL_HIDE="Modal:hide",l.REDIRECT="Redirect",l.NAVIGATE_BACK="NavigateBack",l.NAVIGATE_END="NavigateEnd",l.LAYOUT_MENU_CLICK="layoutMenuClick",l.LAYOUT_USER_ADD="layoutUserAdd",l.FILE_SHARE="FileShare",l.MESSAGE_REPLY="MessageReply",l.MESSAGE_FORWARD="MessageForward",l.CHAT_SEARCH_OPEN="ChatSearchOpen",l.MESSAGE_PIN="MessagePin",l.MESSAGE_UNPIN="MessageUnpin",l.PINNED_OPEN="PinnedOpen",l.MESSAGE_EDIT="MessageEdit",l.FILE_LOCAL_SAVED="FileLocalSaved",l.SELECTION_CHANGED="SelectionChanged",l.SELECTION_ACTION="SelectionAction",l.CHATS_SEARCH_QUERY="ChatsSearchQuery",l.MESSAGE_RETRY="MessageRetry"},,,,,,,function(n,e,t){"use strict";var r=t(478),o=t.n(r),l=t(0),c=t(1);t(2).get("interchat:SocketServer:emitAsync.ts");var d=t(18);t(2).get("interchat:socket.io.ts");const f=["polling","websocket"],m=o()("",{path:"/interchat/back/socket.io",autoConnect:!1,transports:f,timeout:6e4,forceNew:!0});m.isInProgress=function(){return this.requestInProgress>0};function h(){try{let n="undefined"!=typeof window?window:null,e=n&&n.$nuxt&&n.$nuxt.$i18n&&n.$nuxt.$i18n.locale?String(n.$nuxt.$i18n.locale):"";if(!e){let n=m.context;n&&n.app&&n.app.i18n&&n.app.i18n.locale&&(e=String(n.app.i18n.locale))}return(e||"").toLowerCase().split(/[-_]/)[0]}catch(n){return""}}function v(){try{const n="undefined"!=typeof window?window:null,nav="undefined"!=typeof navigator?navigator:null,e=nav&&nav.userAgent?nav.userAgent:"",t=!!(n&&n.cordova&&n.cordova.exec),r=/Android/i.test(e),o=/iPhone|iPad|iPod/i.test(e)||/Macintosh/i.test(e)&&nav&&(nav.maxTouchPoints||0)>1;return t?r?"apk":o?"ios-cordova":"cordova":o?"web-ios":"web"}catch(n){return"unknown"}}m.requestInProgress=0,m.authenticated=!1,m.serverReady=!1,m.changeRequestInProgress=function(n){let e=this.isInProgress();this.requestInProgress+=n,this.requestInProgress<0&&(l.a.warn("requestInProgress <0 !!!",this.requestInProgress),this.requestInProgress=0);let t=this.isInProgress();this.context&&e!=t&&this.context.store.commit("SET_SOCKET_IN_PROGRESS",t)},m.onRequestStart=function(){this.changeRequestInProgress(1)},m.onRequestEnd=function(){this.changeRequestInProgress(-1)},m.waitAuthenticated=function(n=8e3){return this.authenticated&&this.serverReady?Promise.resolve():this.connected?new Promise((e,t)=>{let r=null;const o=()=>{this.removeListener("authenticated",f),this.removeListener(d.a.SOCKET_READY,m),this.removeListener("disconnect",h),r&&(clearTimeout(r),r=null)},c=()=>{this.authenticated&&this.serverReady&&(o(),e())},f=()=>{setTimeout(()=>{this.serverReady||(l.a.warn("socket-ready fallback after authenticated"),this.serverReady=!0,c())},750),c()},m=()=>{c()},h=()=>{o(),t(new Error("offline"))};r=setTimeout(()=>{o(),t(new Error("timeout"))},n),this.once("authenticated",f),this.once(d.a.SOCKET_READY,m),this.once("disconnect",h),this.authenticated&&f()}):Promise.reject(new Error("offline"))},m.emitAsync=async function(n,data){try{this.onRequestStart(),await this.waitAuthenticated();let e=await async function(n,e,data,t){return new Promise((r,o)=>{let l=null,c=()=>{n.removeEventListener("disconnect",d),l&&(clearTimeout(l),l=null)},d=()=>{c(),o(new Error("timeout"))},f=t&&t.timeout||0;f&&(l=setTimeout(d,f)),n.once("disconnect",d),n.emit(e,data,(n,e)=>{l&&(c(),n?o(n):r(e))})})}(this,n,data,{timeout:15e3});return l.a.debug("event resolve ",n,e),e}catch(e){throw l.a.error("emit error ",n,e),e}finally{this.onRequestEnd()}},m.listenersMounted=!1,m.setContext=function(n){if(this.context=n,!this.listenersMounted){let n=this.context.store;c.b.$emit(c.a.SOCKET_MOUNT,{}),m.mountListeners(n),this.listenersMounted=!0}},m.onLogin=function(){if(!this.context)throw l.a.error("Socket on Login fails! No context"),new Error("Socket no context");let n=this.context.$auth;this.authorizationToken=n.getToken(n.strategy.name),this.authenticated=!1,this.serverReady=!1,m.open(),l.a.log("socket open")},m.mountListeners=function(n){let e=this;l.a.trace("Event mounted"),e.on(d.a.USER_ONLINE,e=>{n.dispatch("Users/setOnline",e)}),e.on(d.a.USER_OFFLINE,e=>{n.dispatch("Users/setOffline",e)}),e.on(d.a.NEW_MESSAGE,e=>n.dispatch("pushMessage",e)),e.on(d.a.REMOVE_MESSAGE,e=>n.dispatch("onRemoveMessage",e)),e.on(d.a.MESSAGE_UPDATED,e=>n.dispatch("onMessageUpdated",e)),e.on(d.a.MESSAGE_REACTIONS,data=>n.dispatch("onMessageReactions",data)),e.on(d.a.UPDATE_USER_CONVERSATION,data=>n.dispatch("updateUserConversation",data)),e.on(d.a.UPDATE_USER_CONVERSATION_OPPONENT,e=>n.dispatch("updateUserConversationOpponent",e)),e.on(d.a.CONVERSATION_CLEAN,data=>n.dispatch("conversationClean",data)),e.on(d.a.CONVERSATION_DELETE,data=>n.dispatch("conversationDelete",data)),e.on(d.a.RSA_PUBLIC_KEY_SET,data=>n.dispatch("Users/setUserPublicKey",data)),e.on(d.a.LOGOUT,data=>e.onLogout()),e.on(d.a.PROFILE_CHANGED,data=>n.dispatch("Users/userUpdate",data)),e.on(d.a.NEW_MESSAGE_AUDIO,e=>n.dispatch("pushMessage",e)),e.on(d.a.NEW_CONVERSATION,async e=>{l.a.debug("on new-conversation",e),await n.dispatch("Users/fetchUsers"),n.commit("ADD_CONVERSATION",e)}),e.on(d.a.NEW_USER,async e=>{l.a.debug("on new-user",e),await n.dispatch("Users/fetchUsers")});let t=async()=>{await n.dispatch("updateSelfOnline",e.connected)};e.on(d.a.CALL_MESSAGE,e=>{try{n.dispatch("Call/onMessage",e)}catch(n){l.a.error("onCallMessage",n)}}),e.on(d.a.TRANSFER_MESSAGE,e=>{try{n.dispatch("FileShare/onMessage",e)}catch(n){l.a.error("onCallMessage",n)}}),e.on("connect",t),e.on("reconnect",t),e.on("disconnect",t);let r=!1;e.on("disconnect",()=>{r=!0}),e.on(d.a.SOCKET_READY,()=>{r&&(r=!1,n.dispatch("fetchUserConversationsOpponents").catch(n=>l.a.warn("KT-0258 resync opponents failed",n)),n.dispatch("fetchUserConversations").catch(n=>l.a.warn("KT-0258 resync conversations failed",n)))}),t()},m.onLogout=async function(){l.a.debug("logout");let n=this.context.$auth,e=this.context.store;try{if(!e)throw new Error("onLogout store undefined!");this.deviceToken&&await m.sendLogout(),m.close()}finally{await n.logout(),this.authorizationToken=void 0,await e.dispatch("logout")}},m.on("connect",()=>{m.authenticated=!1,m.serverReady=!1;const n=m.io;l.a.debug("socket connected",m.id,"transport",n&&n.engine&&n.engine.transport&&n.engine.transport.name),m.authorizationToken?m.emit("authenticate",{token:m.authorizationToken}):(l.a.log("connected not authorized socket ... close"),m.close())}),m.on("authenticated",n=>{m.authenticated=!0,l.a.debug("socket authenticated",m.id),m.deviceToken&&m.doUpdateDeviceToken({token:m.deviceToken});try{m.emit(d.a.CLIENT_INFO,{version:"10.10.72.15",platform:v(),locale:h()})}catch(n){l.a.warn("KT-0205 clientInfo emit failed",n)}try{window.top.postMessage("authenticated","*")}catch(n){}}),m.on(d.a.SOCKET_READY,()=>{m.authenticated=!0,m.serverReady=!0,l.a.debug("socket server ready",m.id)}),m.on("disconnect",n=>{m.authenticated=!1,m.serverReady=!1,l.a.debug("socket disconnected",n)}),m.on("error",n=>{l.a.error("socket error",n)}),m.getUsersOnlineIds=async function(){return this.emitAsync("get_users_online_ids")},m.sendMessage=async function(n){return this.emitAsync("send-message",n)},m.removeMessage=async function(n){return this.emitAsync("remove-message",n)},m.editMessage=async function(n){return this.emitAsync("edit-message",n)},m.setReaction=async function(n){return this.emitAsync("set-reaction",n)},m.channelBroadcast=async function(n){return this.emitAsync("channel-broadcast",n)},m.sendMessageAudio=async function(n){return this.emitAsync("send-message-audio",n)},m.sendConversationClean=async function(n){return this.emitAsync("send-conversation-clean",n)},m.sendConversationDeleteWith=async function(n){return this.emitAsync("send-conversation-delete-with",n)},m.sendPublicKeySet=async function(n){return this.emitAsync("publicKeySet",n)},m.doUpdateDeviceToken=async function({token:n}){return this.deviceToken=n,l.a.debug("Send device token",this.deviceToken),this.emitAsync("updateDeviceToken",n)},m.sendLogout=async function(n={}){return n={...n,deviceToken:this.deviceToken},this.emitAsync("logout",n)},m.sendBugReport=async function(n){return this.emitAsync("bugReport",n)},m.forceConnect=function(){this.connected||(this.close(),setTimeout(()=>this.open(),0))},m.sendLog=async function(n){return this.emitAsync("logger",n)},m.runActionGet=async function(n,e){return this.emitAsync("action",{method:"get",url:n,params:e})},m.runActionPost=async function(n,e){return this.emitAsync("action",{method:"post",url:n,params:e})};e.a=m},function(n,e,t){"use strict";t.d(e,"f",function(){return l}),t.d(e,"c",function(){return c}),t.d(e,"b",function(){return d}),t.d(e,"d",function(){return m}),t.d(e,"e",function(){return h}),t.d(e,"a",function(){return v});var r=t(0);t(2).get("interchat:PersonalCache.ts");let o=null;function l(n){r.a.log("Set current user id ",n),o=n}function c(){return o}var d;function f(n){if(!o)throw Error("Current user id not set");return"personCache:"+o+":"+n}function m(n){let e=function(n){return localStorage.getItem(f(n))}(n);try{if("string"==typeof e)return JSON.parse(e)}catch(n){return null}return null}function h(n,e){!function(n,e){localStorage.setItem(f(n),e)}(n,JSON.stringify(e))}function v(){try{if("undefined"==typeof localStorage)return;let n=[];for(let i=0;i=0||n.push(e))}n.forEach(n=>localStorage.removeItem(n)),r.a.log("ClearConversationCaches removed",n.length)}catch(n){r.a.error("ClearConversationCaches failed",n)}}!function(n){n.USER_LIST="user_list",n.USER_SELF="user_self",n.CRYPTO_STORAGE="crypto_storage",n.CONVERSATIONS="conversations",n.USER_CONVERSATIONS="user_conversations",n.USER_CONVERSATIONS_OPPONENTS="user_conversations_opponents"}(d||(d={}))},,,function(n,e,t){"use strict";(function(n){t.d(e,"y",function(){return l}),t.d(e,"x",function(){return c}),t.d(e,"j",function(){return f}),t.d(e,"b",function(){return m}),t.d(e,"a",function(){return h}),t.d(e,"s",function(){return x}),t.d(e,"t",function(){return k}),t.d(e,"u",function(){return y}),t.d(e,"n",function(){return _}),t.d(e,"m",function(){return S}),t.d(e,"r",function(){return C}),t.d(e,"q",function(){return E}),t.d(e,"l",function(){return I}),t.d(e,"k",function(){return A}),t.d(e,"i",function(){return T}),t.d(e,"h",function(){return O}),t.d(e,"w",function(){return M}),t.d(e,"v",function(){return N}),t.d(e,"p",function(){return D}),t.d(e,"o",function(){return R}),t.d(e,"B",function(){return P}),t.d(e,"A",function(){return L}),t.d(e,"d",function(){return j}),t.d(e,"c",function(){return F}),t.d(e,"z",function(){return U}),t.d(e,"f",function(){return z}),t.d(e,"e",function(){return $}),t.d(e,"g",function(){return B});var r=t(53),o=t(0);t(2).get("interchat:localOptions.ts");const l="default",c="dark",d=n.env.DEFAULT_THEME?n.env.DEFAULT_THEME:c;var f;!function(n){n.LOG_AUTO_SEND="logAutoSend",n.FILE_TRANSFER_AUTO="fileTransferAuto",n.PHOTO_VIDEO_GALLERY_SAVE="photoVideoGallerySave",n.SPEECH_THRESHOLD="speechThreshold",n.CRYPTO_CLOUD_BACKUP="cryptoCloudBackup",n.CRYPTO_CLOUD_NAMES="cryptoCloudNames",n.ECHO_CANCELLATION_ENABLE="echoCancellationEnable",n.ECHO_CANCELLATION_NATIVE_DISABLE="echoCancellationNativeDisable",n.ECHO_CANCELLATION_NATIVE_VIDEO_DISABLE="echoCancellationNativeVideoDisable",n.THEME_NAME="themeName",n.CHAT_FONT_SIZE="chatFontSize",n.LAYOUT_FIX="layoutFix",n.VOICE_FX="voiceFx",n.CALL_BG="callBg"}(f||(f={}));const m=12,h=30,v={};function x(n){return e=localStorage.getItem(n),t=v[n],"true"==e||"false"!=e&&t;var e,t}function w(n){return function(n,e){let t=n?parseInt(n):NaN;return isNaN(t)?e:t}(localStorage.getItem(n),v[n])}function k(n){return localStorage.getItem(n)||v[n]}function y(n,e){localStorage.setItem(n,e)}function _(n){y(f.FILE_TRANSFER_AUTO,n)}function S(){return x(f.FILE_TRANSFER_AUTO)}function C(n){y(f.LOG_AUTO_SEND,n);try{document.devicePlatform&&document.devicePlatform.developerLogSendSet&&document.devicePlatform.developerLogSendSet(n)}catch(n){o.a.error("Error LogAutoSendSet ",n)}}function E(){return x(f.LOG_AUTO_SEND)}function I(n){y(f.ECHO_CANCELLATION_ENABLE,n)}function A(){return x(f.ECHO_CANCELLATION_ENABLE)}function T(n){y(f.CRYPTO_CLOUD_NAMES,n)}function O(){return x(f.CRYPTO_CLOUD_NAMES)}function M(n){y(f.SPEECH_THRESHOLD,n)}function N(){return w(f.SPEECH_THRESHOLD)}function D(n){y(f.LAYOUT_FIX,n)}function R(){return x(f.LAYOUT_FIX)}function P(n){y(f.VOICE_FX,n)}function L(){return k(f.VOICE_FX)||"none"}function j(n){y(f.CALL_BG,n)}function F(){return k(f.CALL_BG)||"none"}function U(){return k(f.THEME_NAME)}function z(){let n=w(f.CHAT_FONT_SIZE);return nh&&(n=h),n}function $(){try{if("undefined"==typeof document||!document.documentElement)return;document.documentElement.style.setProperty("--chat-font-size",z()+"px")}catch(n){o.a.error("ChatFontSizeApply error",n)}}function B(n){y(f.CHAT_FONT_SIZE,n),$()}v[f.ECHO_CANCELLATION_ENABLE]=!r.isIOS,v[f.ECHO_CANCELLATION_NATIVE_DISABLE]=!1,v[f.ECHO_CANCELLATION_NATIVE_VIDEO_DISABLE]=!1,v[f.SPEECH_THRESHOLD]=-60,v[f.CRYPTO_CLOUD_BACKUP]=!0,v[f.CRYPTO_CLOUD_NAMES]=!0,v[f.LOG_AUTO_SEND]=true,v[f.FILE_TRANSFER_AUTO]=!0,v[f.PHOTO_VIDEO_GALLERY_SAVE]=!0,v[f.THEME_NAME]=d,v[f.CHAT_FONT_SIZE]=18,v[f.LAYOUT_FIX]=!0,v[f.VOICE_FX]="none",v[f.CALL_BG]="none"}).call(this,t(22))},,,,,,function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:SocketServer:ESocketEvents.ts");var r;!function(n){n.USER_ONLINE="user-online",n.USER_OFFLINE="user-offline",n.SOCKET_READY="socket-ready",n.NEW_MESSAGE="new-message",n.NEW_MESSAGE_AUDIO="new-message-audio",n.NEW_USER="new-user",n.NEW_CONVERSATION="new-conversation",n.PROFILE_CHANGED="profile_changed",n.RSA_PUBLIC_KEY_SET="rsa_public_key_set",n.GET_USERS_ONLINE_IDS="get_users_online_ids",n.SEND_MESSAGE="send-message",n.REMOVE_MESSAGE="remove-message",n.EDIT_MESSAGE="edit-message",n.MESSAGE_UPDATED="message-updated",n.SET_REACTION="set-reaction",n.MESSAGE_REACTIONS="message-reactions",n.CHANNEL_BROADCAST="channel-broadcast",n.PUBLIC_KEY_SET="publicKeySet",n.CONVERSATION_CLEAN="conversation-clean",n.CONVERSATION_DELETE="conversation-del",n.SEND_CONVERSATION_CLEAN="send-conversation-clean",n.SEND_CONVERSATION_DELETE_WITH="send-conversation-delete-with",n.SEND_MESSAGE_AUDIO="send-message-audio",n.CALL_MESSAGE="call-message",n.TRANSFER_MESSAGE="transfer-message",n.UPDATE_DEVICE_TOKEN="updateDeviceToken",n.CLIENT_INFO="clientInfo",n.PINS_UPDATED="pins-updated",n.LOGGER="logger",n.BUG_REPORT="bugReport",n.LOGOUT="logout",n.UPDATE_USER_CONVERSATION="updateUserConversation",n.UPDATE_USER_CONVERSATION_OPPONENT="updateUserConversationOpponent",n.FILE_UPLOAD_STREAM="file_upload_stream",n.FILE_DOWNLOAD_STREAM="file_download_stream"}(r||(r={}))},function(n,e,t){"use strict";t.d(e,"d",function(){return o}),t.d(e,"e",function(){return l}),t.d(e,"f",function(){return c}),t.d(e,"b",function(){return d}),t.d(e,"a",function(){return f}),t.d(e,"c",function(){return m});t(14);t(2).get("interchat:userDisplay.ts");function r(n){return String(n||"").trim()}function o(n){if(!n)return"";const e=r(n.username);return/^\d+$/.test(e)?e:""}function l(n){return o(n)}function c(n,e){return r(e).length>=8?"":o(n)}function d(n){const e=r(n);return e.length>8?e.substring(0,8):e}function f(n){const text=r(n),e=text.split(/\s+/).map(n=>Array.from(n).filter(n=>/\p{L}/u.test(n)).join("")).filter(Boolean);if(e.length>=2)return(e[0][0]+e[1][0]).toUpperCase();if(1==e.length){const n=Array.from(e[0]);return n.length>2?(n[0]+n[n.length-1]).toUpperCase():n.join("").toUpperCase()}const t=text.replace(/\D/g,"");if(!t)return"";const o="ABCDEFGHIJ",l=parseInt(t[0],10),c=parseInt(t[t.length-1],10);return isNaN(l)||isNaN(c)?"":o[l]+o[(c+5)%10]}function m(n){if(!n)return"";const e=r(n.avatarName);if(e)return e;const t=r(n.profile&&n.profile.avatarName);return t||f(o(n))}},function(n,e,t){"use strict";t.d(e,"a",function(){return o}),t.d(e,"b",function(){return l});t(2).get("interchat:callGhostGuard.ts");let r=0;function o(n=700){r=Date.now()+n}function l(){return Date.now(){})}catch(n){}}}(),new Promise((n,e)=>{const t=indexedDB.open(o,l);t.onupgradeneeded=()=>{const n=t.result;if(!n.objectStoreNames.contains(c)){const e=n.createObjectStore(c,{keyPath:"key"});e.createIndex("name","name",{unique:!1}),e.createIndex("savedAt","savedAt",{unique:!1})}if(n.objectStoreNames.contains(d)||n.createObjectStore(d,{keyPath:"key"}),!n.objectStoreNames.contains(f)){n.createObjectStore(f,{keyPath:"key"}).createIndex("lastAccessAt","lastAccessAt",{unique:!1})}},t.onsuccess=()=>n(t.result),t.onerror=()=>e(t.error)}))}function S(n){return new Promise((e,t)=>{n.oncomplete=()=>e(),n.onerror=()=>t(n.error),n.onabort=()=>t(n.error)})}async function C(n){if(!n)return null;const e=await _();return e?new Promise((t,r)=>{const o=e.transaction(c,"readonly").objectStore(c).get(n);o.onsuccess=()=>t(o.result||null),o.onerror=()=>r(o.error)}):null}async function E(n){if(!n)return null;const e=await _();if(!e)return null;let t=await new Promise((t,r)=>{const o=e.transaction(d,"readonly").objectStore(d).get(n);o.onsuccess=()=>t(o.result?o.result.content:null),o.onerror=()=>r(o.error)});if(t)try{await async function(n,e){const t=n.transaction(c,"readwrite"),r=t.objectStore(c),o=r.get(e);return o.onsuccess=()=>{const n=o.result;n&&(n.lastAccessAt=k(),r.put(n))},S(t)}(e,n)}catch(n){}return t}async function I(n){if(!n||!n.key)return;n.name&&n.path&&Object(r.DoFilePathSet)(n.name,n.path);const e=await _();if(!e)return;const content=n.content&&n.size<=v?n.content:null,meta={key:n.key,messageId:n.messageId,name:n.name,size:n.size,path:n.path,savedAt:n.savedAt,lastAccessAt:n.lastAccessAt||n.savedAt||k(),hasContent:!!content};try{const t=e.transaction([c,d],"readwrite");t.objectStore(c).put(meta),content?t.objectStore(d).put({key:n.key,content:content}):t.objectStore(d).delete(n.key),await S(t)}catch(t){try{meta.hasContent=!1;const t=e.transaction([c,d],"readwrite");t.objectStore(c).put(meta),t.objectStore(d).delete(n.key),await S(t)}catch(n){}return}if(content)try{await async function(n){const e=await new Promise((e,t)=>{const r=n.transaction(c,"readonly"),o=[],l=r.objectStore(c).openCursor();l.onsuccess=()=>{const n=l.result;n?(n.value&&n.value.hasContent&&o.push(n.value),n.continue()):e(o)},l.onerror=()=>t(l.error)});let t=e.reduce((n,e)=>n+(e.size||0),0);if(t<=h)return;e.sort((a,b)=>String(a.lastAccessAt||a.savedAt).localeCompare(String(b.lastAccessAt||b.savedAt)));const r=n.transaction([c,d],"readwrite"),o=r.objectStore(c),l=r.objectStore(d);for(const n of e){if(t<=h)break;l.delete(n.key),n.hasContent=!1,o.put(n),t-=n.size||0}await S(r)}(e)}catch(n){}}async function A(n){if(!n)return;const e=await _();if(!e)return;const t=e.transaction([c,d,f],"readwrite");t.objectStore(c).delete(n),t.objectStore(d).delete(n),t.objectStore(f).delete(n),await S(t)}async function T(path){if(!path)return 0;const n=await _();return n?await new Promise(e=>{try{let t=0;const r=n.transaction(c,"readonly").objectStore(c).openCursor();r.onsuccess=()=>{const n=r.result;n?(n.value&&n.value.path===path&&t++,n.continue()):e(t)},r.onerror=()=>e(0)}catch(n){e(0)}}):0}async function O(n){if(!n||!n.length)return 0;const map={};for(const e of n)e&&e.old&&e.new&&(map[e.old]=e.new);const e=await _();return e?await new Promise(n=>{try{let t=0;const o=e.transaction(c,"readwrite"),l=o.objectStore(c).openCursor();l.onsuccess=()=>{const n=l.result;if(n){const e=n.value;e&&e.path&&map[e.path]&&(e.path=map[e.path],n.update(e),e.name&&Object(r.DoFilePathSet)(e.name,e.path),t++),n.continue()}},o.oncomplete=()=>n(t),o.onerror=()=>n(t),o.onabort=()=>n(t)}catch(e){n(0)}}):0}async function M(){const n=await _();if(!n)return{bytes:0,count:0};const meta=await new Promise(e=>{try{let t=0,r=0;const o=n.transaction(c,"readonly"),l=o.objectStore(c).openCursor();l.onsuccess=()=>{const n=l.result;n&&(n.value&&n.value.hasContent&&(t+=n.value.size||0,r++),n.continue())},o.oncomplete=()=>e({bytes:t,count:r}),o.onerror=()=>e({bytes:t,count:r}),o.onabort=()=>e({bytes:t,count:r})}catch(n){e({bytes:0,count:0})}});let e=0;try{e=await new Promise(e=>{let b=0;const t=n.transaction(f,"readonly"),r=t.objectStore(f).openCursor();r.onsuccess=()=>{const n=r.result;n&&(b+=n.value&&n.value.size||0,n.continue())},t.oncomplete=()=>e(b),t.onerror=()=>e(b),t.onabort=()=>e(b)})}catch(n){}return{bytes:meta.bytes+e,count:meta.count}}let N=0;async function D(n,e){if(!n)return null;const t=await _();if(!t)return null;let r=await new Promise((e,r)=>{const o=t.transaction(f,"readonly").objectStore(f).get(n);o.onsuccess=()=>e(o.result||null),o.onerror=()=>r(o.error)});if(!r)return null;if(e&&r.px&&r.px!==e)return null;try{await async function(n,e){const t=n.transaction(f,"readwrite"),r=t.objectStore(f),o=r.get(e);return o.onsuccess=()=>{const n=o.result;n&&(n.lastAccessAt=k(),r.put(n))},S(t)}(t,n)}catch(n){}return r.thumb||null}async function R(n,e,t){if(!n||!e)return;const r=await _();if(!r)return;const o={key:n,thumb:e,size:e.length,px:t||0,lastAccessAt:k()},l=r.transaction(f,"readwrite");if(l.objectStore(f).put(o),await S(l),N++,N%50==0)try{await async function(n){const e=await new Promise((e,t)=>{const r=n.transaction(f,"readonly"),o=[],l=r.objectStore(f).openCursor();l.onsuccess=()=>{const n=l.result;n?(o.push({key:n.value.key,size:n.value.size||0,lastAccessAt:n.value.lastAccessAt}),n.continue()):e(o)},l.onerror=()=>t(l.error)});let t=e.reduce((n,e)=>n+(e.size||0),0);if(t<=m)return;e.sort((a,b)=>String(a.lastAccessAt).localeCompare(String(b.lastAccessAt)));const r=n.transaction(f,"readwrite"),o=r.objectStore(f);for(const n of e){if(t<=m)break;o.delete(n.key),t-=n.size||0}await S(r)}(r)}catch(n){}}},function(n,e,t){"use strict";t.d(e,"a",function(){return r}),t.d(e,"c",function(){return o}),t.d(e,"b",function(){return l});t(2).get("interchat:platform:PlatformDeviceInterface.ts");var r,o,l;!function(n){n.MODE_NORMAL="MODE_NORMAL",n.MODE_RINGTONE="MODE_RINGTONE",n.MODE_IN_CALL="MODE_IN_CALL",n.MODE_IN_COMMUNICATION="MODE_IN_COMMUNICATION",n.MODE_INVALID="MODE_INVALID"}(r||(r={})),function(n){n.PHONE="PHONE",n.SPEAKER="SPEAKER",n.BLUETOOTH="BLUETOOTH",n.ANY="ANY"}(o||(o={})),function(n){n[n.STREAM_MUSIC=3]="STREAM_MUSIC",n[n.STREAM_VOICE_CALL=0]="STREAM_VOICE_CALL"}(l||(l={}))},function(n,e,t){"use strict";t.d(e,"b",function(){return l}),t.d(e,"f",function(){return c}),t.d(e,"e",function(){return d}),t.d(e,"a",function(){return m}),t.d(e,"c",function(){return h}),t.d(e,"d",function(){return v});t(2).get("interchat:channel.ts");const r="ksitalk",o="58",l="KSITalk";function c(n){return!!n&&String(n.username)===r}function d(n){return!!n&&String(n.username)===o}const f="ksitalk.channelReadAt",m=864e5;function h(){try{let n=localStorage.getItem(f);return n&&Number(n)||0}catch(n){return 0}}function v(n){try{localStorage.setItem(f,String(n||Date.now()))}catch(n){}}},function(n,e,t){"use strict";t.r(e),t.d(e,"MessageType",function(){return r});t(2).get("interchat:FileShare:types:Message.ts");var r;!function(n){n.REQUEST="transferRequest",n.ASC="transferASC",n.ANSWER="transferAnswer",n.ANSWER_SELF="transferAnswerSelf",n.HUNG="transferHung",n.SIGNAL="transferSignal",n.DONE="transferDone"}(r||(r={}))},function(n,e,t){"use strict";t.r(e),t.d(e,"MessageType",function(){return r});t(2).get("interchat:Call:types:Message.ts");var r;!function(n){n.REQUEST="callRequest",n.ASC="callRequestASC",n.ANSWER="callAnswer",n.ANSWER_SELF="callAnswerSelf",n.HUNG="callHung",n.SIGNAL="signal"}(r||(r={}))},function(n,e,t){"use strict";t.d(e,"h",function(){return y}),t.d(e,"b",function(){return _}),t.d(e,"f",function(){return S}),t.d(e,"e",function(){return M}),t.d(e,"a",function(){return N}),t.d(e,"g",function(){return D}),t.d(e,"c",function(){return R}),t.d(e,"d",function(){return P});t(14);var r=t(0);t(2).get("interchat:LocalMessageStore.ts");const o=t(329),l="ksitalk-msgs",c=1,d="messages",f="conv",m=300,h=20,v=["_id","conversationId","body","author","type","createdAt","editedAt","reactions","clientId","sendStatus","isSecure","isUnread","silent"];let x=null,w=null,k=null;function y(n,e){x=n?String(n):null,w=e?String(e):null}function _(){x=null,w=null}function S(){return!(!x||!w||"undefined"==typeof indexedDB)}function C(n,e){return x+"|"+n+"|"+e}function E(n){return o.encrypt(w,JSON.stringify(n))}function I(s){try{return JSON.parse(o.decrypt(w,s))}catch(n){return null}}function A(n){let e={};for(let t of v)void 0!==n[t]&&(e[t]=n[t]);return e}function T(){return k||(k=new Promise(n=>{try{let e=indexedDB.open(l,c);e.onupgradeneeded=()=>{let n=e.result;if(!n.objectStoreNames.contains(d)){n.createObjectStore(d,{keyPath:"key"}).createIndex(f,"conv",{unique:!1})}},e.onsuccess=()=>n(e.result),e.onerror=()=>{r.a.warn("LMS openDb error",e.error),n(null)}}catch(e){r.a.warn("LMS openDb throw",e),n(null)}}),k)}function O(n){return new Promise(e=>{n.oncomplete=()=>e(),n.onerror=()=>e(),n.onabort=()=>e()})}async function M(n){if(S())try{let e=await T();if(!e)return;await async function(n,e){if(!e||!e.conversationId||!e._id&&!e.clientId)return;let t=e._id||e.clientId,r={key:C(e.conversationId,t),conv:x+"|"+e.conversationId,at:String(e.createdAt||""),enc:E(A(e))},o=n.transaction(d,"readwrite");o.objectStore(d).put(r),await O(o)}(e,n),j(n.conversationId)}catch(n){r.a.warn("LmsPut failed",n)}}async function N(n,e){if(S()&&n&&n.length)try{let t=await T();if(!t)return;let r=t.transaction(d,"readwrite"),o=r.objectStore(d);for(let t of n){if(!t)continue;let n=t.conversationId||e,r=t._id||t.clientId;n&&r&&o.put({key:C(n,r),conv:x+"|"+n,at:String(t.createdAt||""),enc:E(A(t))})}await O(r),j(e)}catch(n){r.a.warn("LmsBatchPut failed",n)}}async function D(n,e){if(S()&&n&&e)try{let t=await T();if(!t)return;let r=t.transaction(d,"readwrite");r.objectStore(d).delete(C(n,e)),await O(r)}catch(n){r.a.warn("LmsRemove failed",n)}}async function R(n,e=h){if(!S()||!n)return[];try{let t=await T();if(!t)return[];let r=await function(n,e){return new Promise(t=>{let r=[];try{let o=n.transaction(d,"readonly").objectStore(d).index(f),l=IDBKeyRange.only(x+"|"+e),c=o.openCursor(l);c.onsuccess=()=>{let n=c.result;if(n){let e=I(n.value.enc);e&&r.push(e),n.continue()}else t(r)},c.onerror=()=>t(r)}catch(n){t(r)}})}(t,n);return r.sort((a,b)=>String(b.createdAt||"").localeCompare(String(a.createdAt||""))),r.slice(0,e)}catch(n){return r.a.warn("LmsGetByConversation failed",n),[]}}async function P(){if(!S())return[];try{let n=await T();return n?await new Promise(e=>{let t=[];try{let r=n.transaction(d,"readonly").objectStore(d).openCursor();r.onsuccess=()=>{let n=r.result;if(n){let e=I(n.value.enc);e&&e.clientId&&("sending"===e.sendStatus||"failed"===e.sendStatus)&&t.push(e),n.continue()}else e(t)},r.onerror=()=>e(t)}catch(n){e(t)}}):[]}catch(n){return r.a.warn("LmsGetUnsent failed",n),[]}}let L={};function j(n){n&&!L[n]&&(L[n]=!0,setTimeout(()=>{L[n]=!1,async function(n){if(!S())return;try{let e=await T();if(!e)return;let t=await new Promise(t=>{let r=[],o=e.transaction(d,"readonly").objectStore(d).index(f).openCursor(IDBKeyRange.only(x+"|"+n));o.onsuccess=()=>{let n=o.result;n?(r.push({key:n.value.key,at:String(n.value.at||"")}),n.continue()):t(r)},o.onerror=()=>t(r)});if(t.length<=m)return;t.sort((a,b)=>a.at.localeCompare(b.at));let r=t.slice(0,t.length-m),o=e.transaction(d,"readwrite"),l=o.objectStore(d);for(let n of r)l.delete(n.key);await O(o)}catch(n){r.a.warn("LMS prune failed",n)}}(n)},4e3))}},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:Avatar.vue");t(14);var r=t(204),o=(t(1),t(11)),l=t(12),c=t(0);t(2).get("interchat:Avatar.vue");var d={name:"avatarImage",components:{avatar:r.a},props:{fullname:{type:String,default:""},size:{type:Number,default:32},avatarId:Number,urlPrefix:{type:String,default:null},text:{type:String,default:""},iconSrc:{type:String,default:""}},computed:{...Object(o.c)({themeName:"themeName"}),prefix(){if(this.urlPrefix)return this.urlPrefix;if("undefined"!=typeof window&&window.location&&"file:"===window.location.protocol)return"file:///android_asset/www/";const base=this.$router&&this.$router.options?this.$router.options.base:"";return base?base.endsWith("/")?base:base+"/":"/"},imageUri(){if(!this.avatarId)return;let n=(this.avatarId<10?"0":"")+this.avatarId;return this.prefix+"gfx/avatar/"+n+".png"},iconUri(){return this.iconSrc?this.prefix+this.iconSrc:""},avatarStyle(){return{width:this.size+"px",height:this.size+"px",minWidth:this.size+"px",backgroundColor:this.color}},textCircleStyle(){return{width:this.size+"px",height:this.size+"px",minWidth:this.size+"px",backgroundColor:this.color,borderRadius:"50%",display:"inline-flex",alignItems:"center",justifyContent:"center",color:"#fff",fontWeight:"700",fontSize:Math.round(.36*this.size)+"px",lineHeight:"1"}},fullnameText(){return null===this.fullname||void 0===this.fullname?"":String(this.fullname).trim()},avatarColorKey(){const n=this.avatarLetters;return n.length>0?n.join(""):this.fullnameText},avatarLetters(){const text=this.fullnameText.trim();if(!text)return[];const n=text.split(/\s+/).map(n=>Array.from(n).filter(this.isAvatarLetter).join("")).filter(Boolean);if(n.length>=2)return[n[0][0],n[1][0]].map(this.normalizeAvatarLetter);const e=Array.from(n[0]||text);return e.length>2?[e[0],e[e.length-1]].map(this.normalizeAvatarLetter):e.map(this.normalizeAvatarLetter)},avatarFullname(){const n=this.avatarLetters;return n.length>=2?n[0]+" "+n[1]:this.fullnameText},color(){return this.themeName==l.x?this.toColorDark(this.avatarColorKey):this.toColorLight(this.avatarColorKey)}},methods:{logAvatarTrace(n){c.a.warn("USER_DISPLAY_TRACE avatar",{event:n,fullname:this.fullname,fullnameText:this.fullnameText,avatarFullname:this.avatarFullname,avatarLetters:this.avatarLetters,avatarId:this.avatarId,imageUri:this.imageUri,prefix:this.prefix,size:this.size,themeName:this.themeName,color:this.color})},onImageLoad(){this.logAvatarTrace("image-load")},onImageError(){this.logAvatarTrace("image-error")},isAvatarLetter:n=>/\p{L}/u.test(String(n||"")),normalizeAvatarLetter:n=>String(n||"").toUpperCase(),toColor(n,e){let t=0;if(!n)return"black";for(const e of n.split(""))t=(t<<8-t)+e.charCodeAt(0);let r=t,o=r%360;return o+=120,o>360&&(o-=360),r=Math.floor(r/360),`hsl(${o}, ${50+r%50}%, ${e}%`},toColorDark(n){return this.toColor(n,8)},toColorLight(n){return this.toColor(n,40)}}},f=(t(628),t(5)),component=Object(f.a)(d,function(){var n=this,e=n._self._c;return n.imageUri?e("img",{staticClass:"avatar-image avatar-no-select",style:n.avatarStyle,attrs:{src:n.imageUri,alt:"",draggable:"false"},on:{load:n.onImageLoad,error:n.onImageError}}):n.iconUri?e("img",{staticClass:"avatar-image avatar-no-select",style:n.avatarStyle,attrs:{src:n.iconUri,alt:"",draggable:"false"}}):n.text?e("div",{staticClass:"avatar-text-circle avatar-no-select",style:n.textCircleStyle},[n._v(n._s(n.text))]):e("avatar",{staticClass:"avatar-no-select",style:n.avatarStyle,attrs:{fullname:this.avatarFullname,size:this.size,color:n.color}})},[],!1,null,"a243a8d2",null);e.default=component.exports;installComponents(component,{Avatar:t(32).default})},,,function(n,e,t){"use strict";t.d(e,"c",function(){return c}),t.d(e,"b",function(){return f}),t.d(e,"a",function(){return m}),t.d(e,"d",function(){return h});var r=t(0);t(2).get("interchat:translate.ts");const o=!0,l="google-free";function c(){return o&&"off"!==l}let d="";function f(n){return n?String(n).toLowerCase().split(/[-_]/)[0]:""}function m(text,n){if(!text)return!0;let e=function(n){let e=f(n);return["ru","uk","be","bg","sr","mk","kk","ky","mn","tg"].indexOf(e)>=0?"cyr":["en","de","es","fr","it","pt","pl","nl","tr","id","cs","ro","sv","da","fi","nb"].indexOf(e)>=0?"lat":"other"}(n);if("other"===e)return!1;let t=function(text){let n=(text.match(/[Ѐ-ӿ]/g)||[]).length,e=(text.match(/[A-Za-z]/g)||[]).length;return 0===n&&0===e?"other":n>=e?"cyr":"lat"}(text);return"other"===t||t===e}async function h(text,n){if(d="",!c()||!text||!n)return d="disabled/empty",null;let e=f(n);return"google-free"===l?w(text,e):null}function v(n){let e=function(n){let e="undefined"!=typeof window?window:null;return e&&e.cordova&&e.cordova.exec?new Promise((t,r)=>{try{e.cordova.exec(n=>t({status:n&&n.status?n.status:0,text:n&&n.body?n.body:""}),n=>r(new Error(n?String(n):"native")),"NativeDevicePlugin","httpGet",[n])}catch(n){r(n)}}):null}(n);return e||new Promise((e,t)=>{try{let r=new XMLHttpRequest;r.open("GET",n,!0),r.timeout=12e3,r.onreadystatechange=function(){4===r.readyState&&e({status:r.status,text:r.responseText||""})},r.ontimeout=function(){t(new Error("timeout"))},r.onerror=function(){t(new Error("network"))},r.send()}catch(n){t(n)}})}const x=["translate.googleapis.com","clients5.google.com","translate.google.com"];async function w(text,n){let path="/translate_a/single?client=gtx&dt=t&sl=auto&tl="+encodeURIComponent(n)+"&q="+encodeURIComponent(text),e=[];for(let i=0;i=300){e.push(t+"="+r.status);continue}try{data=JSON.parse(r.text)}catch(n){e.push(t+"=parseFail");continue}if(!Array.isArray(data)||!Array.isArray(data[0])){e.push(t+"=badShape");continue}let o=data[0].map(n=>n&&n[0]?n[0]:"").join(""),l="string"==typeof data[2]?data[2]:"",c="number"==typeof data[6]?data[6]:0;return{text:o,sourceLang:f(l),targetLang:f(n),confidence:c}}catch(n){e.push(t+"="+(n&&n.message?n.message:"err"))}}return d=e.join(" "),r.a.warn("KT-0213 translate allFailed "+d),null}},,,function(n,e,t){"use strict";t.r(e),t.d(e,"SetIncomingFiles",function(){return k}),t.d(e,"HasIncomingFiles",function(){return y}),t.d(e,"TakeIncomingFiles",function(){return _}),t.d(e,"AppendIncomingFile",function(){return C}),t.d(e,"SetAutoFileSelect",function(){return I}),t.d(e,"GoToTransferToUser",function(){return T});t(2).get("interchat:users:transfer.vue");var r=t(0),o=t(59),l=t(11),c=t(10),d=t(138),f=t.n(d),m=t(63),h=t(19);t(2).get("interchat:users:transfer.vue");var v=function(n,e,t,desc){var r,o=arguments.length,l=o<3?e:null===desc?desc=Object.getOwnPropertyDescriptor(e,t):desc;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(n,e,t,desc);else for(var i=n.length-1;i>=0;i--)(r=n[i])&&(l=(o<3?r(l):o>3?r(e,t,l):r(e,t))||l);return o>3&&l&&Object.defineProperty(e,t,l),l};c.d.use(f.a);let x=null,w=!1;function k(n,e=!1){x=n,w=e}function y(){return!(!x||!x.length)}function _(){let n=x?Array.prototype.slice.call(x):[];return x=null,w=!1,n}let S=0;function C(n,e=!1){let t=Date.now(),r=x&&t-S<8e3?Array.prototype.slice.call(x):[];S=t,r.some(e=>e.name===n.name&&e.size===n.size)||r.push(n),x=r,w=e}let E=!1;function I(n){E=n}var A;function T(n){return{path:"/users/transfer",query:{userId:n}}}!function(n){n[n.SELECTING=0]="SELECTING",n[n.SENDING=1]="SENDING"}(A||(A={}));let O=class extends c.d{constructor(){super(...arguments),this.state=A.SELECTING,this.userId=null,this.fileList=null,this.fileSend=null}get fileFirst(){return this.fileList?this.fileList[0]:null}get user(){return this.userId&&this.users?this.users[this.userId]:null}get userNumber(){return Object(h.e)(this.user)}get isFileChoose(){return this.state==A.SELECTING}get isSending(){return this.state==A.SENDING}created(){this.userId=this.$route.query.userId,this.$parent.$emit("update:opponent",this.user),this.$parent.$emit("update:showBackButton",!0),this.$parent.$emit("update:showMenuButton",!1)}mounted(){if(x){this.fileList=x;let n=w;x=null,w=!1,n&&this.$nextTick(()=>this.doSend())}if(E){this.$refs.fileSelect.doClickFileInput(),E=!1}}handleDrop(data,n){n.preventDefault(),n.dataTransfer&&(this.fileList=n.dataTransfer.files)}doBack(){this.$store.dispatch("screen/restoreAppViewport"),this.$router.replace(Object(m.GoToChatWithUser)(this.userId)),this.$nextTick(()=>this.$store.dispatch("screen/restoreAppViewport")),setTimeout(()=>this.$store.dispatch("screen/restoreAppViewport"),250)}getFirstFile(){if(!this.fileList)return;let n=this.fileList[0];if(n){if(n.size)return n;alert("Can not send file with zero size")}}async doAbort(){this.fileSend=null,this.state=A.SELECTING}async doSend(){let n=this.getFirstFile();n&&(r.a.warn("ANDROID_SHARE_TRACE transfer doSend",{name:n.name,size:n.size,type:n.type}),this.state=A.SENDING,this.fileSend=n)}async onFinish(n,e){n&&e&&(await this.sendMessageToChat(n,e),await this.$store.dispatch("platformDevice/onFileUpload",{fileName:n.name,fileSize:n.size,fileContent:n}),this.fileSend=null,this.fileList=null,await this.$store.dispatch("screen/restoreAppViewport"),this.doBack())}async sendMessageToChat(n,e){if(!this.fileSend)throw new Error("need set fileSend");let t=this.userId,body=JSON.stringify({name:n.name,size:n.size,crypto:e});await this.$store.dispatch("sendMessageToOpponent",{opponentId:t,body:body,type:"file",silent:!1,crypt:!0})}onFileListChange(){this.state=A.SELECTING}onUserChanged(n){this.$parent.$emit("update:opponent",this.user)}};v([Object(c.e)("fileList")],O.prototype,"onFileListChange",null),v([Object(c.e)("user")],O.prototype,"onUserChanged",null),O=v([Object(c.a)({middleware:["auth"],computed:{...Object(l.b)({online:"online"}),...Object(l.c)("Users",{users:"users"})},components:{},layout:"back",transition:o.a})],O);var M=O,N=t(5),component=Object(N.a)(M,function(){var n=this,e=n._self._c;n._self._setupProxy;return e("div",{staticClass:"container border-t flex flex-1 h-full"},[e("drop",{staticClass:"w-full h-full flex flex-col items-center",on:{drop:n.handleDrop}},[e("h1",{staticClass:"font-hairline my-3 text-center"},[n._v(n._s(n.$t("Send file to user",{name:n.userNumber})))]),n._v(" "),n.fileSend?n._e():e("FileSelect",{ref:"fileSelect",staticClass:"w-full",attrs:{file_list:n.fileList},on:{"update:file_list":function(e){n.fileList=e},send:n.doSend,back:n.doBack}}),n._v(" "),n.fileSend?e("FileSending",{staticClass:"w-full",attrs:{file:n.fileSend},on:{abort:n.doAbort,finish:n.onFinish}}):n._e()],1)],1)},[],!1,null,"7a5a455a",null);e.default=component.exports;installComponents(component,{FileSelect:t(867).default,FileSending:t(869).default})},function(n,e,t){"use strict";t.r(e),t.d(e,"default",function(){return d});var r=t(8),o=t(0),l=t(29),c=t(86);t(2).get("interchat:FileShare:TransferMessages.ts");class d{static async signalDirectSend(n,e){return o.a.debug("send signal ",e),d.sendMessage({type:l.MessageType.SIGNAL,signal:e,userId:n})}static async sendMessage(n){return n&&(n.appInstanceId=Object(c.a)(),o.a.log("app instance id = ",n.appInstanceId)),o.a.debug("Send transfer-message",n),r.a.emitAsync("transfer-message",n)}static sendMessageRequest(n,e){return d.sendMessage({type:l.MessageType.REQUEST,userId:n,payload:e})}static sendMessageAnswer(n,e){return d.sendMessage({type:l.MessageType.ANSWER,userId:n,error:e})}static sendMessageAnswerSelf(n,e){return d.sendMessage({type:l.MessageType.ANSWER_SELF,userId:n,payload:e})}static sendMessageAscend(n){return d.sendMessage({type:l.MessageType.ASC,userId:n})}static sendMessageHung(n,e,t=void 0){return d.sendMessage({type:l.MessageType.HUNG,userId:n,error:t,reason:e})}static sendMessageDone(n){return d.sendMessage({type:l.MessageType.DONE,userId:n})}}d.REASON_BUSY="busy"},,,function(n,e,t){"use strict";t.d(e,"a",function(){return d}),t.d(e,"b",function(){return m}),t.d(e,"c",function(){return h});var r=t(0),o=t(9);t(2).get("interchat:localUserData");const l="local_user_name_";function c(n){let e=Object(o.c)()||"anon";return l+e+"_"+n}function d(n){let e={name:"",bg:""};try{let data=localStorage.getItem(c(n));data&&(e=JSON.parse(data))}catch(n){r.a.error("error user local ",n)}return e}function f(n,e){!function(n,data){localStorage.setItem(c(n),JSON.stringify(data))}(n,{...d(n),...e})}function m(n,e){f(n,{name:e})}function h(){let n={};try{let e=Object(o.c)()||"anon",t=l+e+"_";for(let i=0;i0&&(n[r]=data.name)}catch(n){}}}catch(n){r.a.error("UserLocalNamesGetAll error",n)}return n}},function(n,e,t){"use strict";t.d(e,"a",function(){return r}),t.d(e,"b",function(){return o});t(2).get("interchat:tools:TimerCollection.ts");class r{constructor(n,time){this.cb=n,this.interval=!1,this.timer=null,this.timeout=time}isStarted(){return null!=this.timer}start(){return this.interval?this.timer=setInterval(this.fired.bind(this),this.timeout):this.timer=setTimeout(this.fired.bind(this),this.timeout),this}repeat(){return this.interval=!0,this}fired(){this.interval||this.clear(),this.cb&&this.cb()}clear(){this.timer&&(this.interval?clearInterval(this.timer):clearTimeout(this.timer),this.timer=null)}}class o{constructor(){this.timers={}}addTimer(n,e){this.clearTimer(n),e.name=n,e.isStarted()||e.start(),this.timers[n]=e}clearTimer(n){const e=this.timers[n];e&&(e.clear(),delete this.timers[n])}clearAll(){for(const n in this.timers){if(!this.timers.hasOwnProperty(n))continue;this.timers[n].clear()}this.timers={}}}},function(n,e,t){"use strict";t.d(e,"e",function(){return c}),t.d(e,"b",function(){return f}),t.d(e,"d",function(){return m}),t.d(e,"a",function(){return h}),t.d(e,"c",function(){return v});t(14);var r=t(9);t(2).get("interchat:localPins.ts");const o="ksitalkPins:";function l(n){let e="";try{e=Object(r.c)()||""}catch(n){}return o+e+":"+n}function c(n){if(!n)return[];try{let e=localStorage.getItem(l(n)),t=e?JSON.parse(e):[];return Array.isArray(t)?t:[]}catch(n){return[]}}function d(n,e){try{localStorage.setItem(l(n),JSON.stringify(e))}catch(n){}}function f(n,e){return c(n).some(p=>p.id===e)}function m(){let n=[];try{let e="";try{e=Object(r.c)()||""}catch(n){}let t=o+e+":";for(let i=0;ip.id===n.id)||(n.pinnedAt=Date.now(),e.unshift(n),d(n.conversationId,e))}function v(n,e){n&&e&&d(n,c(n).filter(p=>p.id!==e))}},function(n,e,t){"use strict";t.d(e,"c",function(){return c}),t.d(e,"b",function(){return f}),t.d(e,"d",function(){return v}),t.d(e,"e",function(){return k}),t.d(e,"a",function(){return S}),t.d(e,"f",function(){return E});var r=t(0),o=t(200),l=(t(330),t(12));t(2).get("interchat:webstream");async function c(){if(!navigator)throw new Error("No navigator defined");if(!navigator.mediaDevices)throw new Error("No navigator.mediaDevices defined");if(!navigator.mediaDevices.enumerateDevices)throw new Error("No navigator.mediaDevices.enumerateDevices defined");const n=await navigator.mediaDevices.enumerateDevices();r.a.debug("Get devices",n);let e="audioinput",t=[e,"AVCaptureDeviceTypeBuiltInMicrophone"];const o=n.filter(n=>t.includes(n.kind)),l=n.filter(n=>"audiooutput"===n.kind),c=n.filter(n=>"videoinput"===n.kind);return o.forEach(n=>{n.kind!=e&&(n.kind=e)}),{inputDevices:o,outputDevices:l,videoInputDevices:c}}function d(n,e){if(!n)return null;let t=n.find(n=>n.deviceId==e);return t||null}function f(n){localStorage.setItem("ic_"+n.kind,n.deviceId)}function m(){return localStorage&&localStorage.getItem("ic_audioinput")}function h(){return localStorage&&localStorage.getItem("ic_videoinput")}async function v(){let n={inputDevice:null,outputDevice:null,videoInputDevice:null},{inputDevices:e,outputDevices:t,videoInputDevices:r}=await c();return n.inputDevice=d(e,m()),n.outputDevice=d(t,localStorage&&localStorage.getItem("ic_audiooutput")),n.videoInputDevice=d(r,h()),n}async function x(){let{inputDevices:n}=await c();r.a.debug("Input audio devices = ",n);let e=null;return e=d(n,m()),e||(function(){if("undefined"==typeof navigator)return!1;const n=navigator.userAgent||"";return/iPad|iPhone|iPod/.test(n)||-1!=n.indexOf("Macintosh")&&"undefined"!=typeof document&&"ontouchend"in document}()?null:(e=n.find(n=>"Headset earpiece"==n.label),e||n[n.length-1]))}async function w(){let n=await async function(){let{videoInputDevices:n}=await c();return r.a.debug("Input video devices = ",n),d(n,h())||null}();return n&&""===n.deviceId&&(n=void 0),!n||{deviceId:{ideal:n.deviceId}}}function k(){return new(window.AudioContext||window.webkitAudioContext)}async function y({videoOn:n,allowRestricts:e,makeSimple:t}){const o={video:!0},l={audio:!0};let c;if(!c&&t&&(c={audio:!0}),!c)try{c=await async function(){let n=await x();return n&&""===n.deviceId&&(n=void 0),{audio:!n||{deviceId:{ideal:n.deviceId}}}}()}catch(n){r.a.warn("failed get constrains ",n),r.a.debug("Using default constrains"),c=l}if(n)try{c={...c,video:await w()}}catch(n){r.a.warn("failed get video constrains ",n),c={...c,...o}}if(e){const n={sampleSize:8,echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:16e3,channelCount:1};let e=navigator.mediaDevices.getSupportedConstraints();r.a.debug("Supported constrains:",e),c.audio={...c.audio,...n}}return c}async function _(n){try{r.a.debug("Getting user media with constraints",n);var e=await navigator.mediaDevices.getUserMedia(n);r.a.debug("Success local stream.");try{e.getTracks().forEach(track=>{r.a.log("get local track capabilities: ",track.getCapabilities())})}catch(n){r.a.warn("Error get getCapabilities ",n)}return e}catch(n){throw r.a.error("Error get user media",n),n}}async function S(n,e){let t=new Error("no stages passed! should never happen.");for(let o=0;o<4;o++)try{if(0==o){if(!n)continue;return await _(n)}let t={videoOn:e};1==o?t={...t,allowRestricts:!0,makeSimple:!1}:2==o?t={...t,allowRestricts:!1,makeSimple:!1}:3==o&&(t={...t,allowRestricts:!1,makeSimple:!0});let r=await y(t),c=e?l.j.ECHO_CANCELLATION_NATIVE_VIDEO_DISABLE:l.j.ECHO_CANCELLATION_NATIVE_DISABLE;if(Object(l.s)(c)){let audio=r.audio;!0===audio&&(audio={}),audio={...audio,echoCancellation:!1},r.audio=audio}return await _(r)}catch(n){if(t=n,e&&C(n))try{r.a.warn("Video input device not found, retrying with audio only",n);let e=await y({videoOn:!1,allowRestricts:!1,makeSimple:!0});return await _(e)}catch(n){t=n}continue}throw t}function C(n){return!!n&&("NotFoundError"===n.name||"DevicesNotFoundError"===n.name||"OverconstrainedError"===n.name||/device not found/i.test(n.message||""))}function E(n){n.getTracks().forEach(track=>{track.stop&&track.stop(),n.removeTrack&&n.removeTrack(track)})}r.a.debug("Browser details: ",o.a.browserDetails)},,,function(n,e,t){"use strict";t.r(e),t.d(e,"default",function(){return f});var r=t(8),o=t(0),l=t(30),c=t(86),d=t(18);t(2).get("interchat:Call:CallMessages.ts");class f{static signalDirectSend(n,e){o.a.debug("send signal ",e),f.sendMessage({type:l.MessageType.SIGNAL,signal:e,userId:n})}static async sendMessage(n){return n&&(n.appInstanceId=Object(c.a)()),o.a.debug("Send Call-message",n),await r.a.emitAsync(d.a.CALL_MESSAGE,n)}static async sendMessageRequest(n,e){let t=e;return t.usersId=e.callInfo.userIds,t.callId=e.callInfo.callId,t.videoMode=e.callInfo.video,f.sendMessage({type:l.MessageType.REQUEST,userId:n,payload:t})}static async sendMessageAnswer(n,e){return f.sendMessage({type:l.MessageType.ANSWER,userId:n,error:e})}static async sendMessageAnswerSelf(n,e){return f.sendMessage({type:l.MessageType.ANSWER_SELF,userId:n,payload:e})}static async sendMessageAscend(n){return f.sendMessage({type:l.MessageType.ASC,userId:n})}static async sendMessageHung(n,e,t,r){return f.sendMessage({type:l.MessageType.HUNG,userId:n,error:t,reason:e,connectionStatus:r})}}f.REASON_BUSY="busy"},,function(n,e,t){"use strict";t.r(e),t.d(e,"DoFilePathSet",function(){return o}),t.d(e,"DoFilePathGet",function(){return l});t(2).get("interchat:fileTransfer:FilePathStore.ts");function r(n){return"filePath_"+n}function o(n,path){n&&localStorage.setItem(r(n),path)}function l(n){return n?localStorage.getItem(r(n)):null}},,,,function(n,e,t){"use strict";t.r(e);t(2).get("interchat:activator:ActivatorInitial.vue");var r=t(11),o=t(1);t(2).get("interchat:activator:ActivatorInitial.vue");var l={name:"ActivatorInitial",components:{},computed:{...Object(r.b)({appActivated:"appActivated"})},mounted(){this.appActivated||this.$nextTick(this.doActivate)},methods:{doActivate(){o.b.$emit(o.a.ACTIVATE,{})}}},c=t(5),component=Object(c.a)(l,function(){return(0,this._self._c)("span")},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.r(e);t(2).get("interchat:Alert.vue");var r=t(1);t(2).get("interchat:Alert.vue");var o={data:()=>({title:"",text:""}),created(){r.b.$on(r.a.MODAL_SHOW,data=>this.onShow(data.title,data.text)),r.b.$on(r.a.MODAL_HIDE,this.onClose)},methods:{onShow(title,text){try{"undefined"!=typeof document&&document.activeElement&&document.activeElement.blur&&document.activeElement.blur(),"undefined"!=typeof window&&window.scrollTo(0,0)}catch(n){}this.title=title?title.toString():"",this.text=text?text.toString():"",this.setVisible(!0)},onClose(){this.setVisible(!1),this.title="",this.text=""},setVisible(n){const e=document.querySelector(".modal");null!=e&&(e.classList.toggle("opacity-0",!1===n),e.classList.toggle("pointer-events-none",!1===n));const body=document.querySelector("body");null!=body&&body.classList.toggle("modal-active",n)}}},l=(t(624),t(5)),component=Object(l.a)(o,function(){var n=this,e=n._self._c;return e("div",{staticClass:"modal opacity-0 pointer-events-none fixed w-full h-full top-0 flex z-50 px-4 items-center justify-center"},[e("div",{staticClass:"modal-overlay absolute w-full h-full bg-gray-900 opacity-50",on:{click:n.onClose}}),n._v(" "),e("div",{staticClass:"modal-container alert-modal__box w-full md:max-w-md mx-auto shadow-lg z-50 overflow-y-auto"},[e("div",{staticClass:"modal-content py-4 text-left px-6"},[e("div",{staticClass:"flex justify-between items-center pb-3"},[e("p",{staticClass:"text-xl font-bold alert-modal__title"},[n._v(n._s(n.title))]),n._v(" "),e("div",{staticClass:"modal-close alert-modal__close cursor-pointer z-50",on:{click:n.onClose}},[e("svg",{staticClass:"fill-current",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18"}},[e("path",{attrs:{d:"M14.53 4.53l-1.06-1.06L9 7.94 4.53 3.47 3.47 4.53 7.94 9l-4.47 4.47 1.06 1.06L9 10.06l4.47 4.47 1.06-1.06L10.06 9z"}})])])]),n._v(" "),e("div",[n._v(n._s(n.text))]),n._v(" "),e("div",{staticClass:"flex justify-end pt-2"},[e("button",{staticClass:"modal-close btn bg-blue-light px-6 my-1",on:{click:n.onClose}},[n._v(n._s(n.$t("Close")))])])])])])},[],!1,null,null,null);e.default=component.exports},function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:tools:FileSize.ts");function r(n,e=2){const t=["B","KB","MB","GB","TB"];let r=Math.max(n,0),o=Math.floor((r?Math.log(r):0)/Math.log(1024));return o=Math.min(o,t.length-1),r/=Math.pow(1024,o),r.toFixed(e)+t[o]}},,,function(n,e,t){"use strict";t.d(e,"a",function(){return r});t(2).get("interchat:transitionLeftRight");function r(n,e){return e?{name:e.path<=n.path?"slide-left":"slide-right",mode:"out-in"}:"page"}},,,function(n,e,t){"use strict";t.r(e),t.d(e,"doStartCallSingle",function(){return o}),t.d(e,"doStartCallMulti",function(){return l}),t.d(e,"ShowErrorWrap",function(){return c});var r=t(1);t(2).get("interchat:Call:startCall.ts");async function o(n,e,t){return c(async()=>n("Call/start",{callUserID:e,videoMode:t}))}async function l(n,e,t){return c(async()=>n("Call/startMany",{usersId:e,videoMode:t}))}async function c(n){try{await n()}catch(n){n.message?Object(r.c)(n.message):Object(r.c)("Unknown error")}}},function(n,e,t){"use strict";t.r(e),t.d(e,"GoToChatWithUser",function(){return m});t(2).get("interchat:chats:index.vue");var r=t(221),o=t(152),l=t(11),c=t(0),d=t(59),f=t(38);t(1);t(2).get("interchat:chats:index.vue");function m(n,e){return{path:"/chats/",query:Object.assign({userId:n},e||{})}}var h={name:"chat-view-id",middleware:["auth"],components:{UserList:r.default,Chat:o.default},transition:d.a,layout:"back",data:()=>({opponentId:null,switchOpened:!1}),computed:{...Object(l.b)({online:"online"}),...Object(l.c)("Users",{users:"users"}),...Object(l.c)({conversations:"conversations",userOpponents:"userOpponents",userConversationsOpponents:"userConversationsOpponents"}),recipient(){return this.users?this.users[this.opponentId]:null},userConversationMy(){return this.userOpponents?this.userOpponents[this.opponentId]:null},userConversationOpponent(){return this.userConversationsOpponents?this.userConversationsOpponents[this.conversationId]:null},conversationId(){return this.userConversationMy?this.userConversationMy.conversationId:null},conversation(){return this.conversations?this.conversations[this.conversationId]:null}},async created(){this.opponentId=this.$route.query.userId,this.$parent.$emit("update:showBackButton",!0),this.$parent.$emit("update:showMenuButton",!0)},async beforeMount(){this.$parent.$emit("update:opponent",this.recipient),this.online&&await this.switchConversation()},async beforeDestroy(){this.conversationMute(!1)},methods:{handleDrop(data,n){n.dataTransfer&&(Object(f.SetIncomingFiles)(n.dataTransfer.files),this.$router.push(Object(f.GoToTransferToUser)(this.recipient.id)))},async conversationMute(n){let e=n?this.conversationId:null;await this.$store.dispatch("platformDevice/notificationMuteConversation",{conversationId:e})},addUser(){this.$router.push(this.localePath("/inviteUser"))},async switchConversation(){this.opponentId=this.$route.query.userId,c.a.debug("switchConversation ",this.opponentId);try{c.a.log("switchConversation",this.opponentId),await this.$store.dispatch("switchConversation",this.opponentId),await this.$store.dispatch("markConversationReadAll"),await this.conversationMute(!0),this.switchOpened=!0}catch(n){c.a.warn("switchConversation not ready yet",n&&n.message),this.$route.query.userId?this._deepLinkFallback||(this._deepLinkFallback=setTimeout(()=>{this.switchOpened||this.$router.push(this.localePath("/"))},12e3)):this.conversations&&Object.keys(this.conversations).length&&this.$router.push(this.localePath("/"))}},conversationClean(n){confirm("Remove all messages?")&&this.$store.dispatch("sendConversationClean",n)},goBack(){this.$router.push(this.localePath("/"))}},watch:{"$route.query.userId":function(n,e){n&&n!==e&&(this._deepLinkFallback&&(clearTimeout(this._deepLinkFallback),this._deepLinkFallback=null),this.switchOpened=!1,this.opponentId=n,this.switchConversation())},async online(n){n&&(await this.switchConversation(),await this.$store.dispatch("markConversationReadAll"))},conversations(){!this.switchOpened&&this.$route.query.userId&&this.switchConversation()},async conversationId(){this.conversationMute(!0)},recipient(n){this.$parent.$emit("update:opponent",this.recipient)}}},v=t(5),component=Object(v.a)(h,function(){var n=this,e=n._self._c;return e("drop",{staticClass:"container border-t flex flex-1 h-full overflow-hidden w-full",on:{drop:n.handleDrop}},[e("chat",{staticClass:"w-full h-full overflow-hidden",attrs:{conversation:n.conversation,recipient:n.recipient,userConversationOpponent:n.userConversationOpponent,userConversationMy:n.userConversationOpponent},on:{conversationClean:n.conversationClean,goBack:n.goBack}})],1)},[],!1,null,null,null);e.default=component.exports;installComponents(component,{Chat:t(152).default})},function(n,e,t){"use strict";t.d(e,"b",function(){return l}),t.d(e,"a",function(){return c}),t.d(e,"c",function(){return d});t(2).get("interchat:replyFormat.ts");const r="R",o="";function l(title,n,body){return r+(title||"")+o+(n||"")+o+(body||"")}function c(body){if(!function(body){return"string"==typeof body&&0===body.indexOf(r)}(body))return null;const n=String(body).slice(r.length).split(o);return{title:n[0]||"",quote:n[1]||"",text:n.slice(2).join(o)}}function d(body){const n=c(body);return n?n.text:"string"==typeof body?body:""}},function(n,e,t){"use strict";(function(n){t.d(e,"d",function(){return f}),t.d(e,"f",function(){return S}),t.d(e,"e",function(){return E}),t.d(e,"i",function(){return T}),t.d(e,"j",function(){return O}),t.d(e,"l",function(){return R}),t.d(e,"h",function(){return F}),t.d(e,"g",function(){return U}),t.d(e,"k",function(){return z}),t.d(e,"b",function(){return $}),t.d(e,"m",function(){return B}),t.d(e,"a",function(){return J});t(14);var r=t(1),o=t(0),l=t(45),c=t(116);t(2).get("interchat:globalAudio.ts");let d,f;const m=!0,h=!1;function v(n,e=[]){try{const t="undefined"!=typeof window?window:null;t&&t.cordova&&t.cordova.exec&&t.cordova.exec(function(){},function(){},"NativeDevicePlugin",n,e)}catch(e){o.a.warn("nativeExec failed",n,e)}}function x(){try{const n="undefined"!=typeof window?window:null;if(!n||!n.cordova||!n.cordova.exec)return!1;const e="undefined"!=typeof navigator&&navigator.userAgent?navigator.userAgent:"";return/Android/i.test(e)}catch(n){return!1}}function w(){try{const n="undefined"!=typeof window?window:null;if(n&&n.cordova&&n.cordova.exec)return!1;const nav="undefined"!=typeof navigator?navigator:null;if(!nav)return!1;const e=nav.userAgent||"",t=/iPhone|iPod/i.test(e),r=/iPad/i.test(e)||/Macintosh/i.test(e)&&(nav.maxTouchPoints||0)>1;return t||r}catch(n){return!1}}o.a.log(" SOUND_USE_WEB_AUDIO = ",m),o.a.log(" process.env.SOUND_USE_WEB_AUDIO = ","1");let k="/";async function y(){if(d)return;d=document.createElement("audio"),d.setAttribute("class","hidden"),d.setAttribute("loop","1"),o.a.debug("globalPlayer play");let n=d.play();n&&n.then(()=>{o.a.debug("global player play")}).catch(n=>{let e=n.message;o.a.error("global player err ",e,n)}),document.body.appendChild(d),o.a.debug("globalPlayer set"),r.b.$emit(r.a.PLAYER_SET,{})}async function _(n){if(o.a.log("globalPlayerPlayStream"),d&&n){o.a.log("Play stream use player"),d.srcObject=n;try{let n=d.play();n&&await n}catch(n){o.a.error("startPlayerStream",n)}}else o.a.warn("globalPlayerPlayStream error no globalPlayer or stream")}async function S(){if(d)try{d.pause(),d.currentTime=0,d.src="",d.srcObject=null}catch(n){}}async function C(){f||(f=Object(l.e)(),f&&(o.a.debug("creating audio context state",f.state),"suspended"===f.state&&await f.resume(),await async function(n){G=n.createMediaStreamDestination(),await Promise.all(Object.keys(X).map(async e=>{let t=X[e];o.a.log("Load sound ",e,t);try{V[e]=await async function(n,e){o.a.log("Load sound url ",e);let t=(await Object(c.a)(e,{withCredentials:!1,responseType:"arraybuffer"})).response;return await n.decodeAudioData(t)}(n,t),o.a.log("Load sound finished ",e,t)}catch(n){o.a.error("Error createSoundBuffer ",t,"error = ",n)}})),o.a.log("Load sound finished")}(f),r.b.$emit(r.a.AUDIO_CONTEXT_SET,{})))}async function E(){await async function(){f&&(await f.close(),f=null)}(),await C()}e.c=async({app:n})=>{o.a.log("register EEvents.ACTIVATE handler"),n&&n.router&&n.router.options&&(k=n.router.options.base),r.b.$on(r.a.ACTIVATE,async({})=>{o.a.log("on EEvents.ACTIVATE for globalAudio"),await y(),m&&await C()})};n.env.DISABLE_OUTPUT_MIXER;let I,A;async function T(n){return o.a.log("outputStreamPlay"),h&&x()?(o.a.warn("KT-0090 voice via element (android)"),_(n)):m?(o.a.log("outputStreamPlay use WEb audio"),void(f&&(B(),O(),I=f.createMediaStreamSource(n),I&&(A=f.createGain(),I.connect(A),A.connect(f.destination),I.start&&I.start())))):(o.a.log("outputStreamPlay use Player"),_(n))}async function O(){return h&&x()?S():m?(I&&(I.disconnect(),I=null),void(A&&(A.disconnect(),A=null))):S()}const M=!0;let N=null,D=null;function R(n){if(M&&w()&&m&&f&&n&&!N)try{"suspended"===f.state&&f.resume().catch(()=>{}),N=f.createMediaStreamSource(n),D=f.createGain(),D.gain.value=0,N.connect(D),D.connect(f.destination),o.a.warn("KT-0206 voiceSessionPrimeStart (ios-web outgoing earpiece)")}catch(n){o.a.error("KT-0206 voiceSessionPrimeStart failed",n),B()}}const P=!0,L=.012;let j=!1;function F(){j=!1}function U(n){try{if(!P||!w()||!f)return;if(j)return;const e=f,t="number"==typeof e.outputLatency?e.outputLatency:null;if(null==t||t>L)return;const track=n&&n.getAudioTracks&&n.getAudioTracks()[0];if(!track)return void o.a.warn("KT-0206b correct: no mic track");j=!0,o.a.warn("KT-0206b correct: SPEAKER, mute→unmute mic",{before:t}),track.enabled=!1,setTimeout(()=>{try{track.enabled=!0}catch(n){}setTimeout(()=>{const n="number"==typeof e.outputLatency?e.outputLatency:null;o.a.warn("KT-0206b correct: after",{before:t,after:n,route:null!=n&&n>L?"EAR":"SPEAKER"})},900)},200)}catch(n){o.a.warn("KT-0206b correct failed",n)}}async function z(){try{const n="undefined"!=typeof window?window:null,e=n&&(n.AudioContext||n.webkitAudioContext);if(!e)return null;let p=null;try{p=new e}catch(n){return null}try{"suspended"===p.state&&await p.resume()}catch(n){}await new Promise(n=>setTimeout(n,120));const t="number"==typeof p.outputLatency?p.outputLatency:null;try{await p.close()}catch(n){}return t}catch(n){return null}}function $(){const n=f,e=d,path=h&&x()||!m?"element(