voximplant-websdk
Version:
VoxImplant Web SDK for embedding voice and video communication into web applications.
2 lines • 429 kB
JavaScript
(function() {
var root = this;var VoxImplant;VoxImplant=(()=>{var e={6143:function(e,t){!function(e){"use strict";e.createStatelessFSM=(e,t,n,i)=>{const r={context:n,prevValue:null,get value(){return e.value},set value(t){e.value=t},states:t,transition(e){null==i||i.log("FSM: received event",e);const t=this.states[this.value][e];if(!t)return null==i||i.warn(`FSM: there is no state for transition on ${this.value} state`),!1;try{const e="unknown"===t?a(this.states.unknown,this.context):t;return e===this.value?(null==i||i.log("FSM: there are not state changes"),!1):(null==i||i.log(`FSM: transition from ${this.value} to ${e}`),this.prevValue=this.value,this.value=e,this.value)}catch(e){return null==i||i.error(`FSM: transition failed, rollback to ${this.value} state`),!1}}},a=(e,t)=>{if(null==i||i.log("FSM: handling unknown state"),!e)throw Error("Transitions from unknown state are not provided");let n=null;for(const r in e){const a=e[r];if(null==a?void 0:a(t)){null==i||i.log(`FSM: the state ${r} matches conditions`),n=r;break}}if(!n){const e="FSM: cannot make transition from unknown state";throw null==i||i.error(e),Error(e)}return n};return r},Object.defineProperty(e,"__esModule",{value:!0})}(t)},6185:function(e,t){!function(e){"use strict";class t{constructor(e){this.content=e,this.observers=new Set}notify(){for(const e of this.observers)e(this.content)}watch(e){this.observers.add(e)}unwatch(e){this.observers.delete(e)}clear(){this.observers.clear()}get value(){return this.content}set value(e){this.content=e,this.notify()}}e.obs=e=>new t(e),Object.defineProperty(e,"__esModule",{value:!0})}(t)},1206:function(e){e.exports=function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=90)}({17:function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var i=n(18),r=function(){function e(){}return e.getFirstMatch=function(e,t){var n=t.match(e);return n&&n.length>0&&n[1]||""},e.getSecondMatch=function(e,t){var n=t.match(e);return n&&n.length>1&&n[2]||""},e.matchAndReturnConst=function(e,t,n){if(e.test(t))return n},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},e.getMacOSVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},e.getAndroidVersionName=function(e){var t=e.split(".").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?"Cupcake":1===t[0]&&t[1]>=6?"Donut":2===t[0]&&t[1]<2?"Eclair":2===t[0]&&2===t[1]?"Froyo":2===t[0]&&t[1]>2?"Gingerbread":3===t[0]?"Honeycomb":4===t[0]&&t[1]<1?"Ice Cream Sandwich":4===t[0]&&t[1]<4?"Jelly Bean":4===t[0]&&t[1]>=4?"KitKat":5===t[0]?"Lollipop":6===t[0]?"Marshmallow":7===t[0]?"Nougat":8===t[0]?"Oreo":9===t[0]?"Pie":void 0},e.getVersionPrecision=function(e){return e.split(".").length},e.compareVersions=function(t,n,i){void 0===i&&(i=!1);var r=e.getVersionPrecision(t),a=e.getVersionPrecision(n),s=Math.max(r,a),o=0,c=e.map([t,n],(function(t){var n=s-e.getVersionPrecision(t),i=t+new Array(n+1).join(".0");return e.map(i.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(i&&(o=s-Math.min(r,a)),s-=1;s>=o;){if(c[0][s]>c[1][s])return 1;if(c[0][s]===c[1][s]){if(s===o)return 0;s-=1}else if(c[0][s]<c[1][s])return-1}},e.map=function(e,t){var n,i=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n<e.length;n+=1)i.push(t(e[n]));return i},e.find=function(e,t){var n,i;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(n=0,i=e.length;n<i;n+=1){var r=e[n];if(t(r,n))return r}},e.assign=function(e){for(var t,n,i=e,r=arguments.length,a=new Array(r>1?r-1:0),s=1;s<r;s++)a[s-1]=arguments[s];if(Object.assign)return Object.assign.apply(Object,[e].concat(a));var o=function(){var e=a[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){i[t]=e[t]}))};for(t=0,n=a.length;t<n;t+=1)o();return e},e.getBrowserAlias=function(e){return i.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return i.BROWSER_MAP[e]||""},e}();t.default=r,e.exports=t.default},18:function(e,t,n){"use strict";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0,t.BROWSER_ALIASES_MAP={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},t.BROWSER_MAP={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},t.PLATFORMS_MAP={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},t.OS_MAP={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},t.ENGINE_MAP={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"}},90:function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var i,r=(i=n(91))&&i.__esModule?i:{default:i},a=n(18);function s(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var o=function(){function e(){}var t,n,i;return e.getParser=function(e,t){if(void 0===t&&(t=!1),"string"!=typeof e)throw new Error("UserAgent should be a string");return new r.default(e,t)},e.parse=function(e){return new r.default(e).getResult()},t=e,i=[{key:"BROWSER_MAP",get:function(){return a.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return a.ENGINE_MAP}},{key:"OS_MAP",get:function(){return a.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return a.PLATFORMS_MAP}}],(n=null)&&s(t.prototype,n),i&&s(t,i),e}();t.default=o,e.exports=t.default},91:function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var i=c(n(92)),r=c(n(93)),a=c(n(94)),s=c(n(95)),o=c(n(17));function c(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||""===e)throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=o.default.find(i.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=o.default.find(r.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||"":t||""},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||"":t||""},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=o.default.find(a.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=o.default.find(s.default,(function(t){if("function"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error("Browser's test function is not valid")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return o.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,n={},i=0,r={},a=0;if(Object.keys(e).forEach((function(t){var s=e[t];"string"==typeof s?(r[t]=s,a+=1):"object"==typeof s&&(n[t]=s,i+=1)})),i>0){var s=Object.keys(n),c=o.default.find(s,(function(e){return t.isOS(e)}));if(c){var d=this.satisfies(n[c]);if(void 0!==d)return d}var l=o.default.find(s,(function(e){return t.isPlatform(e)}));if(l){var g=this.satisfies(n[l]);if(void 0!==g)return g}}if(a>0){var u=Object.keys(r),h=o.default.find(u,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(r[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var n=this.getBrowserName().toLowerCase(),i=e.toLowerCase(),r=o.default.getBrowserTypeByAlias(i);return t&&r&&(i=r.toLowerCase()),i===n},t.compareVersion=function(e){var t=[0],n=e,i=!1,r=this.getBrowserVersion();if("string"==typeof r)return">"===e[0]||"<"===e[0]?(n=e.substr(1),"="===e[1]?(i=!0,n=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?n=e.substr(1):"~"===e[0]&&(i=!0,n=e.substr(1)),t.indexOf(o.default.compareVersions(r,n,i))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var i,r=(i=n(17))&&i.__esModule?i:{default:i},a=/version\/(\d+(\.?_?\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},n=r.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},n=r.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},n=r.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},n=r.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},n=r.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},n=r.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},n=r.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},n=r.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},n=r.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},n=r.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},n=r.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},n=r.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},n=r.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},n=r.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},n=r.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return n&&(t.version=n),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},n=r.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},n=r.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},n=r.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},n=r.default.getFirstMatch(a,e)||r.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},n=r.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},n=r.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},n=r.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},n=r.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},n=r.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},n=r.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},n=r.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},n=r.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},n=r.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){var t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe:function(e){var t={name:"Android Browser"},n=r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},n=r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},n=r.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:r.default.getFirstMatch(t,e),version:r.default.getSecondMatch(t,e)}}}];t.default=s,e.exports=t.default},93:function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var i,r=(i=n(17))&&i.__esModule?i:{default:i},a=n(18),s=[{test:[/Roku\/DVP/],describe:function(e){var t=r.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:a.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=r.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:a.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=r.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),n=r.default.getWindowsVersionName(t);return{name:a.OS_MAP.Windows,version:t,versionName:n}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:a.OS_MAP.iOS},n=r.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return n&&(t.version=n),t}},{test:[/macintosh/i],describe:function(e){var t=r.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),n=r.default.getMacOSVersionName(t),i={name:a.OS_MAP.MacOS,version:t};return n&&(i.versionName=n),i}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=r.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:a.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),n=e.test(/android/i);return t&&n},describe:function(e){var t=r.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),n=r.default.getAndroidVersionName(t),i={name:a.OS_MAP.Android,version:t};return n&&(i.versionName=n),i}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=r.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),n={name:a.OS_MAP.WebOS};return t&&t.length&&(n.version=t),n}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t=r.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||r.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||r.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:a.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=r.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:a.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=r.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:a.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:a.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:a.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=r.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:a.OS_MAP.PlayStation4,version:t}}}];t.default=s,e.exports=t.default},94:function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var i,r=(i=n(17))&&i.__esModule?i:{default:i},a=n(18),s=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=r.default.getFirstMatch(/(can-l01)/i,e)&&"Nova",n={type:a.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(n.model=t),n}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:a.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),n=e.test(/like (ipod|iphone)/i);return t&&!n},describe:function(e){var t=r.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:a.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:a.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:a.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:a.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(".")[0]);return"android"===e.getOSName(!0)&&t>=3},describe:function(){return{type:a.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:a.PLATFORMS_MAP.tv}}}];t.default=s,e.exports=t.default},95:function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var i,r=(i=n(17))&&i.__esModule?i:{default:i},a=n(18),s=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:a.ENGINE_MAP.Blink};var t=r.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:a.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:a.ENGINE_MAP.Trident},n=r.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:a.ENGINE_MAP.Presto},n=r.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:function(e){var t=e.test(/gecko/i),n=e.test(/like gecko/i);return t&&!n},describe:function(e){var t={name:a.ENGINE_MAP.Gecko},n=r.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:a.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:a.ENGINE_MAP.WebKit},n=r.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}}];t.default=s,e.exports=t.default}})},9091:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(209),r=n(7998),a=n(1150),s=n(4106),o=n(2957),c=n(141),d=n(125),l=n(245),g=n(6765);class u{static get newUUID(){return(new i.default).toString()+"_"+u._connectionId}static setConnectionId(e){this._connectionId=e}static removeConnectionId(){this._connectionId=void 0}static init(){this._isInitialised||(this.registerSignallingWatcher(),this._isInitialised=!0)}static registerSignallingWatcher(){l.default.addHandler({onSignalingClosed:()=>{this.removeConnectionId(),this._acdRequests.forEach((e=>{d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.ConnectionClosed,message:g.ACD_ERR_8,action:e.action,status:e.status}),e.reject(new Error(g.ACD_ERR_8))}))},onSignalingConnected(){},onSignalingConnectionFailed(){},onMediaConnectionFailed(){}})}static setStatus(e,t){return new Promise(((n,i)=>{u._checkBeforeRun(r.OperatorACDStatuses[e],i);const a=u.newUUID,o={...{...g.ACD_DEFAULT_OPTIONS,...t},status:e,uuid:a};l.default.callRemoteFunction(s.RemoteFunction.setOperatorACDStatus,o),this._acdRequests.push({resolve:n,action:"setStatus",reject:i,timer:window.setTimeout((()=>{const e=u._acdRequests.find((e=>e.uuid===a));e&&d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.FailedByTimeout,message:g.ACD_ERR_4,action:e.action,status:e.status}),u._acdRequests=u._acdRequests.filter((e=>e.uuid!==a)),i(g.ACD_ERR_4)}),g.ACD_TIMEOUT),uuid:a,status:String(e)})}))}static getStatus(){return new Promise(((e,t)=>{u._checkBeforeRun(void 0,t);const n=u.newUUID;l.default.callRemoteFunction(s.RemoteFunction.getOperatorACDStatus,n),this._acdRequests.push({resolve:e,action:"getStatus",reject:t,timer:window.setTimeout((()=>{const e=u._acdRequests.find((e=>e.uuid===n));e&&d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.FailedByTimeout,message:g.ACD_ERR_4,action:e.action,status:e.status}),u._acdRequests=u._acdRequests.filter((e=>e.uuid!==n)),t(g.ACD_ERR_4)}),g.ACD_TIMEOUT),uuid:n})}))}static onError(e,t,n){const{actor:i,actorIdx:a}=u._getActorByUUID(e);if(i){clearTimeout(i.timer);const e=o.Utils.strFormat(g.ACD_ERR_7,i.status||"get operation");d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.WrongStatus,message:e,action:i.action,status:i.status}),i.reject(new Error(e)),u._acdRequests.splice(0,a+1)}}static onStatusUpdated(e,t,n){u._checkConnectionId(t,e);const{actor:i,actorIdx:a}=u._getActorByUUID(t);if(i){if(clearTimeout(i.timer),0!==a)for(let t=0;t<a;t++){clearTimeout(u._acdRequests[t].timer);const n=o.Utils.strFormat(g.ACD_ERR_3,i.status?String(i.status):"get operation",e);d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.StatusWillBeIgnored,message:n,action:i.action,status:i.status}),u._acdRequests[t].reject(new Error(n))}if(void 0===i.status||String(i.status)===e)i.resolve(e);else{const t=o.Utils.strFormat(g.ACD_ERR_2,i.status,e);d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.IncorrectStatus,message:t,action:i.action,status:i.status}),i.reject(new Error(t))}u._acdRequests.splice(0,a+1)}d.Client.getInstance().dispatchEvent({name:c.Events.ACDStatusUpdated,id:u._getConnectonIdFromUUID(t),status:e,description:n})}static _checkBeforeRun(e,t){if(!u._connectionId)return d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.NotLoggedIn,message:g.ACD_ERR_1,status:e,action:e?"setStatus":"getStatus"}),void t(new Error(g.ACD_ERR_1));if(u._acdRequests.length>0&&(a.LogManager.get().writeMessage(a.LogCategory.CLIENT,"ACD",a.LogLevel.WARNING,g.ACD_ERR_5),d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.MultipleOperations,message:g.ACD_ERR_5,status:e,action:e?"setStatus":"getStatus"})),void 0!==e&&!Object.values(r.OperatorACDStatuses).includes(e)){const n=o.Utils.strFormat(g.ACD_ERR_7,e);d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.WrongStatus,message:n,status:e,action:"setStatus"}),t(new Error(n))}}static _getActorByUUID(e){let t=-1;return{actor:this._acdRequests.find(((n,i)=>{if(n.uuid===e)return t=i,!0})),actorIdx:t}}static _getConnectonIdFromUUID(e){const t=e.split("_");return 1===t.length||"gw"===t[1]?u._connectionId:t[1]}static _checkConnectionId(e,t){const n=e.split("_");1!==n.length&&n[1]===u._connectionId?.split("_")[0]||(d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:r.ACDErrorCode.MultipleCredentials,message:g.ACD_ERR_6,action:"setStatus",status:t}),a.LogManager.get().writeMessage(a.LogCategory.CLIENT,"ACD",a.LogLevel.WARNING,g.ACD_ERR_6))}}t.default=u,u._acdRequests=[],u._isInitialised=!1,u.init()},2089:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(209),r=n(7998),a=n(1150),s=n(4106),o=n(2957),c=n(141),d=n(125),l=n(6765),g=n(245);class u{static get newUUID(){return(new i.default).toString()+"_"+u._connectionId}static setConnectionId(e){this._connectionId=e}static removeConnectionId(){this._connectionId=void 0}static init(){this._isInitialised||(this.registerSignallingWatcher(),this._isInitialised=!0)}static registerSignallingWatcher(){g.default.addHandler({onSignalingClosed:()=>{this.removeConnectionId(),this._acdRequests.forEach((e=>{d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:r.ACDErrorCode.ConnectionClosed,message:l.ACD_ERR_8,action:e.action,status:e.status}),e.reject(new Error(l.ACD_ERR_8))}))},onSignalingConnected(){},onSignalingConnectionFailed(){},onMediaConnectionFailed(){}})}static setStatus(e,t){return new Promise(((n,i)=>{u._checkBeforeRun(r.OperatorACDStatuses[e],i);const a=u.newUUID,o={...{...l.ACD_DEFAULT_OPTIONS,...t},status:e,uuid:a};g.default.callRemoteFunction(s.RemoteFunction.setOperatorMessagingStatus,o),this._acdRequests.push({resolve:n,action:"setStatus",reject:i,timer:window.setTimeout((()=>{u._acdRequests=u._acdRequests.filter((e=>e.uuid!==a)),i(l.ACD_ERR_4)}),l.ACD_TIMEOUT),uuid:a,status:String(e)})}))}static getStatus(){return new Promise(((e,t)=>{u._checkBeforeRun(void 0,t);const n=u.newUUID;g.default.callRemoteFunction(s.RemoteFunction.getOperatorMessagingStatus,n),this._acdRequests.push({resolve:e,action:"getStatus",reject:t,timer:window.setTimeout((()=>{u._acdRequests=u._acdRequests.filter((e=>e.uuid!==n)),t(l.ACD_ERR_4)}),l.ACD_TIMEOUT),uuid:n})}))}static onError(e,t,n){const{actor:i,actorIdx:a}=u._getActorByUUID(e);if(i){clearTimeout(i.timer);const e=o.Utils.strFormat(l.ACD_ERR_7,i.status||"get operation");d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:r.ACDErrorCode.WrongStatus,message:e,action:i.action,status:i.status}),i.reject(new Error(e)),u._acdRequests.splice(0,a+1)}}static onStatusUpdated(e,t,n){u._checkConnectionId(t,e);const{actor:i,actorIdx:a}=u._getActorByUUID(t);if(i){if(clearTimeout(i.timer),0!==a)for(let t=0;t<a;t++){clearTimeout(u._acdRequests[t].timer);const n=o.Utils.strFormat(l.ACD_ERR_3,i.status?String(i.status):"get operation",e);d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:r.ACDErrorCode.StatusWillBeIgnored,message:n,action:i.action,status:i.status}),u._acdRequests[t].reject(new Error(n))}if(void 0===i.status||String(i.status)===e)i.resolve(e);else{const t=o.Utils.strFormat(l.ACD_ERR_2,i.status,e);d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:r.ACDErrorCode.IncorrectStatus,message:t,action:i.action,status:i.status}),i.reject(new Error(t))}u._acdRequests.splice(0,a+1)}d.Client.getInstance().dispatchEvent({name:c.Events.SQMessagingStatusUpdated,id:u._getConnectonIdFromUUID(t),status:e,description:n})}static _checkBeforeRun(e,t){if(!u._connectionId)return d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:r.ACDErrorCode.NotLoggedIn,message:l.ACD_ERR_1,status:e,action:e?"setStatus":"getStatus"}),void t(new Error(l.ACD_ERR_1));if(u._acdRequests.length>0&&(a.LogManager.get().writeMessage(a.LogCategory.CLIENT,"ACD",a.LogLevel.WARNING,l.ACD_ERR_5),d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:r.ACDErrorCode.MultipleOperations,message:l.ACD_ERR_5,status:e,action:e?"setStatus":"getStatus"})),void 0!==e&&!Object.values(r.OperatorACDStatuses).includes(e)){const n=o.Utils.strFormat(l.ACD_ERR_7,e);d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:r.ACDErrorCode.WrongStatus,message:n,status:e,action:"setStatus"}),t(new Error(n))}}static _getActorByUUID(e){let t=-1;return{actor:this._acdRequests.find(((n,i)=>{if(n.uuid===e)return t=i,!0})),actorIdx:t}}static _getConnectonIdFromUUID(e){const t=e.split("_");return 1===t.length||"gw"===t[1]?u._connectionId:t[1]}static _checkConnectionId(e,t){const n=e.split("_");1!==n.length&&n[1]===u._connectionId?.split("_")[0]||(d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:r.ACDErrorCode.MultipleCredentials,message:l.ACD_ERR_6,action:"setStatus",status:t}),a.LogManager.get().writeMessage(a.LogCategory.CLIENT,"ACD",a.LogLevel.WARNING,l.ACD_ERR_6))}}t.default=u,u._acdRequests=[],u._isInitialised=!1,u.init()},6765:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ACD_DEFAULT_OPTIONS=t.ACD_TIMEOUT=t.ACD_ERR_8=t.ACD_ERR_7=t.ACD_ERR_6=t.ACD_ERR_5=t.ACD_ERR_4=t.ACD_ERR_3=t.ACD_ERR_2=t.ACD_ERR_1=void 0,t.ACD_ERR_1="You cannot get or set an agent status before login.",t.ACD_ERR_2="The {0} status is not acceptable for the current agent state. The agent is {1} now. Please, check the ACD module documentation for details.",t.ACD_ERR_3="The {0} status is set in the code after {1}. The {0} status is ignored.",t.ACD_ERR_4="The agent status update failed by timeout.",t.ACD_ERR_5="You try to perform multiple ACD operations at the same time. This can lead to an unexpected behavior of the application.",t.ACD_ERR_6="You probably use the same credentials in the different browsers or multiple browser’s windows. This error can also occur when you make a request, reload the page and receive response after the page reloads.",t.ACD_ERR_7="Wrong status name {0}",t.ACD_ERR_8="Failed to get or set status. Connection to the Voximplant Cloud is closed.",t.ACD_TIMEOUT=58e3,t.ACD_DEFAULT_OPTIONS={permanent:!1}},3947:function(e,t,n){"use strict";var i=this&&this.__decorate||function(e,t,n,i){var r,a=arguments.length,s=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(s=(a<3?r(s):a>3?r(t,n,s):r(t,n))||s);return a>3&&s&&Object.defineProperty(t,n,s),s};Object.defineProperty(t,"__esModule",{value:!0}),t.Authenticator=t.AuthenticatorState=void 0;const r=n(1150),a=n(84),s=n(4106),o=n(575),c=n(125),d=n(9091),l=n(4758),g=n(2089),u=n(245),h=n(2957),p=n(1493);var f;!function(e){e[e.IDLE=0]="IDLE",e[e.IN_PROGRESS=1]="IN_PROGRESS"}(f=t.AuthenticatorState||(t.AuthenticatorState={}));class m{constructor(){this.FAIL_CODE_SECOND_STAGE=301,this.FAIL_CODE_ONE_TIME_KEY=302,this._displayName=null,this._username=null,this._authorized=!1,this.currentState=f.IDLE,this.logger=r.LogManager.get().createLogger(r.LogCategory.SIGNALING,this._traceName()),u.default.setRPCHandler(o.RemoteEvent.loginFailed,((e,t)=>{this.onLoginFailed(e,t)})),u.default.setRPCHandler(o.RemoteEvent.loginSuccessful,((e,t)=>{this.onLoginSuccesful(e,t)})),u.default.setRPCHandler(o.RemoteEvent.refreshOauthTokenFailed,(e=>{this.handler.onRefreshTokenFailed(e)})),u.default.setRPCHandler(o.RemoteEvent.refreshOauthTokenSuccessful,(e=>{this.handler.onRefreshTokenSuccess(e.OAuth)})),u.default.addHandler(this)}static get(){return void 0===this.inst&&(this.inst=new m),this.inst}setHandler(e){this.handler=e}onLoginFailed(e,t){switch(this.currentState=f.IDLE,e){case this.FAIL_CODE_ONE_TIME_KEY:this.handler.onOneTimeKeyGenerated(t);break;case this.FAIL_CODE_SECOND_STAGE:this.handler.onSecondStageInitiated();break;default:this.handler.onLoginFailed(e)}}onLoginSuccesful(e,t){this.currentState=f.IDLE,this._authorized=!0,a.PCFactory.get().iceConfig=t.iceConfig,d.default.setConnectionId(t.connectionId),g.default.setConnectionId(t.connectionId),c.Client.getInstance().setConnectionData(null,t.connectionId),this._displayName=e,this.handler.onLoginSuccessful(e,t.OAuth)}get displayName(){return this._displayName}basicLogin(e,t,n){if(this.currentState!=f.IDLE)return void this.logger.error("Login operation already in progress");this._username=e,this.currentState=f.IN_PROGRESS;const i=`${e.split("@")[0]}:voximplant.com:${t}`;if(h.Utils.hasFeature(p.featureMap.passwordDigestAlgorithmSha256))return void h.Utils.sha256(i).then((t=>{u.default.callRemoteFunction(s.RemoteFunction.login,e,t,{...n,credentialType:"sha256"})}));const r=l.Md5.hashStr(i).toString();u.default.callRemoteFunction(s.RemoteFunction.login,e,r,{...n,credentialType:"md5"})}tokenLogin(e,t){this.currentState==f.IDLE?(this._username=e,this.currentState=f.IN_PROGRESS,u.default.callRemoteFunction(s.RemoteFunction.login,e,"",t)):this.logger.error("Login operation already in progress")}tokenRefresh(e,t,n){n?u.default.callRemoteFunction(s.RemoteFunction.refreshOauthToken,e,{refreshToken:t,deviceToken:n}):u.default.callRemoteFunction(s.RemoteFunction.refreshOauthToken,e,t)}loginUsingOneTimeKey(e,t,n){this.logger.info("loginWithOneTimeKey running for "+e),this.currentState==f.IDLE?(this._username=e,this.currentState=f.IN_PROGRESS,u.default.callRemoteFunction(s.RemoteFunction.loginUsingOneTimeKey,e,t,n)):this.logger.error("Login operation already in progress. loginWithOneTimeKey is canceled")}loginStage2(e,t,n){this.logger.info("loginWithCode running for "+e),this.currentState==f.IDLE?(this._username=e,this.currentState=f.IN_PROGRESS,u.default.callRemoteFunction(s.RemoteFunction.loginStage2,e,t,n)):this.logger.error("Login operation already in progress. loginWithCode is canceled.")}generateOneTimeKey(e){this.logger.info("requestOneTimeLoginKey running for "+e),this.currentState==f.IDLE?(this.currentState=f.IN_PROGRESS,u.default.callRemoteFunction(s.RemoteFunction.loginGenerateOneTimeKey,e)):this.logger.error("Login operation already in progress. requestOneTimeLoginKey is canceled.")}username(){return this._username}authorized(){return this._authorized}onSignalingConnected(){}onSignalingConnectionFailed(e){}onSignalingClosed(){this.currentState=f.IDLE,this._authorized=!1,this._displayName=null,this._username=null}onMediaConnectionFailed(){this.currentState=f.IDLE}ziAuthorized(e){this._authorized=e}_traceName(){return"Authenticator"}}i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"setHandler",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"onLoginFailed",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"onLoginSuccesful",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"basicLogin",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"tokenLogin",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"tokenRefresh",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"loginUsingOneTimeKey",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"loginStage2",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"generateOneTimeKey",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"username",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"authorized",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"onSignalingConnected",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"onSignalingConnectionFailed",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"onSignalingClosed",null),i([r.LogManager.d_trace(r.LogCategory.AUTHENTICATOR)],m.prototype,"onMediaConnectionFailed",null),t.Authenticator=m},3869:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=n(1150),r=n(9165),a=n(6518),s=n(9551),o=n(9023),c=n(125),d=n(1206);var l;!function(e){let t,n;function l(e,t,n){let i=e;return"object"!=typeof i&&(i={}),i[t]={ideal:n},i}!function(e){e[e.Firefox=1]="Firefox",e[e.Webkit=2]="Webkit",e[e.Edge=3]="Edge",e[e.Safari=4]="Safari"}(t||(t={}));d.getParser(window.navigator.userAgent);function g(){return!(!c.Client.getInstance().config().experiments||!c.Client.getInstance().config().experiments.emulate_ios)||(navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i))}function u(){return!(!c.Client.getInstance().config().experiments||!c.Client.getInstance().config().experiments.emulate_ios)||(navigator.userAgent.match(/iPad/i)||navigator.maxTouchPoints>0&&n===t.Safari)}function h(e,t){return new s.SignalingDTMFSender(t)}function p(){return new Promise((e=>{e(!1)}))}function f(e){let t=!1,n=!1;return e.audioEnabled&&(t=!0,e.audioInputId&&(t=l(t,"deviceId",e.audioInputId))),e.videoEnabled&&(n=!0,e.videoSettings&&(n=e.videoSettings),e.videoInputId&&(n=l(n,"deviceId",e.videoInputId))),{peerIdentity:null,audio:t,video:n}}function m(){n=navigator.mozGetUserMedia?t.Firefox:navigator.webkitGetUserMedia?t.Webkit:t.Safari}e.isIphone=g,e.isIpad=u,e.isSafariIos=function(){return!(!c.Client.getInstance().config().experiments||!c.Client.getInstance().config().experiments.emulate_ios)||"safari"===e.getWSVendor()&&(g()||u())},e.isFirefox=function(){return"firefox"===e.getWSVendor()},e.isScreenSharingSupported=function(){return n===t.Firefox||n===t.Webkit||n===t.Safari&&0===navigator.maxTouchPoints},e.getWSVendor=function(e=!0){switch(n||m(),n){case t.Firefox:return"firefox";case t.Webkit:return"chrome";case t.Safari:return"safari";default:return""}},e.init=function(){switch(n||m(),n&&i.LogManager.get().writeMessage(i.LogCategory.RTC,"Core",i.LogLevel.INFO,"Detected browser "+t[n]),e.getDTMFSender=h,e.screenSharingSupported=p,n){case t.Firefox:e.attachMedia=r.FF.attachStream,e.detachMedia=r.FF.detachStream,e.getScreenMedia=r.FF.getScreenMedia,e.getRTCStats=r.FF.getRTCStats,e.screenSharingSupported=r.FF.screenSharingSupported,e.getDTMFSender=r.FF.getDTMFSender;break;case t.Webkit:e.attachMedia=a.Webkit.attachStream,e.detachMedia=a.Webkit.detachStream,e.getScreenMedia=a.Webkit.getScreenMedia,e.getRTCStats=a.Webkit.getRTCStats,e.screenSharingSupported=a.Webkit.screenSharingSupported,e.getDTMFSender=a.Webkit.getDTMFSender;break;case t.Safari:e.attachMedia=o.Safari.attachStream,e.detachMedia=o.Safari.detachStream,e.getScreenMedia=o.Safari.getScreenMedia,e.getRTCStats=o.Safari.getRTCStats,e.screenSharingSupported=o.Safari.screenSharingSupported,e.getDTMFSender=o.Safari.getDTMFSender;break;default:i.LogManager.get().writeMessage(i.LogCategory.RTC,"Core",i.LogLevel.INFO,"Unsupported browser "+navigator.userAgent)}e.composeConstraints=f}}(l||(l={})),t.default=l},9165:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FF=void 0;const i=n(9551),r=n(1150);class a{static attachStream(e){let t=e.element;void 0===t.srcObject?t.mozSrcObject=e.stream:t.srcObject=e.stream}static detachStream(e){let t=e.element;void 0===t.srcObject?t.mozSrcObject=null:t.srcObject=null,t.src=""}static screenSharingSupported(){return new Promise(((e,t)=>{"https:"==window.location.protocol?e(!0):e(!1)}))}static getScreenMedia(){const e={audio:!1,video:{mediaSource:"window"}};return r.LogManager.get().writeMessage(r.LogCategory.USERMEDIA,"[constraints]",r.LogLevel.TRACE,JSON.stringify(e)),navigator.mediaDevices.getUserMedia(e)}static getRTCStats(e){return new Promise(((t,n)=>{e.getStats(null).then((e=>{let n=[];e.forEach((e=>{"inbound-rtp"!=e.type&&"outbound-rtp"!=e.type||n.push(e)})),t({raw:n,formatted:a.prepareRTCStats(e)})})).catch(n)}))}static prepareRTCStats(e){let t=[];return e.forEach((e=>{"outbound-rtp"===e.type||e.isRemote?t.push(Object.assign(e,{framesPerSecond:e.framesPerSecond?e.framesPerSecond:e.framerateMean,encoderBitrate:e.bitrateMean})):t.push(e)})),t}static getDTMFSender(e,t){const n=/Firefox\/([0-9\.]+)(?:\s|$)/,r=navigator.userAgent;if(n.test(r)){if(+n.exec(r)[1].split(".")[0]>=53){const t=e.getSenders().map((e=>{if(e.track&&"audio"===e.track.kind&&e.dtmf)return e.dtmf}));if(t.length>0)return t[0]}}return new i.SignalingDTMFSender(t)}_traceName(){return"FF"}}t.FF=a},9023:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Safari=void 0;const i=n(9551),r=n(1150);class a{static attachStream(e){try{e.element.srcObject=e.stream}catch(t){r.LogManager.get().writeMessage(r.LogCategory.USERMEDIA,"Safari: ",r.LogLevel.WARNING,`attachStream() has failed: ${JSON.stringify(t)}. MediaRenderer.element is ${e?.element} and MediaRenderer.stream is ${e?.stream}`)}}static detachStream(e){e.pauseElement(),e.element.src=""}static getDTMFSender(e,t){return new i.SignalingDTMFSender(t)}static getScreenMedia(){return navigator.mediaDevices.getDisplayMedia({audio:!1,video:!0})}static screenSharingSupported(){return navigator&&navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia?Promise.resolve(!0):Promise.resolve(!1)}static getRTCStats(e){return new Promise(((t,n)=>{let i=[];e.getStats(null).then((e=>{e.forEach((e=>{if("ssrc"==e.type){let t={};t.id=e.id,t.type=e.type,t.timestamp=e.timestamp,i.push(t)}})),t({raw:i,formatted:a.prepareRTCStats(e)})})).catch(n)}))}static prepareRTCStats(e){let t=[];return e.forEach((e=>{"track"!==e.type||e.kind?"outbound-rtp"===e.type||"inbound-rtp"===e.type?t.push(Object.assign(e,{trackId:e.mediaTrackId})):t.push(e):t.push(Object.assign(e,{kind:e.id.includes("audio")?"audio":e.id.includes("video")?"video":void 0}))})),t}_traceName(){return"Safari"}}t.Safari=a},9551:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SignalingDTMFSender=void 0;const i=n(4106),r=n(245);t.SignalingDTMFSender=class{constructor(e){this._id=e}insertDTMF(e,t,n){(""+e).split("").forEach((e=>this.sendKey(e)))}sendKey(e){let t;t="*"==e?10:"#"==e?11:parseInt(e),(t>=0||t<=11)&&r.default.callRemoteFunction(i.RemoteFunction.sendDTMF,this._id,t)}_traceName(){return"SignalingDTMFSender"}}},6518:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Webkit=void 0;const i=n(9551),r=n(125),a=n(1150);class s{static attachStream(e){let t=e.element;try{t.srcObject=e.stream;const n=r.Client.getInstance()._defaultSinkId;null!=n&&"function"==typeof t.setSinkId&&t.setSinkId(n)}catch(e){a.LogManager.get().writeMessage(a.LogCategory.USERMEDIA,"Webkit: ",a.LogLevel.WARNING,JSON.stringify(e))}}static detachStream(e){e.element.srcObject=null,e.pauseElement(),e.element.src=""}static getDTMFSender(e,t){if(!e.createDTMFSender)return new i.SignalingDTMFSend