voximplant-websdk
Version:
VoxImplant Web SDK for embedding voice and video communication into web applications.
2 lines • 414 kB
JavaScript
(function() {
var root = this;var VoxImplant;VoxImplant=(()=>{var e={6143:function(e,t){!function(e){"use strict";e.createStatelessFSM=(e,t,n,r)=>{const i={context:n,prevValue:null,get value(){return e.value},set value(t){e.value=t},states:t,transition(e){null==r||r.log("FSM: received event",e);const t=this.states[this.value][e];if(!t)return null==r||r.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==r||r.log("FSM: there are not state changes"),!1):(null==r||r.log(`FSM: transition from ${this.value} to ${e}`),this.prevValue=this.value,this.value=e,this.value)}catch(e){return null==r||r.error(`FSM: transition failed, rollback to ${this.value} state`),!1}}},a=(e,t)=>{if(null==r||r.log("FSM: handling unknown state"),!e)throw Error("Transitions from unknown state are not provided");let n=null;for(const i in e){const a=e[i];if(null==a?void 0:a(t)){null==r||r.log(`FSM: the state ${i} matches conditions`),n=i;break}}if(!n){const e="FSM: cannot make transition from unknown state";throw null==r||r.error(e),Error(e)}return n};return i},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(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},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 r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},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 r=n(18),i=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,r){void 0===r&&(r=!1);var i=e.getVersionPrecision(t),a=e.getVersionPrecision(n),s=Math.max(i,a),o=0,c=e.map([t,n],(function(t){var n=s-e.getVersionPrecision(t),r=t+new Array(n+1).join(".0");return e.map(r.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(r&&(o=s-Math.min(i,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,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n<e.length;n+=1)r.push(t(e[n]));return r},e.find=function(e,t){var n,r;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(n=0,r=e.length;n<r;n+=1){var i=e[n];if(t(i,n))return i}},e.assign=function(e){for(var t,n,r=e,i=arguments.length,a=new Array(i>1?i-1:0),s=1;s<i;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){r[t]=e[t]}))};for(t=0,n=a.length;t<n;t+=1)o();return e},e.getBrowserAlias=function(e){return r.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return r.BROWSER_MAP[e]||""},e}();t.default=i,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 r,i=(r=n(91))&&r.__esModule?r:{default:r},a=n(18);function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o=function(){function e(){}var t,n,r;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 i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,r=[{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),r&&s(t,r),e}();t.default=o,e.exports=t.default},91:function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=c(n(92)),i=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(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.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(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.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={},r=0,i={},a=0;if(Object.keys(e).forEach((function(t){var s=e[t];"string"==typeof s?(i[t]=s,a+=1):"object"==typeof s&&(n[t]=s,r+=1)})),r>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(i),h=o.default.find(u,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var n=this.getBrowserName().toLowerCase(),r=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(r);return t&&i&&(r=i.toLowerCase()),r===n},t.compareVersion=function(e){var t=[0],n=e,r=!1,i=this.getBrowserVersion();if("string"==typeof i)return">"===e[0]||"<"===e[0]?(n=e.substr(1),"="===e[1]?(r=!0,n=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?n=e.substr(1):"~"===e[0]&&(r=!0,n=e.substr(1)),t.indexOf(o.default.compareVersions(i,n,r))>-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 r,i=(r=n(17))&&r.__esModule?r:{default:r},a=/version\/(\d+(\.?_?\d+)+)/i,s=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},n=i.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},n=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},n=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},n=i.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},n=i.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},n=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},n=i.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},n=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||i.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=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},n=i.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=i.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=i.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=i.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},n=i.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},n=i.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=i.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},n=i.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},n=i.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=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(a,e)||i.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=i.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},n=i.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},n=i.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},n=i.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=i.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return n&&(t.version=n),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},n=i.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=i.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},n=i.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=i.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=i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},n=i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},n=i.default.getFirstMatch(a,e);return n&&(t.version=n),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.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 r,i=(r=n(17))&&r.__esModule?r:{default:r},a=n(18),s=[{test:[/Roku\/DVP/],describe:function(e){var t=i.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=i.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=i.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),n=i.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=i.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return n&&(t.version=n),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),n=i.default.getMacOSVersionName(t),r={name:a.OS_MAP.MacOS,version:t};return n&&(r.versionName=n),r}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.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=i.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),n=i.default.getAndroidVersionName(t),r={name:a.OS_MAP.Android,version:t};return n&&(r.versionName=n),r}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.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=i.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||i.default.getFirstMatch(/\bbb(\d+)/i,e);return{name:a.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:a.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.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=i.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 r,i=(r=n(17))&&r.__esModule?r:{default:r},a=n(18),s=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(e){var t=i.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=i.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 r,i=(r=n(17))&&r.__esModule?r:{default:r},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=i.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=i.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=i.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=i.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=i.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 r=n(209),i=n(7998),a=n(1150),s=n(4106),o=n(2957),c=n(141),d=n(125),l=n(245),g="The agent status update failed by timeout.",u="You try to perform multiple ACD operations at the same time. This can lead to an unexpected behavior of the application.",h="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.",p="Wrong status name {0}";class f{static get newUUID(){return(new r.default).toString()+"_"+f._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=>{e.reject(new Error("Failed to get or set status. Connection to the Voximplant Cloud is closed."))}))},onSignalingConnected(){},onSignalingConnectionFailed(){},onMediaConnectionFailed(){}})}static setStatus(e){return new Promise(((t,n)=>{f._checkBeforeRun(i.OperatorACDStatuses[e],n);const r=f.newUUID;l.default.callRemoteFunction(s.RemoteFunction.setOperatorACDStatus,e,r),this._acdRequests.push({resolve:t,reject:n,timer:window.setTimeout((()=>{f._acdRequests=f._acdRequests.filter((e=>e.uuid!==r)),n(g)}),58e3),uuid:r,status:e})}))}static getStatus(){return new Promise(((e,t)=>{f._checkBeforeRun(void 0,t);const n=f.newUUID;l.default.callRemoteFunction(s.RemoteFunction.getOperatorACDStatus,n),this._acdRequests.push({resolve:e,reject:t,timer:window.setTimeout((()=>{f._acdRequests=f._acdRequests.filter((e=>e.uuid!==n)),t(g)}),58e3),uuid:n})}))}static onError(e,t,n){const{actor:r,actorIdx:i}=f._getActorByUUID(e);r&&(clearTimeout(r.timer),r.reject(new Error(o.Utils.strFormat(p,r.status||"get operation"))),f._acdRequests.splice(0,i+1))}static onStatusUpdated(e,t,n){f._checkConnectionId(t);const{actor:r,actorIdx:i}=f._getActorByUUID(t);if(r){if(clearTimeout(r.timer),0!==i)for(let t=0;t<i;t++)clearTimeout(f._acdRequests[t].timer),f._acdRequests[t].reject(new Error(o.Utils.strFormat("The {0} status is set in the code after {1}. The {0} status is ignored.",r.status||"get operation",e)));void 0===r.status||r.status===e?r.resolve(e):r.reject(new Error(o.Utils.strFormat("The {0} status is not acceptable for the current agent state. The agent is {1} now. Please, check the ACD module documentation for details.",r.status,e))),f._acdRequests.splice(0,i+1)}d.Client.getInstance().dispatchEvent({name:c.Events.ACDStatusUpdated,id:f._getConnectonIdFromUUID(t),status:e,description:n})}static _checkBeforeRun(e,t){f._connectionId||t(new Error("You cannot get or set an agent status before login.")),f._acdRequests.length>0&&(a.LogManager.get().writeMessage(a.LogCategory.CLIENT,"ACD",a.LogLevel.WARNING,u),d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:5,message:u})),void 0===e||Object.values(i.OperatorACDStatuses).includes(e)||t(new Error(o.Utils.strFormat(p,e)))}static _getActorByUUID(e){let t=-1;return{actor:this._acdRequests.find(((n,r)=>{if(n.uuid===e)return t=r,!0})),actorIdx:t}}static _getConnectonIdFromUUID(e){const t=e.split("_");return 1===t.length||"gw"===t[1]?f._connectionId:t[1]}static _checkConnectionId(e){const t=e.split("_");1!==t.length&&t[1]===f._connectionId?.split("_")[0]||(d.Client.getInstance().dispatchEvent({name:c.Events.ACDError,code:6,message:h}),a.LogManager.get().writeMessage(a.LogCategory.CLIENT,"ACD",a.LogLevel.WARNING,h))}}t.default=f,f._acdRequests=[],f._isInitialised=!1,f.init()},2089:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(209),i=n(7998),a=n(1150),s=n(4106),o=n(2957),c=n(141),d=n(125),l=n(245),g="The agent status update failed by timeout.",u="You try to perform multiple ACD operations at the same time. This can lead to an unexpected behavior of the application.",h="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.",p="Wrong status name {0}";class f{static get newUUID(){return(new r.default).toString()+"_"+f._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=>{e.reject(new Error("Failed to get or set status. Connection to the Voximplant Cloud is closed."))}))},onSignalingConnected(){},onSignalingConnectionFailed(){},onMediaConnectionFailed(){}})}static setStatus(e){return new Promise(((t,n)=>{f._checkBeforeRun(i.OperatorACDStatuses[e],n);const r=f.newUUID;l.default.callRemoteFunction(s.RemoteFunction.setOperatorMessagingStatus,e,r),this._acdRequests.push({resolve:t,reject:n,timer:window.setTimeout((()=>{f._acdRequests=f._acdRequests.filter((e=>e.uuid!==r)),n(g)}),58e3),uuid:r,status:e})}))}static getStatus(){return new Promise(((e,t)=>{f._checkBeforeRun(void 0,t);const n=f.newUUID;l.default.callRemoteFunction(s.RemoteFunction.getOperatorMessagingStatus,n),this._acdRequests.push({resolve:e,reject:t,timer:window.setTimeout((()=>{f._acdRequests=f._acdRequests.filter((e=>e.uuid!==n)),t(g)}),58e3),uuid:n})}))}static onError(e,t,n){const{actor:r,actorIdx:i}=f._getActorByUUID(e);r&&(clearTimeout(r.timer),r.reject(new Error(o.Utils.strFormat(p,r.status||"get operation"))),f._acdRequests.splice(0,i+1))}static onStatusUpdated(e,t,n){f._checkConnectionId(t);const{actor:r,actorIdx:i}=f._getActorByUUID(t);if(r){if(clearTimeout(r.timer),0!==i)for(let t=0;t<i;t++)clearTimeout(f._acdRequests[t].timer),f._acdRequests[t].reject(new Error(o.Utils.strFormat("The {0} status is set in the code after {1}. The {0} status is ignored.",r.status||"get operation",e)));void 0===r.status||r.status===e?r.resolve(e):r.reject(new Error(o.Utils.strFormat("The {0} status is not acceptable for the current agent state. The agent is {1} now. Please, check the ACD module documentation for details.",r.status,e))),f._acdRequests.splice(0,i+1)}d.Client.getInstance().dispatchEvent({name:c.Events.SQMessagingStatusUpdated,id:f._getConnectonIdFromUUID(t),status:e,description:n})}static _checkBeforeRun(e,t){f._connectionId||t(new Error("You cannot get or set an agent status before login.")),f._acdRequests.length>0&&(a.LogManager.get().writeMessage(a.LogCategory.CLIENT,"ACD",a.LogLevel.WARNING,u),d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:5,message:u})),void 0===e||Object.values(i.OperatorACDStatuses).includes(e)||t(new Error(o.Utils.strFormat(p,e)))}static _getActorByUUID(e){let t=-1;return{actor:this._acdRequests.find(((n,r)=>{if(n.uuid===e)return t=r,!0})),actorIdx:t}}static _getConnectonIdFromUUID(e){const t=e.split("_");return 1===t.length||"gw"===t[1]?f._connectionId:t[1]}static _checkConnectionId(e){const t=e.split("_");1!==t.length&&t[1]===f._connectionId?.split("_")[0]||(d.Client.getInstance().dispatchEvent({name:c.Events.SQError,code:6,message:h}),a.LogManager.get().writeMessage(a.LogCategory.CLIENT,"ACD",a.LogLevel.WARNING,h))}}t.default=f,f._acdRequests=[],f._isInitialised=!1,f.init()},3947:function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,s=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(s=(a<3?i(s):a>3?i(t,n,s):i(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 i=n(1150),a=n(7998),s=n(84),o=n(4106),c=n(575),d=n(125),l=n(9091),g=n(4758),u=n(2089),h=n(245),p=n(2957);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.basicLoginDefaultOptions={passwordDigestAlgorithm:a.DigestAlgorithm.MD5},this.currentState=f.IDLE,this.logger=i.LogManager.get().createLogger(i.LogCategory.SIGNALING,this._traceName()),h.default.setRPCHandler(c.RemoteEvent.loginFailed,((e,t)=>{this.onLoginFailed(e,t)})),h.default.setRPCHandler(c.RemoteEvent.loginSuccessful,((e,t)=>{this.onLoginSuccesful(e,t)})),h.default.setRPCHandler(c.RemoteEvent.refreshOauthTokenFailed,(e=>{this.handler.onRefreshTokenFailed(e)})),h.default.setRPCHandler(c.RemoteEvent.refreshOauthTokenSuccessful,(e=>{this.handler.onRefreshTokenSuccess(e.OAuth)})),h.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,s.PCFactory.get().iceConfig=t.iceConfig,l.default.setConnectionId(t.connectionId),u.default.setConnectionId(t.connectionId),d.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 r={...this.basicLoginDefaultOptions,...n},{passwordDigestAlgorithm:i}=r;delete r.passwordDigestAlgorithm;const s=`${e.split("@")[0]}:voximplant.com:${t}`;switch(i.toLowerCase()){case a.DigestAlgorithm.MD5:{const t=g.Md5.hashStr(s).toString();h.default.callRemoteFunction(o.RemoteFunction.login,e,t,{...r,credentialType:i.toLowerCase()});break}case a.DigestAlgorithm.SHA256:p.Utils.sha256(s).then((t=>{h.default.callRemoteFunction(o.RemoteFunction.login,e,t,{...r,credentialType:i.toLowerCase()})}));break;default:throw this.currentState=f.IDLE,new Error(`Unknown digest algorithm type ${i}. Should be one of: ${Object.values(a.DigestAlgorithm)}`)}}tokenLogin(e,t){this.currentState==f.IDLE?(this._username=e,this.currentState=f.IN_PROGRESS,h.default.callRemoteFunction(o.RemoteFunction.login,e,"",t)):this.logger.error("Login operation already in progress")}tokenRefresh(e,t,n){n?h.default.callRemoteFunction(o.RemoteFunction.refreshOauthToken,e,{refreshToken:t,deviceToken:n}):h.default.callRemoteFunction(o.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,h.default.callRemoteFunction(o.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,h.default.callRemoteFunction(o.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,h.default.callRemoteFunction(o.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"}}r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"setHandler",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"onLoginFailed",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"onLoginSuccesful",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"basicLogin",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"tokenLogin",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"tokenRefresh",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"loginUsingOneTimeKey",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"loginStage2",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"generateOneTimeKey",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"username",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"authorized",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"onSignalingConnected",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"onSignalingConnectionFailed",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"onSignalingClosed",null),r([i.LogManager.d_trace(i.LogCategory.AUTHENTICATOR)],m.prototype,"onMediaConnectionFailed",null),t.Authenticator=m},3869:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1150),i=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 r=e;return"object"!=typeof r&&(r={}),r[t]={ideal:n},r}!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.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&&r.LogManager.get().writeMessage(r.LogCategory.RTC,"Core",r.LogLevel.INFO,"Detected browser "+t[n]),e.getDTMFSender=h,e.screenSharingSupported=p,n){case t.Firefox:e.attachMedia=i.FF.attachStream,e.detachMedia=i.FF.detachStream,e.getScreenMedia=i.FF.getScreenMedia,e.getRTCStats=i.FF.getRTCStats,e.screenSharingSupported=i.FF.screenSharingSupported,e.getDTMFSender=i.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:r.LogManager.get().writeMessage(r.LogCategory.RTC,"Core",r.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 r=n(9551),i=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 i.LogManager.get().writeMessage(i.LogCategory.USERMEDIA,"[constraints]",i.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|$)/,i=navigator.userAgent;if(n.test(i)){if(+n.exec(i)[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 r.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 r=n(9551),i=n(1150);class a{static attachStream(e){try{e.element.srcObject=e.stream}catch(t){i.LogManager.get().writeMessage(i.LogCategory.USERMEDIA,"Safari: ",i.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 r.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 r=[];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,r.push(t)}})),t({raw:r,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 r=n(4106),i=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)&&i.default.callRemoteFunction(r.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 r=n(9551),i=n(125),a=n(1150);class s{static attachStream(e){let t=e.element;try{t.srcObject=e.stream;const n=i.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 r.SignalingDTMFSender(t);{let t=[];if(e.getLocalStreams().forEach((e=>{e.getAudioTracks().forEach((e=>{t.push(e)}))})),t.length)return e.createDTMFSender(t[0])}}static screenSharingSupported(){return-1!==navigator.userAgent.indexOf("Android")?Promise.resolve(!1):new Promise(((e,t)=>{if(navigator.getDisplayMedia)e(!0);else if(navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia)e(!0);else{const t=r=>{r.origin===window.location.origin&&"VoximplantWebsdkExtensionLoaded"===r.data&&(window.removeEventListener("message",t),clearTimeout(n),e(!0))};window.addEventListener("message",t),window.postMessage("VoximplantWebsdkCheckExtension","*");const n=setTimeout((()=>{window.removeEventListener("message",t),e(!1)}),800)}}))}static getScreenMedia(e=!1){return navigator.getDisplayMedia?navigator.getDisplayMedia({video:!0,audio:e}):navigator.mediaDevices&&navigator.mediaDevices.getDisplayMedia?navigator.mediaDevices.getDisplayMedia({video:!0,audio:e}):new Promise(((t,n)=>{window.postMessage("voximplantWebsdkGetSourceId","*");const r=i=>{if(i.data&&i.origin===window.location.origin&&i.data.result){if("err"===i.data.result)return n(new Error(i.data.reason));if("ok"===i.data.result&&void 0!==i.data.sourceId){window.removeEventListener("message",r);const s={audio:e,video:{mandatory:{chromeMediaSource:"desktop",maxWidth:screen.width>1920?screen.width:1920,maxHeight:screen.height>1080?screen.height:1080,chromeMediaSourceId:i.data.sourceId},optional:[{googTemporalLayeredScreencast:!0}]}};a.LogManager.get().writeMessage(a.LogCategory.USERMEDIA,"[constraints]",a.LogLevel.INFO,JSON.stringify(s)),navigator.mediaDevices.getUserMedia(s).then((e=>{t(e)}),(e=>{n(e)}))}}};window.addEventListener("message",r)}))}static getRTCStats(e){return new Promise(((t,n)=>{let r=[];e.getStats(null).then((e=>{e.forEach((e=>{"outbound-rtp"!=e.type&&"inbound-rtp"!=e.type||r.push(e)})),t({raw:r,formatted:s.prepareRTCStats(e)})})).catch(n)}))}static prepareRTCStats(e){let t=[];return e.forEach((e=>{"inbound-rtp"===e.type&&e.isRemote?t.push(Object.assign(e,{type:"remote-inbound-rtp"})):"outbound-rtp"===e.type&&e.isRemote?t.push(Object.assign(e,{type:"remote-outbound-rtp"})):t.push(e)})),t}_traceName(){return"Webkit"}}t.Webkit=s},4610:function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var i,a=arguments.length,s=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Ref