index.js 401 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.URTC=t():e.URTC=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=51)}([function(e,t,r){"use strict";r.r(t),r.d(t,"__extends",(function(){return i})),r.d(t,"__assign",(function(){return o})),r.d(t,"__rest",(function(){return a})),r.d(t,"__decorate",(function(){return s})),r.d(t,"__param",(function(){return c})),r.d(t,"__metadata",(function(){return d})),r.d(t,"__awaiter",(function(){return u})),r.d(t,"__generator",(function(){return p})),r.d(t,"__exportStar",(function(){return l})),r.d(t,"__values",(function(){return f})),r.d(t,"__read",(function(){return h})),r.d(t,"__spread",(function(){return m})),r.d(t,"__spreadArrays",(function(){return v})),r.d(t,"__await",(function(){return g})),r.d(t,"__asyncGenerator",(function(){return _})),r.d(t,"__asyncDelegator",(function(){return y})),r.d(t,"__asyncValues",(function(){return b})),r.d(t,"__makeTemplateObject",(function(){return w})),r.d(t,"__importStar",(function(){return S})),r.d(t,"__importDefault",(function(){return E}));
  2. /*! *****************************************************************************
  3. Copyright (c) Microsoft Corporation. All rights reserved.
  4. Licensed under the Apache License, Version 2.0 (the "License"); you may not use
  5. this file except in compliance with the License. You may obtain a copy of the
  6. License at http://www.apache.org/licenses/LICENSE-2.0
  7. THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  8. KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
  9. WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
  10. MERCHANTABLITY OR NON-INFRINGEMENT.
  11. See the Apache Version 2.0 License for specific language governing permissions
  12. and limitations under the License.
  13. ***************************************************************************** */
  14. var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function i(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var o=function(){return(o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function a(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r}function s(e,t,r,n){var i,o=arguments.length,a=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function c(e,t){return function(r,n){t(r,n,e)}}function d(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function u(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){e.done?i(e.value):new r((function(t){t(e.value)})).then(a,s)}c((n=n.apply(e,t||[])).next())}))}function p(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function l(e,t){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}function f(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}function h(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}function v(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),i=0;for(t=0;t<r;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)n[i]=o[a];return n}function g(e){return this instanceof g?(this.v=e,this):new g(e)}function _(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,i=r.apply(e,t||[]),o=[];return n={},a("next"),a("throw"),a("return"),n[Symbol.asyncIterator]=function(){return this},n;function a(e){i[e]&&(n[e]=function(t){return new Promise((function(r,n){o.push([e,t,r,n])>1||s(e,t)}))})}function s(e,t){try{(r=i[e](t)).value instanceof g?Promise.resolve(r.value.v).then(c,d):u(o[0][2],r)}catch(e){u(o[0][3],e)}var r}function c(e){s("next",e)}function d(e){s("throw",e)}function u(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function y(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:g(e[n](t)),done:"return"===n}:i?i(t):t}:i}}function b(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=f(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,i,(t=e[r](t)).done,t.value)}))}}}function w(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function S(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function E(e){return e&&e.__esModule?e:{default:e}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t._ENUM_LOG_LEVEL=void 0;var n,i=r(27);!function(e){e[e.debug=0]="debug",e[e.info=1]="info",e[e.warn=2]="warn",e[e.error=3]="error"}(n=t._ENUM_LOG_LEVEL||(t._ENUM_LOG_LEVEL={}));var o=n.info,a=function(){function e(e){this.level=o,null!=e&&(this.level=e)}return e.prototype.setLogLevel=function(e){switch(e){case"debug":this.level=n.debug;break;case"info":this.level=n.info;break;case"warn":this.level=n.warn;break;case"error":default:this.level=n.error}},e.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.level<=n.debug&&console.info.apply(console,[new Date+" [DEBUG]: "].concat(e))},e.prototype.info=function(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];this.level<=n.info&&(console.info.apply(console,[new Date+" [INFO]: "].concat(t)),setTimeout((function(){e.onLog(t)}),0))},e.prototype.warn=function(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];this.level<=n.warn&&(console.warn.apply(console,[new Date+" [WARN]: "].concat(t)),setTimeout((function(){e.onWarn(t)}),0))},e.prototype.error=function(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];this.level<=n.error&&(console.error.apply(console,[new Date+" [ERROR]: "].concat(t)),window.setTimeout((function(){e.onError(t),e._onReport?(e._onReport(t),i.default.flush()):i.default.push(""+t)}),0))},e.prototype.report=function(){for(var e=this,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];window.setTimeout((function(){e._onReport?(e._onReport(t),i.default.flush()):i.default.push(""+t)}),0)},e.prototype.onLog=function(e){},e.prototype.onWarn=function(e){},e.prototype.onError=function(e){},Object.defineProperty(e.prototype,"onReport",{set:function(e){this._onReport=e,i.default.setFlushCallback(e)},enumerable:!1,configurable:!0}),e}();t.Logger=a,t.default=new a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createError=t.RtcError=void 0;var n=r(0),i=function(e){function t(r,n){var i=e.call(this,n)||this;return i.code=r,Object.setPrototypeOf(i,t.prototype),i}return n.__extends(t,e),t.prototype.toString=function(){return this.name+"("+this.code+"): "+this.message},t.getCode=function(e){var r=new RegExp(e,"i"),n=Object.keys(t).find((function(e){return r.test(e.replace(/_/g,""))}));return n?t[n]:t.OTHERS},t.INVALID_PARAMETER="1000",t.INVALID_OPERATION="1001",t.NOT_SUPPORT="1002",t.NOT_EXISTS="1003",t.BAD_REQUEST="1004",t.OTHERS="1999",t.GW_UNREACHABLE="2000",t.GET_ACCESS_TOKEN_FAILED="2001",t.ACCESS_TOKEN_INVALID="2002",t.CONNECTION_FAILED="2003",t.JOIN_FAILED="2004",t.NOT_JOIN="2005",t.IS_JOINING="2006",t.IS_LEAVING="2007",t.ROLE_TYPE_NOT_MATCH="2008",t.SIGNAL_ADDRESS_INVALID="2009",t.STREAM_NOT_EXISTS="3000",t.STREAM_EXISTS="3001",t.AUDIO_NOT_EXISTS="3002",t.VIDEO_NOT_EXISTS="3003",t.ABORT_ERROR="3004",t.NOT_ALLOWED_ERROR="3005",t.NOT_FOUND_ERROR="3006",t.NOT_READABLE_ERROR="3007",t.OVER_CONSTRAINED_ERROR="3008",t.PEERCONNECTION_FAILED="3009",t.IS_RECONNECTING="3010",t.IS_UNPUBLISHED="3011",t.IS_PUBLISHING="3012",t.IS_UNPUBLISHING="3013",t.IS_PUBLISHED="3014",t.IS_UNSUBSCRIBED="3015",t.IS_SUBSCRIBING="3016",t.IS_UNSUBSCRIBING="3017",t.IS_SUBSCRIBED="3018",t.PLAY_NOT_ALLOWED="3019",t.PLAY_PENDING="3020",t.RESUME_NOT_ALLOWED="3021",t.INIT_SMALL_STREAM_FAILED="3022",t.PUBLISH_SMALL_STREAM_FAILED="3023",t.ICE_FAILED="3024",t}(Error);t.RtcError=i,t.createError=function(e,t){var r;if("object"==typeof e&&"string"==typeof e.name&&"string"==typeof e.message){var n=t?e.message+", "+t:e.message;r=e.code?e.code:"Error"===e.name?i.OTHERS:i.getCode(e.name);var o=new i(r,n);return o.name=e.name,o}var a=new i(r=e,t||"");return a.name="RtcError",a}},function(e,t,r){"use strict";var n=r(33),i=r(63),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function s(e){return null!==e&&"object"==typeof e}function c(e){return"[object Function]"===o.call(e)}function d(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.call(null,e[i],i,e)}e.exports={isArray:a,isArrayBuffer:function(e){return"[object ArrayBuffer]"===o.call(e)},isBuffer:i,isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:s,isUndefined:function(e){return void 0===e},isDate:function(e){return"[object Date]"===o.call(e)},isFile:function(e){return"[object File]"===o.call(e)},isBlob:function(e){return"[object Blob]"===o.call(e)},isFunction:c,isStream:function(e){return s(e)&&c(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:d,merge:function e(){var t={};function r(r,n){"object"==typeof t[n]&&"object"==typeof r?t[n]=e(t[n],r):t[n]=r}for(var n=0,i=arguments.length;n<i;n++)d(arguments[n],r);return t},deepMerge:function e(){var t={};function r(r,n){"object"==typeof t[n]&&"object"==typeof r?t[n]=e(t[n],r):t[n]="object"==typeof r?e({},r):r}for(var n=0,i=arguments.length;n<i;n++)d(arguments[n],r);return t},extend:function(e,t,r){return d(t,(function(t,i){e[i]=r&&"function"==typeof t?n(t,r):t})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventManager=t.InnerEventEmitter=t.EventEmitter=void 0;var n=r(0),i=r(7),o=function(e,t,r){var i=e[t];r.value=function(e,t){var r=this,o=function(){for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];r.off(e,o),t.call.apply(t,n.__spreadArrays([r],i))};return r.on(e,o),i()}},a=function(){function e(){this.listeners=Object.create(null)}var t;return e.prototype.once=function(e,t){return this},e.prototype.emit=function(e){for(var t=this,r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];return this.listeners[e]&&this.listeners[e].forEach((function(e){e.call.apply(e,n.__spreadArrays([t],r))})),this},e.prototype.removeAllListeners=function(e){return this.listeners[e]&&delete this[e],this},e.prototype.on=function(e,t){this.listeners[e]?this.listeners[e].find((function(e){return e===t}))||this.listeners[e].push(t):this.listeners[e]=[t];return this},e.prototype.off=function(e,t){var r=this;if("*"===e)return Object.keys(this.listeners).forEach((function(e){delete r.listeners[e]})),this;if(this.listeners[e]){var n=this.listeners[e].findIndex((function(e){return e===t}));n>=0&&this.listeners[e].splice(n,1),0===this.listeners[e].length&&delete this.listeners[e]}return this},n.__decorate([i.noenumerable(),n.__metadata("design:type",Object)],e.prototype,"listeners",void 0),n.__decorate([i.noenumerable(),o,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",["function"==typeof(t="undefined"!=typeof T&&T)?t:Object,Function]),n.__metadata("design:returntype",e)],e.prototype,"once",null),n.__decorate([i.noenumerable(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,Object]),n.__metadata("design:returntype",e)],e.prototype,"emit",null),n.__decorate([i.noenumerable(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",e)],e.prototype,"removeAllListeners",null),e}();t.EventEmitter=a;var s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),t.prototype.once=function(e,t){return this},t.prototype.on=function(e,t){this.listeners[e]?this.listeners[e].find((function(e){return e===t}))||this.listeners[e].push(t):this.listeners[e]=[t];return this},t.prototype.off=function(e,t){var r=this;if("*"===e)return Object.keys(this.listeners).forEach((function(e){delete r.listeners[e]})),this;if(this.listeners[e]){var n=this.listeners[e].findIndex((function(e){return e===t}));n>=0&&this.listeners[e].splice(n,1),0===this.listeners[e].length&&delete this.listeners[e]}return this},n.__decorate([i.noenumerable(),o,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,Function]),n.__metadata("design:returntype",t)],t.prototype,"once",null),t}(a);t.InnerEventEmitter=s;var c=function(){function e(){this.emitter=new a}return e.prototype.emit=function(e,t){this.emitter.emit(e,t)},e.prototype.on=function(e,t){this.emitter.on(e,t)},e.prototype.off=function(e,t){this.emitter.off(e,t)},e.createRtcEvent=function(e,t){return{type:e,data:t}},e}();t.EventManager=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isWeChat=t.isWinOS=t.isAndroid=t.isMacOS=t.isIOS=t.isOldEdge=t.isEdge=t.isFirefox=t.isChrome=t.isSafari=t.getMemInfo=t.getCPUInfo=t.getNetworkInfo=t.getDeviceInfo=t.getSystemInfo=t.getBrowserInfo=t.getPlatformVender=t.isMobile=void 0;var n=r(53).getParser(window.navigator.userAgent);function i(){var e=n.getBrowser(),t=n.getPlatform(),r=n.getEngine();return{name:e.name||"unknown",version:e.version||"unknown",isMobile:"mobile"===t.type,engineName:r.name,engineVersion:r.version}}function o(){var e=n.getOS();return{name:e.name||"unknown",version:e.version||"unknown",versionName:e.versionName||"unknown"}}t.isMobile=function(){return"mobile"===n.getPlatformType()},t.getPlatformVender=function(){return n.getPlatform().vendor||""},t.getBrowserInfo=i,t.getSystemInfo=o,t.getDeviceInfo=function(){var e=n.getOS(),t=n.getBrowser();return{vendor:e.name||"unknown",brand:t.name||"unknown",model:t.version||"unknown"}},t.getNetworkInfo=function(){return{network:""}},t.getCPUInfo=function(){return{brand:"",model:"",core:void 0!==window.navigator.hardwareConcurrency?window.navigator.hardwareConcurrency:0}},t.getMemInfo=function(){return{capacity:void 0!==window.navigator.deviceMemory?window.navigator.deviceMemory:0}},t.isSafari=function(){return"safari"===i().name.toLowerCase()},t.isChrome=function(){return"chrome"===i().name.toLowerCase()},t.isFirefox=function(){return"firefox"===i().name.toLowerCase()},t.isEdge=function(){return"microsoft edge"===i().name.toLowerCase()},t.isOldEdge=function(){var e,t=i();return"microsoft edge"===t.name.toLowerCase()&&"blink"!==(null===(e=t.engineName)||void 0===e?void 0:e.toLocaleLowerCase())},t.isIOS=function(){return"ios"===o().name.toLowerCase()},t.isMacOS=function(){return"macos"===o().name.toLowerCase()},t.isAndroid=function(){return"android"===o().name.toLowerCase()},t.isWinOS=function(){return"windows"===o().name.toLowerCase()},t.isWeChat=function(){return"wechat"===i().name.toLowerCase()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validateParameter=t.validate=t.Validator=t.isValidFunction=t.isValidFile=t.isValidVolume=t.isValidNumber=t.isValidString=t.isValidBoolean=t.isNil=void 0;var n=r(2);function i(e){return"[object String]"===Object.prototype.toString.call(e)}function o(e){return"[object Number]"===Object.prototype.toString.call(e)&&!(e<0||!Number.isInteger(e))}t.isNil=function(e){return null==e},t.isValidBoolean=function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},t.isValidString=i,t.isValidNumber=o,t.isValidVolume=function(e){return!!o&&!(e<0||e>100)},t.isValidFile=function(e){return!!(i(e)||e instanceof File)},t.isValidFunction=function(e){return"function"==typeof e};var a=function(){function e(){}return e.registerValidateFunc=function(e,t,r,n){var i=this.validateMap.get(e);i||(i=new Map,this.validateMap.set(e,i));var o=i.get(t);o||(o=new Map,i.set(t,o)),o.set(r,n)},e.performValidateFunc=function(e,t,r){var n=this.validateMap.get(e);if(n){var i=n.get(t);if(i)for(var o=0;o<r.length;o++){var a=i.get(o);"function"==typeof a&&a(r[o])}}},e.validateMap=new Map,e}();t.Validator=a,t.validate=function(e){return function(t,r,n){var i=n.value;n.value=function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];try{a.performValidateFunc(t,r,n)}catch(t){if(e)return Promise.reject(t);throw t}return i.apply(this,n)}}},t.validateParameter=function(e){return function(t,r,i){a.registerValidateFunc(t,r,i,(function(t){if(!e(t))throw n.createError(n.RtcError.INVALID_PARAMETER,"The argument: ("+JSON.stringify(t)+") is invalid")}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nowe=t.noenumerable=t.readonly=t.log=void 0;var n=r(1),i=r(13),o=r(2);function a(e,t){return function(r,n){var i,o=(Object.getOwnPropertyDescriptor(r,n)||{configurable:!0}).configurable;!1!==o&&Object.defineProperty(r,n,{configurable:o,enumerable:t,set:function(r){i=r,e?Object.defineProperty(this,n,{configurable:o,enumerable:t,writable:!0,value:r}):Object.defineProperty(this,n,{configurable:o,enumerable:t,writable:!1,value:i})}})}}t.log=function(){return function(e,t,r){var a=e[t];r.value=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var s,c="["+t+"] method is invoked";e.length>0&&(c+=" with arguments: ("+e.map((function(e,t){var r="";return 0!==t&&(r=" "),r+JSON.stringify(e)}))+")"),c+=".",n.default.debug(c);try{if(s=a.apply(this,e),i.isPromise(s))return s.catch((function(e){var t=o.createError(e);throw n.default.warn(c+" "+t),n.default.report(c+" "+t),t}))}catch(e){var d=o.createError(e);throw n.default.warn(c+" "+d),n.default.report(c+" "+d),d}return s},r.writable=!1,r.enumerable=!0,r.configurable=!1}},t.readonly=function(){return a(!1,!0)},t.noenumerable=function(){return a(!0,!1)},t.nowe=function(){return a(!1,!1)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._ENUM_LOGOFF_TYPE=t._ENUM_JOIN_ROOM_TYPE=t._ENUM_MIX_TYPE=t._ENUM_MEDIA_TYPE=t._ENUM_VP_LEVEL=t._ENUM_TRACK_TYPE=t._ENUM_STREAM_CMD_TYPE=t._ENUM_USER_CMD_TYPE=t._ENUM_ROOM_TYPE=t._ENUM_ROLE_TYPE=void 0,function(e){e[e.pushStream=0]="pushStream",e[e.pullStream=1]="pullStream",e[e.allStream=2]="allStream"}(t._ENUM_ROLE_TYPE||(t._ENUM_ROLE_TYPE={})),function(e){e[e.conference=0]="conference",e[e.live=1]="live"}(t._ENUM_ROOM_TYPE||(t._ENUM_ROOM_TYPE={})),function(e){e[e.join=1]="join",e[e.leave=2]="leave"}(t._ENUM_USER_CMD_TYPE||(t._ENUM_USER_CMD_TYPE={})),function(e){e[e.add=1]="add",e[e.remove=2]="remove"}(t._ENUM_STREAM_CMD_TYPE||(t._ENUM_STREAM_CMD_TYPE={})),function(e){e[e.audio=1]="audio",e[e.video=2]="video",e[e.data=3]="data"}(t._ENUM_TRACK_TYPE||(t._ENUM_TRACK_TYPE={})),function(e){e[e.none=0]="none",e[e.sd=1]="sd",e[e.hd=2]="hd",e[e.hdp=3]="hdp"}(t._ENUM_VP_LEVEL||(t._ENUM_VP_LEVEL={})),function(e){e[e.camera=1]="camera",e[e.screen=2]="screen"}(t._ENUM_MEDIA_TYPE||(t._ENUM_MEDIA_TYPE={})),function(e){e[e.relay=1]="relay",e[e.record=2]="record",e[e.relayRecord=3]="relayRecord",e[e.update=4]="update"}(t._ENUM_MIX_TYPE||(t._ENUM_MIX_TYPE={})),function(e){e[e.default=1]="default",e[e.reconnect=2]="reconnect",e[e.switch=3]="switch",e[e.refresh=4]="refresh"}(t._ENUM_JOIN_ROOM_TYPE||(t._ENUM_JOIN_ROOM_TYPE={})),function(e){e[e.quit=0]="quit",e[e.reconnect=1]="reconnect",e[e.switch=2]="switch",e[e.refresh=3]="refresh"}(t._ENUM_LOGOFF_TYPE||(t._ENUM_LOGOFF_TYPE={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._ENUM_SUBSCRIBE_STATUS=t._ENUM_PUBLISH_STATUS=t._ENUM_STREAM_TYPE=void 0,function(e){e[e.publish=1]="publish",e[e.subscribe=2]="subscribe"}(t._ENUM_STREAM_TYPE||(t._ENUM_STREAM_TYPE={})),function(e){e[e.unpublish=1]="unpublish",e[e.publishing=2]="publishing",e[e.unpublishing=3]="unpublishing",e[e.published=4]="published"}(t._ENUM_PUBLISH_STATUS||(t._ENUM_PUBLISH_STATUS={})),function(e){e[e.unsubscribe=1]="unsubscribe",e[e.subscribing=2]="subscribing",e[e.unsubscribing=3]="unsubscribing",e[e.subscribed=4]="subscribed"}(t._ENUM_SUBSCRIBE_STATUS||(t._ENUM_SUBSCRIBE_STATUS={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLogReporterInstance=t.LogReporter=void 0;var n=r(0),i=r(42),o=r(15),a=r(32),s=r(1),c=r(9),d=r(21),u=r(30),p=r(5),l=r(44),f=r(84);r(8);n.__exportStar(r(44),t);function h(e,t,r){var n=e[t];r.value=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.isValid&&n.apply(this,e)}}var m,v=function(){function e(){this._enable=!0}return e.prototype.init=function(e,t,r){var n=this;if(this.app_id=e,this.room_id=t,this.user_id=r,s.default.onReport=function(e){n.reportExceptionLog(l._ENUM_LOG_EXCEPTION_TYPE.others,{msg:""+e})},f.ReportWorker.isUsable())try{this.reportWorker=new f.ReportWorker((function(){var e=this;this.onmessage=function(t){var r=t.data;!function(t,r){var n=new XMLHttpRequest;n.open("post",t,!0),n.setRequestHeader("Content-Type","application/json;charset=utf-8"),n.setRequestHeader("Accept","application/json, text/plain, */*"),n.responseType="json",n.send(JSON.stringify(r)),n.onreadystatechange=function(){4===n.readyState&&200===n.status&&e.postMessage({response:n.response})}}(r.url,r.content)}})),this.reportWorker.onmessage=function(e){s.default.debug("report worker receive data ",e.data)}}catch(e){s.default.warn("browser not support web worker")}},e.prototype.reset=function(){var e;this.app_id="",this.room_id="",this.user_id="",null===(e=this.reportWorker)||void 0===e||e.terminate(),s.default.onReport=void 0},e.prototype.enable=function(){this._enable=!0},e.prototype.disable=function(){this._enable=!1},Object.defineProperty(e.prototype,"isValid",{get:function(){return!!this._enable&&(!!o.SERVER_CONFIG.log&&!!(this.app_id&&this.room_id&&this.user_id))},enumerable:!1,configurable:!0}),e.prototype.getCommonHeader=function(e,t){return{version:"1.0",method:"logup",rpc_id:u.getId(),type:e,ts:Math.round(Date.now()/1e3),aid:this.app_id,rid:this.room_id,sid:t&&t.sid||"",uid:this.user_id,streamid:t&&t.streamId||"",stype:t&&t.stype||0,mtype:t&&t.mtype||0}},e.prototype.reportJoinRoomLog=function(){var e=this.getCommonHeader(l._ENUM_LOG_TYPE.join),t=p.getDeviceInfo(),r=p.getSystemInfo(),n=p.getCPUInfo(),a={sdkv:d.version,agent:u.getAgentInfo(),device:t.vendor+"_"+t.brand+"_"+t.model,system:""+r.name+r.version+"_"+r.versionName,network:""+p.getNetworkInfo().network,cpu:n.brand+"_"+n.model+"_"+n.core,mem:p.getMemInfo().capacity,micphone:1,speaker:1,video:1},s=new i(o.SERVER_CONFIG.log).set("pathname","api/rtcJoinLeaveClientLog"),c=Object.assign({},e,{data:a});this.report(s,c)},e.prototype.reportLeaveRoomLog=function(){var e=this.getCommonHeader(l._ENUM_LOG_TYPE.leave),t=new i(o.SERVER_CONFIG.log).set("pathname","api/rtcJoinLeaveClientLog"),r=Object.assign({},e,{data:{sdkv:"",agent:"",device:"",system:"",network:"",cpu:"",mem:0,micphone:0,speaker:0,video:0}});this.report(t,r)},e.prototype.reportPublishStatusLog=function(e,t,r){var n=this.getCommonHeader(l._ENUM_LOG_TYPE.stats,{streamId:e,stype:c._ENUM_STREAM_TYPE.publish,mtype:t}),a=new i(o.SERVER_CONFIG.log).set("pathname","api/rtcClinetLog"),s=Object.assign({userid:"",streamid:""},r),d=Object.assign({},n,{data:s});this.report(a,d,!0)},e.prototype.reportSubscribeStatusLog=function(e,t,r,n,a){var s=this.getCommonHeader(l._ENUM_LOG_TYPE.stats,{streamId:e,stype:c._ENUM_STREAM_TYPE.subscribe,mtype:n}),d=new i(o.SERVER_CONFIG.log).set("pathname","api/rtcClinetLog"),u=Object.assign({userid:r||"",streamid:t||""},a),p=Object.assign({},s,{data:u});this.report(d,p,!0)},e.prototype.reportExceptionLog=function(e,t){var r=this.getCommonHeader(l._ENUM_LOG_TYPE.exception,t),n=new i(o.SERVER_CONFIG.log).set("pathname","api/exceptionLog"),a=Object.assign({},r,{data:{errorType:e,userid:e===l._ENUM_LOG_EXCEPTION_TYPE.subscribe&&t&&t.userId||"",streamid:e===l._ENUM_LOG_EXCEPTION_TYPE.subscribe&&t&&t.streamId||"",msg:t&&t.msg||""}});this.report(n,a)},e.prototype.reportOperationLog=function(e,t){var r=l._ENUM_LOG_OPERATION_TYPE,n=[r.subscribe,r.unsubscribe,r.unmuteVideo,r.muteVideo,r.unmuteAudio,r.muteAudio],a=[r.subscribe,r.unsubscribe,r.unmuteVideo,r.muteVideo,r.unmuteAudio,r.muteAudio],s=[r.startRecord,r.stopRecord],c=this.getCommonHeader(l._ENUM_LOG_TYPE.operation,t),d=new i(o.SERVER_CONFIG.log).set("pathname","api/opertionLog"),u={opertionType:e,userid:n.includes(e)&&t&&t.userId||"",streamid:a.includes(e)&&t&&t.streamId||"",recordid:s.includes(e)&&t&&t.recordId||""};t&&t.msg&&(u.msg=t.msg);var p=Object.assign({},c,{data:u});this.report(d,p)},e.prototype.report=function(e,t,r){var n;r&&this.reportWorker?null===(n=this.reportWorker)||void 0===n||n.postMessage({url:e.href,content:t}):a.post({url:e.href,data:t,crossOrigin:!0,needVerifyResponse:!1}).catch((function(e){s.default.warn("report log "+e)}))},n.__decorate([h,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],e.prototype,"reportJoinRoomLog",null),n.__decorate([h,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],e.prototype,"reportLeaveRoomLog",null),n.__decorate([h,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,Number,Object]),n.__metadata("design:returntype",void 0)],e.prototype,"reportPublishStatusLog",null),n.__decorate([h,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,String,String,Number,Object]),n.__metadata("design:returntype",void 0)],e.prototype,"reportSubscribeStatusLog",null),n.__decorate([h,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Number,Object]),n.__metadata("design:returntype",void 0)],e.prototype,"reportExceptionLog",null),n.__decorate([h,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Number,Object]),n.__metadata("design:returntype",void 0)],e.prototype,"reportOperationLog",null),n.__decorate([h,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[i,Object,Boolean]),n.__metadata("design:returntype",void 0)],e.prototype,"report",null),e}();t.LogReporter=v,t.getLogReporterInstance=function(){return m||(m=new v),m}},function(e,t,r){"use strict";var n={generateIdentifier:function(){return Math.random().toString(36).substr(2,10)}};n.localCName=n.generateIdentifier(),n.splitLines=function(e){return e.trim().split("\n").map((function(e){return e.trim()}))},n.splitSections=function(e){return e.split("\nm=").map((function(e,t){return(t>0?"m="+e:e).trim()+"\r\n"}))},n.getDescription=function(e){var t=n.splitSections(e);return t&&t[0]},n.getMediaSections=function(e){var t=n.splitSections(e);return t.shift(),t},n.matchPrefix=function(e,t){return n.splitLines(e).filter((function(e){return 0===e.indexOf(t)}))},n.parseCandidate=function(e){for(var t,r={foundation:(t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" "))[0],component:parseInt(t[1],10),protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]},n=8;n<t.length;n+=2)switch(t[n]){case"raddr":r.relatedAddress=t[n+1];break;case"rport":r.relatedPort=parseInt(t[n+1],10);break;case"tcptype":r.tcpType=t[n+1];break;case"ufrag":r.ufrag=t[n+1],r.usernameFragment=t[n+1];break;default:r[t[n]]=t[n+1]}return r},n.writeCandidate=function(e){var t=[];t.push(e.foundation),t.push(e.component),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);var r=e.type;return t.push("typ"),t.push(r),"host"!==r&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")},n.parseIceOptions=function(e){return e.substr(14).split(" ")},n.parseRtpMap=function(e){var t=e.substr(9).split(" "),r={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),r.name=t[0],r.clockRate=parseInt(t[1],10),r.channels=3===t.length?parseInt(t[2],10):1,r.numChannels=r.channels,r},n.writeRtpMap=function(e){var t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);var r=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==r?"/"+r:"")+"\r\n"},n.parseExtmap=function(e){var t=e.substr(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1]}},n.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+"\r\n"},n.parseFmtp=function(e){for(var t,r={},n=e.substr(e.indexOf(" ")+1).split(";"),i=0;i<n.length;i++)r[(t=n[i].trim().split("="))[0].trim()]=t[1];return r},n.writeFmtp=function(e){var t="",r=e.payloadType;if(void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){var n=[];Object.keys(e.parameters).forEach((function(t){e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)})),t+="a=fmtp:"+r+" "+n.join(";")+"\r\n"}return t},n.parseRtcpFb=function(e){var t=e.substr(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},n.writeRtcpFb=function(e){var t="",r=e.payloadType;return void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((function(e){t+="a=rtcp-fb:"+r+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"})),t},n.parseSsrcMedia=function(e){var t=e.indexOf(" "),r={ssrc:parseInt(e.substr(7,t-7),10)},n=e.indexOf(":",t);return n>-1?(r.attribute=e.substr(t+1,n-t-1),r.value=e.substr(n+1)):r.attribute=e.substr(t+1),r},n.parseSsrcGroup=function(e){var t=e.substr(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((function(e){return parseInt(e,10)}))}},n.getMid=function(e){var t=n.matchPrefix(e,"a=mid:")[0];if(t)return t.substr(6)},n.parseFingerprint=function(e){var t=e.substr(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1]}},n.getDtlsParameters=function(e,t){return{role:"auto",fingerprints:n.matchPrefix(e+t,"a=fingerprint:").map(n.parseFingerprint)}},n.writeDtlsParameters=function(e,t){var r="a=setup:"+t+"\r\n";return e.fingerprints.forEach((function(e){r+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),r},n.parseCryptoLine=function(e){var t=e.substr(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},n.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?n.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},n.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;var t=e.substr(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},n.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},n.getCryptoParameters=function(e,t){return n.matchPrefix(e+t,"a=crypto:").map(n.parseCryptoLine)},n.getIceParameters=function(e,t){var r=n.matchPrefix(e+t,"a=ice-ufrag:")[0],i=n.matchPrefix(e+t,"a=ice-pwd:")[0];return r&&i?{usernameFragment:r.substr(12),password:i.substr(10)}:null},n.writeIceParameters=function(e){return"a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n"},n.parseRtpParameters=function(e){for(var t={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},r=n.splitLines(e)[0].split(" "),i=3;i<r.length;i++){var o=r[i],a=n.matchPrefix(e,"a=rtpmap:"+o+" ")[0];if(a){var s=n.parseRtpMap(a),c=n.matchPrefix(e,"a=fmtp:"+o+" ");switch(s.parameters=c.length?n.parseFmtp(c[0]):{},s.rtcpFeedback=n.matchPrefix(e,"a=rtcp-fb:"+o+" ").map(n.parseRtcpFb),t.codecs.push(s),s.name.toUpperCase()){case"RED":case"ULPFEC":t.fecMechanisms.push(s.name.toUpperCase())}}}return n.matchPrefix(e,"a=extmap:").forEach((function(e){t.headerExtensions.push(n.parseExtmap(e))})),t},n.writeRtpDescription=function(e,t){var r="";r+="m="+e+" ",r+=t.codecs.length>0?"9":"0",r+=" UDP/TLS/RTP/SAVPF ",r+=t.codecs.map((function(e){return void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType})).join(" ")+"\r\n",r+="c=IN IP4 0.0.0.0\r\n",r+="a=rtcp:9 IN IP4 0.0.0.0\r\n",t.codecs.forEach((function(e){r+=n.writeRtpMap(e),r+=n.writeFmtp(e),r+=n.writeRtcpFb(e)}));var i=0;return t.codecs.forEach((function(e){e.maxptime>i&&(i=e.maxptime)})),i>0&&(r+="a=maxptime:"+i+"\r\n"),r+="a=rtcp-mux\r\n",t.headerExtensions&&t.headerExtensions.forEach((function(e){r+=n.writeExtmap(e)})),r},n.parseRtpEncodingParameters=function(e){var t,r=[],i=n.parseRtpParameters(e),o=-1!==i.fecMechanisms.indexOf("RED"),a=-1!==i.fecMechanisms.indexOf("ULPFEC"),s=n.matchPrefix(e,"a=ssrc:").map((function(e){return n.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute})),c=s.length>0&&s[0].ssrc,d=n.matchPrefix(e,"a=ssrc-group:FID").map((function(e){return e.substr(17).split(" ").map((function(e){return parseInt(e,10)}))}));d.length>0&&d[0].length>1&&d[0][0]===c&&(t=d[0][1]),i.codecs.forEach((function(e){if("RTX"===e.name.toUpperCase()&&e.parameters.apt){var n={ssrc:c,codecPayloadType:parseInt(e.parameters.apt,10)};c&&t&&(n.rtx={ssrc:t}),r.push(n),o&&((n=JSON.parse(JSON.stringify(n))).fec={ssrc:c,mechanism:a?"red+ulpfec":"red"},r.push(n))}})),0===r.length&&c&&r.push({ssrc:c});var u=n.matchPrefix(e,"b=");return u.length&&(u=0===u[0].indexOf("b=TIAS:")?parseInt(u[0].substr(7),10):0===u[0].indexOf("b=AS:")?1e3*parseInt(u[0].substr(5),10)*.95-16e3:void 0,r.forEach((function(e){e.maxBitrate=u}))),r},n.parseRtcpParameters=function(e){var t={},r=n.matchPrefix(e,"a=ssrc:").map((function(e){return n.parseSsrcMedia(e)})).filter((function(e){return"cname"===e.attribute}))[0];r&&(t.cname=r.value,t.ssrc=r.ssrc);var i=n.matchPrefix(e,"a=rtcp-rsize");t.reducedSize=i.length>0,t.compound=0===i.length;var o=n.matchPrefix(e,"a=rtcp-mux");return t.mux=o.length>0,t},n.parseMsid=function(e){var t,r=n.matchPrefix(e,"a=msid:");if(1===r.length)return{stream:(t=r[0].substr(7).split(" "))[0],track:t[1]};var i=n.matchPrefix(e,"a=ssrc:").map((function(e){return n.parseSsrcMedia(e)})).filter((function(e){return"msid"===e.attribute}));return i.length>0?{stream:(t=i[0].value.split(" "))[0],track:t[1]}:void 0},n.parseSctpDescription=function(e){var t,r=n.parseMLine(e),i=n.matchPrefix(e,"a=max-message-size:");i.length>0&&(t=parseInt(i[0].substr(19),10)),isNaN(t)&&(t=65536);var o=n.matchPrefix(e,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substr(12),10),protocol:r.fmt,maxMessageSize:t};if(n.matchPrefix(e,"a=sctpmap:").length>0){var a=n.matchPrefix(e,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(a[0],10),protocol:a[1],maxMessageSize:t}}},n.writeSctpDescription=function(e,t){var r=[];return r="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&r.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),r.join("")},n.generateSessionId=function(){return Math.random().toString().substr(2,21)},n.writeSessionBoilerplate=function(e,t,r){var i=void 0!==t?t:2;return"v=0\r\no="+(r||"thisisadapterortc")+" "+(e||n.generateSessionId())+" "+i+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},n.writeMediaSection=function(e,t,r,i){var o=n.writeRtpDescription(e.kind,t);if(o+=n.writeIceParameters(e.iceGatherer.getLocalParameters()),o+=n.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),"offer"===r?"actpass":"active"),o+="a=mid:"+e.mid+"\r\n",e.direction?o+="a="+e.direction+"\r\n":e.rtpSender&&e.rtpReceiver?o+="a=sendrecv\r\n":e.rtpSender?o+="a=sendonly\r\n":e.rtpReceiver?o+="a=recvonly\r\n":o+="a=inactive\r\n",e.rtpSender){var a="msid:"+i.id+" "+e.rtpSender.track.id+"\r\n";o+="a="+a,o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+a,e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+a,o+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+n.localCName+"\r\n",e.rtpSender&&e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+n.localCName+"\r\n"),o},n.getDirection=function(e,t){for(var r=n.splitLines(e),i=0;i<r.length;i++)switch(r[i]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return r[i].substr(2)}return t?n.getDirection(t):"sendrecv"},n.getKind=function(e){return n.splitLines(e)[0].split(" ")[0].substr(2)},n.isRejected=function(e){return"0"===e.split(" ",2)[1]},n.parseMLine=function(e){var t=n.splitLines(e)[0].substr(2).split(" ");return{kind:t[0],port:parseInt(t[1],10),protocol:t[2],fmt:t.slice(3).join(" ")}},n.parseOLine=function(e){var t=n.matchPrefix(e,"o=")[0].substr(2).split(" ");return{username:t[0],sessionId:t[1],sessionVersion:parseInt(t[2],10),netType:t[3],addressType:t[4],address:t[5]}},n.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;for(var t=n.splitLines(e),r=0;r<t.length;r++)if(t[r].length<2||"="!==t[r].charAt(1))return!1;return!0},e.exports=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalStream=void 0;var n=r(0),i=r(8),o=r(20),a=r(7),s=r(47),c=r(2),d=r(4),u=r(1),p=r(91),l=r(9),f=r(22),h=r(92),m=r(6),v=r(17),g=r(5),_=r(10),y=r(24),b=_.getLogReporterInstance();var w=!(!window.process||!window.process.versions||void 0===window.process.versions.electron||null===window.process.versions.electron);var S=function(e){function t(t,r){var n=e.call(this,t,r.userId,function(e){return{audio:e.audio||!!e.screenAudio,video:e.video||e.screen,streamType:e.streamType,mediaType:e.mediaType}}(r))||this;return n.status=l._ENUM_PUBLISH_STATUS.unpublish,n.isPublishEventEmitted=!1,n.audioResolution=p.getAudioResolution(p.DEFAULT_AUDIO_PROFILE),n._videoResolution=p.getVideoResolution(p.DEFAULT_VIDEO_PROFILE),n._screenResolution=p.getScreenResolution(p.DEFAULT_SCREEN_PROFILE),n.republishTimer=0,n.wait4microphone=!1,n.wait4camera=!1,n.onDeviceChanged=function(e,t,r){function i(e,t,r,n){var i=r.find((function(r){return r.kind===t&&(r.deviceId===e.deviceId||(!("default"!==e.deviceId||!e.groupId||e.groupId!==r.groupId)||void 0))})),o=n.find((function(e){return g.isWinOS()&&"audioinput"===e.kind?"default"!==e.deviceId&&"communications"!==e.deviceId:e.kind===t}));return i?(u.default.warn(t+" "+i.label+" removed"),u.default.report(t+" "+i.label+" removed"),o?[!0,o]:[!0,void 0]):[!1,void 0]}function o(e,t){return t.find((function(t){return g.isWinOS()&&"audioinput"===t.kind?"default"!==t.deviceId&&"communications"!==t.deviceId:t.kind===e}))}if(n.wait4microphone){if(e.length>0)(d=o("audioinput",e))&&n.switchDevice("audio",d.deviceId).then((function(){n.wait4microphone=!1})).catch((function(e){u.default.warn("microphone added, but switch failed ",e),u.default.report("microphone added, but switch failed ",e)}))}else{var a=n.audioTrackManager.sourceTracks[0];if(a&&t.length>0){var s=i(a.getSettings(),"audioinput",t,r),c=s[0],d=s[1];c&&(d?n.switchDevice("audio",d.deviceId).then((function(){n.wait4microphone=!1})).catch((function(e){u.default.warn("microphone removed, but switch failed ",e),u.default.report("microphone removed, but switch failed ",e)})):n.wait4microphone=!0)}}if(n.wait4camera){if(e.length>0)(d=o("videoinput",e))&&n.switchDevice("video",d.deviceId).then((function(){n.wait4camera=!1})).catch((function(e){u.default.warn("camera added, but switch failed ",e),u.default.report("camera added, but switch failed ",e)}))}else{var p=n.videoTrackManager.sourceTrack;if(p&&t.length>0){var l=i(p.getSettings(),"videoinput",t,r);c=l[0],d=l[1];c&&(d?n.switchDevice("video",d.deviceId).then((function(){n.wait4camera=!1})).catch((function(e){u.default.warn("camera removed, but switch failed ",e),u.default.report("camera removed, but switch failed ",e)})):n.wait4camera=!0)}}},n.config=r,n.audioTrackManager=new f.AudioTrackManager(!1,n.audioResolution.sampleRate),n.videoTrackManager=new f.VideoTrackManager,n.audioTrackManager.on("audio-track-muted",(function(e){u.default.warn("audio track muted ",n.userId,n.id,e),u.default.report("audio track muted ",n.id4Log);var t=d.EventManager.createRtcEvent("audio-track-ended",n);n.emit(t.type,t)})),n.audioTrackManager.on("audio-track-ended",(function(e){u.default.warn("audio track ended ",n.userId,n.id,e),u.default.report("audio track ended ",n.id4Log);var t=d.EventManager.createRtcEvent("audio-track-ended",n);n.emit(t.type,t)})),n.initPlugins(),n}return n.__extends(t,e),t.use=function(e,r){t.plugins[e.name]={plugin:e,options:r},v.applyMixins(t,e.install)},t.prototype.initPlugins=function(){for(var e in t.plugins){var r=t.plugins[e].plugin,n=t.plugins[e].options;r.install.call(this,n)}},Object.defineProperty(t.prototype,"options",{get:function(){return this.config},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"videoResolution",{get:function(){return this.mediaType===i._ENUM_MEDIA_TYPE.screen?this._screenResolution:this._videoResolution},enumerable:!1,configurable:!0}),t.getVP=function(e){var t=e.videoResolution.width*e.videoResolution.height;return e.hasVideo?t>921600?i._ENUM_VP_LEVEL.hdp:t>230400?i._ENUM_VP_LEVEL.hd:i._ENUM_VP_LEVEL.sd:i._ENUM_VP_LEVEL.none},Object.defineProperty(t.prototype,"videoTrackSettings",{get:function(){var e=this.mediaStream.getVideoTracks()[0];return e?e.getSettings():{width:this.videoResolution.width,height:this.videoResolution.height}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minVideoBitRate",{get:function(){return this.videoResolution.minVideoBW},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxVideoBitRate",{get:function(){return this.videoResolution.maxVideoBW},enumerable:!1,configurable:!0}),t.prototype.connect=function(e,t,r){return n.__awaiter(this,void 0,void 0,(function(){return n.__generator(this,(function(n){switch(n.label){case 0:return this.remoteId=e,this.audioCodec=t,this.videoCodec=r,this.connection=new s._PublishConnection(this.hasAudio(),this.hasVideo(),this.audioCodec,this.videoCodec),this.connection.addMediaStream(this.mediaStream),this.bindConnectionEvents(),[4,this.connection.createOffer(this.audioResolution,this.videoResolution)];case 1:return[2,n.sent()]}}))}))},t.prototype.releaseMediaStream=function(){var e=this;this.mediaStream.getTracks().forEach((function(t){e.mediaStream.removeTrack(t)})),this.audioTrackManager.destroy(),this.videoTrackManager.destroy()},t.prototype.disconnect=function(){var e;this.remoteId=void 0,this.republishTimer&&(window.clearTimeout(this.republishTimer),this.republishTimer=0),this.isReconnecting&&(this.isReconnecting=!1),this.isPublishEventEmitted=!1,this.stopReportStreamStats(),this.unbindConnectionEvents(),null===(e=this.connection)||void 0===e||e.destroy(),this.connection=void 0},t.prototype.reconnect=function(e){var t;return n.__awaiter(this,void 0,void 0,(function(){return n.__generator(this,(function(r){switch(r.label){case 0:return this.remoteId=e,this.stopReportStreamStats(),this.unbindConnectionEvents(),null===(t=this.connection)||void 0===t||t.disconnect(),this.connection=new s._PublishConnection(this.hasAudio(),this.hasVideo(),this.audioCodec,this.videoCodec),this.connection.setIsReconnection(),this.connection.addMediaStream(this.mediaStream),this.bindConnectionEvents(),[4,this.connection.createOffer(this.audioResolution,this.videoResolution)];case 1:return[2,r.sent()]}}))}))},t.prototype.republish=function(e){var t,r=this;e="number"==typeof e?e:Math.floor(2e3*Math.random()+2e3);this.republishTimer&&(window.clearTimeout(this.republishTimer),this.republishTimer=0),this.isReconnecting||(this.isReconnecting=!0,null===(t=this._session)||void 0===t||t.emit("i-stream-reconnecting",this)),this.republishTimer=window.setTimeout((function(){return n.__awaiter(r,void 0,void 0,(function(){var e,t,r,i,o,a,s,d,p,l,f,h,m,v,g,y,w,S,E=this;return n.__generator(this,(function(n){switch(n.label){case 0:if(!this._session)return[3,10];e=void 0,n.label=1;case 1:return n.trys.push([1,3,,4]),[4,null===(s=this._session)||void 0===s?void 0:s._publish(this)];case 2:return e=n.sent(),[3,4];case 3:return t=n.sent(),u.default.warn("[reconnect] publish "+this.id4Log+" failed ",t),u.default.report("[reconnect] publish "+this.id4Log+" failed ",t),null===(p=null===(d=this._session)||void 0===d?void 0:d.signalManager)||void 0===p||p.punish(),this.republish(4e3),null===(l=this._session)||void 0===l||l.emit("i-stream-reconnect-failed",this),[2];case 4:if(!e)return r=c.createError(c.RtcError.OTHERS,"publish stream ID is not exists."),u.default.warn("[reconnect] publish "+this.id4Log+" failed ",r),u.default.report("[reconnect] publish "+this.id4Log+" failed ",r),null===(h=null===(f=this._session)||void 0===f?void 0:f.signalManager)||void 0===h||h.punish(),this.republish(4e3),null===(m=this._session)||void 0===m||m.emit("i-stream-reconnect-failed",this),[2];n.label=5;case 5:return n.trys.push([5,8,,9]),[4,this.reconnect(e)];case 6:return i=n.sent(),[4,null===(v=this._session)||void 0===v?void 0:v._publishSDP(this,i)];case 7:return n.sent(),this.hasVideo()&&(null===(g=this._session)||void 0===g||g.updateVP(this).catch((function(e){u.default.warn("[reconnect] update vp failed"),u.default.report("[reconnect] update "+E.id4Log+" vp failed ",e)}))),this.hasAudio()&&this.audioMuted&&this.syncMute("mute","audio"),this.hasVideo()&&this.videoMuted&&this.syncMute("mute","video"),b.reportOperationLog(_._ENUM_LOG_OPERATION_TYPE.publish,{streamId:this.remoteId,stype:this.streamType,mtype:this.mediaType,msg:"stream reconnect success"}),[3,9];case 8:return o=n.sent(),a="[reconnect failed] - publish stream ["+this.id4Log+"], "+o,u.default.warn(a),u.default.report(a),null===(w=null===(y=this._session)||void 0===y?void 0:y.signalManager)||void 0===w||w.punish(),this.republish(4e3),null===(S=this._session)||void 0===S||S.emit("i-stream-reconnect-failed",this),[2];case 9:this.republishTimer=0,n.label=10;case 10:return[2]}}))}))}),e)},t.prototype.triggerRepublish=function(e){this.isReconnecting||this.republish(e)},t.prototype.bindConnectionEvents=function(){var e=this,t=this.connection;t&&(t.on(s._ConnectionEventTypes.connected,(function(){var t,r;u.default.debug("stream "+e.id4Log+" connection connected"),e.isPublishEventEmitted?(u.default.debug("local stream "+e.id4Log+" is reconnected"),e.isReconnecting&&(e.isReconnecting=!1,null===(t=e._session)||void 0===t||t.emit("i-stream-reconnected",e))):(null===(r=e._session)||void 0===r||r.emit("i-stream-published",e),e.isPublishEventEmitted=!0),e.startReportStreamStats()})),t.on(s._ConnectionEventTypes.failed,(function(){u.default.warn("stream "+e.id4Log+" connection failed"),e.stopReportStreamStats(),e.republish()})),t.on(s._ConnectionEventTypes.disconnected,(function(){u.default.debug("stream "+e.id4Log+" connection disconnected"),e.stopReportStreamStats()})),t.on(s._ConnectionEventTypes.error,(function(t){var r;u.default.warn("stream "+e.id4Log+" connection error",t.state),null===(r=e._session)||void 0===r||r.emit("i-stream-error",e)})))},t.prototype.unbindConnectionEvents=function(){var e=this.connection;e&&(e.removeAllListeners(s._ConnectionEventTypes.connected),e.removeAllListeners(s._ConnectionEventTypes.failed),e.removeAllListeners(s._ConnectionEventTypes.disconnected),e.removeAllListeners(s._ConnectionEventTypes.error))},t.prototype.answer=function(e){return this.connection?this.connection.answer(e):Promise.reject(c.createError(c.RtcError.PEERCONNECTION_FAILED,"The stream "+this.remoteId+" does not have connection"))},t.prototype.updateMediaStream=function(e,t){var r,n=this;"audio"===e?this.mediaStream.getAudioTracks().forEach((function(e){return n.mediaStream.removeTrack(e)})):"video"===e&&this.mediaStream.getVideoTracks().forEach((function(e){return n.mediaStream.removeTrack(e)})),t&&("audio"===e&&this.audioMuted?t.enabled=!1:"video"===e&&this.videoMuted&&(t.enabled=!1),this.mediaStream.addTrack(t),null===(r=this.connection)||void 0===r||r.replaceTrack(e,t)),this.player&&("audio"===e?this.player.audioTrack=t:"video"===e&&(this.player.videoTrack=t))},t.prototype.forceSwitchCamera=function(e){return n.__awaiter(this,void 0,void 0,(function(){var r,i,o,a;return n.__generator(this,(function(n){switch(n.label){case 0:r=this.videoTrackManager.sourceTrack,i=null==r?void 0:r.getSettings().deviceId,null==r||r.stop(),n.label=1;case 1:return n.trys.push([1,3,,5]),[4,t.getCameraMediaStream({audio:!1,video:!0,cameraId:e,screen:!1},this.audioResolution,this.videoResolution)];case 2:return o=n.sent(),[3,5];case 3:return a=n.sent(),u.default.warn(this.id4Log+" force switch camera - "+a),u.default.report(this.id4Log+" force switch camera - "+a),e=i,[4,t.getCameraMediaStream({audio:!1,video:!0,cameraId:e,screen:!1},this.audioResolution,this.videoResolution)];case 4:return o=n.sent(),[3,5];case 5:return[2,[e,o.getVideoTracks()[0]]]}}))}))},t.getMicrophoneMediaStream=function(e,t,r){var i;return n.__awaiter(this,void 0,void 0,(function(){var o,a,s,d;return n.__generator(this,(function(n){switch(n.label){case 0:if(o={audio:!1},a=(null===(i=navigator.mediaDevices)||void 0===i?void 0:i.getSupportedConstraints)&&navigator.mediaDevices.getSupportedConstraints()||{},u.default.debug("supported constraints ",a),e.audio&&(o.audio={sampleRate:t.sampleRate,channelCount:t.channelCount},e.microphoneId&&(o.audio.deviceId=r?e.microphoneId:{exact:e.microphoneId}),a.echoCancellation&&(o.audio.echoCancellation=!0),a.noiseSuppression&&(o.audio.noiseSuppression=!0),a.autoGainControl&&(o.audio.autoGainControl=!0)),s=new MediaStream,!o.audio)return[3,4];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia(o)];case 2:return s=n.sent(),[3,4];case 3:throw d=n.sent(),u.default.warn("local stream - get microphone media stream "+d),u.default.report("local stream - get microphone media stream "+d),b.reportExceptionLog(_._ENUM_LOG_EXCEPTION_TYPE.getMicrophones,{msg:""+d}),c.createError(d);case 4:return[2,s]}}))}))},t.getCameraMediaStream=function(e,t,r,i){var o;return n.__awaiter(this,void 0,void 0,(function(){var a,s,d,p;return n.__generator(this,(function(n){switch(n.label){case 0:if(a={audio:!1,video:!1},s=(null===(o=navigator.mediaDevices)||void 0===o?void 0:o.getSupportedConstraints)&&navigator.mediaDevices.getSupportedConstraints()||{},u.default.debug("supported constraints ",s),e.audio&&(a.audio={sampleRate:t.sampleRate,channelCount:t.channelCount},e.microphoneId&&(a.audio.deviceId=i?e.microphoneId:{exact:e.microphoneId}),s.echoCancellation&&(a.audio.echoCancellation=!0),s.noiseSuppression&&(a.audio.noiseSuppression=!0),s.autoGainControl&&(a.audio.autoGainControl=!0)),e.video&&(a.video={width:r.width,height:r.height,frameRate:r.maxFrameRate},e.cameraId&&(a.video.deviceId=i?e.cameraId:{exact:e.cameraId}),e.facingMode&&(a.video.facingMode={exact:e.facingMode})),d=new MediaStream,!a.audio&&!a.video)return[3,4];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia(a)];case 2:return d=n.sent(),[3,4];case 3:throw p=n.sent(),u.default.warn("local stream - get camera media stream "+p),u.default.report("local stream - get camera media stream "+p),a.audio?a.video?(b.reportExceptionLog(_._ENUM_LOG_EXCEPTION_TYPE.getMicrophones,{msg:""+p}),b.reportExceptionLog(_._ENUM_LOG_EXCEPTION_TYPE.getCameras,{msg:""+p})):b.reportExceptionLog(_._ENUM_LOG_EXCEPTION_TYPE.getMicrophones,{msg:""+p}):b.reportExceptionLog(_._ENUM_LOG_EXCEPTION_TYPE.getCameras,{msg:""+p}),c.createError(p);case 4:return[2,d]}}))}))},t.getScreenMediaStream=function(e,t){return void 0===e&&(e=!1),n.__awaiter(this,void 0,void 0,(function(){var r,i,o,a;return n.__generator(this,(function(n){switch(n.label){case 0:if(!navigator.mediaDevices.getDisplayMedia)return[3,11];n.label=1;case 1:return n.trys.push([1,3,,10]),[4,navigator.mediaDevices.getDisplayMedia({audio:e,video:{width:{ideal:t.width},height:{ideal:t.height},frameRate:{ideal:t.maxFrameRate}}})];case 2:return r=n.sent(),[3,10];case 3:if(i=n.sent(),u.default.warn("local stream - get screen media stream "+i),u.default.report("local stream - get screen media stream "+i),!(i.message.indexOf("Audio only requests are not supported")>=0))return[3,8];n.label=4;case 4:return n.trys.push([4,6,,7]),[4,navigator.mediaDevices.getDisplayMedia({audio:e,video:{frameRate:t.maxFrameRate}})];case 5:return r=n.sent(),[3,7];case 6:throw o=n.sent(),u.default.warn("local stream - get screen media stream "+o),u.default.report("local stream - get screen media stream1 "+o),c.createError(o);case 7:return[3,9];case 8:throw c.createError(i);case 9:return[3,10];case 10:return[3,12];case 11:throw a=c.createError(c.RtcError.NOT_SUPPORT,"Current browser is not support screen share"),u.default.warn("local stream - get screen media stream "+a),u.default.report("local stream - get screen media stream "+a),a;case 12:return[2,r]}}))}))},t.getElectronScreenMediaStream=function(e,t){return void 0===e&&(e=!1),n.__awaiter(this,void 0,void 0,(function(){var r,i;return n.__generator(this,(function(n){switch(n.label){case 0:e&&g.isMacOS()&&u.default.warn("cannot get screen audio source when share screen in MacOS"),r={audio:!g.isMacOS()&&(e&&{mandatory:{chromeMediaSource:"desktop"}}),video:{mandatory:{chromeMediaSource:"desktop",maxWidth:t.width,maxHeight:t.height,maxFrameRate:t.maxFrameRate}}},n.label=1;case 1:return n.trys.push([1,3,,4]),[4,navigator.mediaDevices.getUserMedia(r)];case 2:return[2,n.sent()];case 3:throw i=n.sent(),u.default.warn("local stream - get screen media stream "+i),u.default.report("local stream - get electron screen media stream "+i),c.createError(i);case 4:return[2]}}))}))},t.getImageStream=function(e,t){return n.__awaiter(this,void 0,void 0,(function(){var r,i,o,a,s;return n.__generator(this,(function(n){switch(n.label){case 0:r=t.width,i=t.height,o=t.maxFrameRate,n.label=1;case 1:return n.trys.push([1,3,,4]),[4,h.ImageStream.createImageElement(e)];case 2:return a=n.sent(),[2,new h.ImageStream(a,r,i,o)];case 3:throw s=n.sent(),u.default.warn("local stream - get image media stream "+s),u.default.report("local stream - get image media stream "+s),c.createError(s);case 4:return[2]}}))}))},t.prototype.hasAudio=function(){return this.audio&&this.audioTrackManager.sourceTracks.length>0},t.prototype.hasVideo=function(){return this.video&&!!this.videoTrackManager.sourceTrack},t.prototype.init=function(){return n.__awaiter(this,void 0,void 0,(function(){var e,r,i,o,a,s,c,p,l,f,h,m=this;return n.__generator(this,(function(n){switch(n.label){case 0:return e=this.config,r=e.audio,i=e.video,o=e.screen,a=e.file,s=e.audioSource,c=e.videoSource,l=!1,c?(f=this.videoResolution,[4,c.applyConstraints({width:{ideal:f.width},height:{ideal:f.height},frameRate:{ideal:f.maxFrameRate}})]):[3,5];case 1:return n.sent(),this.addTrack(c),s?(this.addTrack(s),[3,4]):[3,2];case 2:return r?(l=!0,[4,t.getMicrophoneMediaStream(this.config,this.audioResolution)]):[3,4];case 3:(p=n.sent()).getTracks().forEach((function(e){m.addTrack(e)})),n.label=4;case 4:return[3,20];case 5:return a?(h=this,[4,t.getImageStream(a,this.videoResolution)]):[3,10];case 6:return h.imageStream=n.sent(),(p=this.imageStream.mediaStream).getTracks().forEach((function(e){m.addTrack(e)})),s?(this.addTrack(s),[3,9]):[3,7];case 7:return r?(l=!0,[4,t.getMicrophoneMediaStream(this.config,this.audioResolution)]):[3,9];case 8:(p=n.sent()).getTracks().forEach((function(e){m.addTrack(e)})),n.label=9;case 9:return[3,20];case 10:return o?w?[4,t.getElectronScreenMediaStream(this.config.screenAudio,this.videoResolution)]:[3,12]:[3,18];case 11:return p=n.sent(),[3,14];case 12:return[4,t.getScreenMediaStream(this.config.screenAudio,this.videoResolution)];case 13:p=n.sent(),n.label=14;case 14:return p.getTracks().forEach((function(e){if("video"===e.kind){var t=m;e.onended=function(e){u.default.debug("screen track ended ",this.readyState,e);var r=d.EventManager.createRtcEvent("screen-sharing-stopped",t);t.emit(r.type,r)}}"audio"===e.kind&&(s||r)||m.addTrack(e)})),s?(this.addTrack(s),[3,17]):[3,15];case 15:return r?(l=!0,[4,t.getMicrophoneMediaStream(this.config,this.audioResolution)]):[3,17];case 16:(p=n.sent()).getTracks().forEach((function(e){m.addTrack(e)})),n.label=17;case 17:return[3,20];case 18:return r||i?(l=!0,[4,t.getCameraMediaStream(this.config,this.audioResolution,this.videoResolution)]):[3,20];case 19:(p=n.sent()).getTracks().forEach((function(e){"audio"===e.kind&&s?m.addTrack(s):m.addTrack(e)})),n.label=20;case 20:return l&&y.deviceManager.forceUpdateDevices().then((function(){y.deviceManager.addWatcher(m.onDeviceChanged)})),[2]}}))}))},t.prototype.addTrack=function(e){if("audio"===(null==e?void 0:e.kind)){if(!this.audio){var t=c.createError(c.RtcError.INVALID_OPERATION,"The stream cannot include audio");return void u.default.warn(""+t)}this.audioTrackManager.addTrack(e);var r=this.audioTrackManager.destinationTrack;this.updateMediaStream("audio",r)}else if("video"===(null==e?void 0:e.kind)){if(!this.video){t=c.createError(c.RtcError.INVALID_OPERATION,"The stream cannot include video");return void u.default.warn(""+t)}if(this.videoTrackManager.destinationTrack){t=c.createError(c.RtcError.NOT_SUPPORT,"Video track exists, not support to add 2 or more tracks");u.default.warn(""+t)}else{this.videoTrackManager.addTrack(e);r=this.videoTrackManager.destinationTrack;this.updateMediaStream("video",r)}}else{t=c.createError(c.RtcError.INVALID_PARAMETER,"Unknown track");u.default.warn(""+t)}},t.prototype.removeTrack=function(e){if("audio"===(null==e?void 0:e.kind)){this.audioTrackManager.removeTrack(e,!0);var t=this.audioTrackManager.destinationTrack;this.updateMediaStream("audio",t)}else if("video"===(null==e?void 0:e.kind)){this.videoTrackManager.removeTrack(e,!0);t=this.videoTrackManager.destinationTrack;this.updateMediaStream("video",t)}else{var r=c.createError(c.RtcError.INVALID_PARAMETER,"Unknown track");u.default.warn(""+r)}},t.prototype.replaceTrack=function(e){var t;if("audio"===(null==e?void 0:e.kind)){(t=this.audioTrackManager.sourceTracks[0])&&this.audioTrackManager.removeTrack(t,!0),this.audioTrackManager.addTrack(e);var r=this.audioTrackManager.destinationTrack;this.updateMediaStream("audio",r)}else if("video"===(null==e?void 0:e.kind)){(t=this.videoTrackManager.sourceTrack)&&this.videoTrackManager.removeTrack(t,!0),this.imageStream&&this.imageStream.enable&&(this.imageStream.enable=!1),this.videoTrackManager.addTrack(e);r=this.videoTrackManager.destinationTrack;this.updateMediaStream("video",r)}return t},t.prototype.setAudioLevel=function(e){this.audioTrackManager.setLevel(e)},t.prototype.setAudioProfile=function(e){this.audioResolution=p.getAudioResolution(e)},t.prototype.setVideoProfile=function(e){var t,r;return n.__awaiter(this,void 0,void 0,(function(){var i;return n.__generator(this,(function(n){switch(n.label){case 0:return i="object"==typeof e?p.getCustomVideoResolution(e):p.getVideoResolution(e),this.imageStream&&this.imageStream.enable&&this.imageStream.updateResolution(i.width,i.height,i.maxFrameRate),[4,null===(t=this.videoTrackManager.sourceTrack)||void 0===t?void 0:t.applyConstraints({width:{ideal:i.width},height:{ideal:i.height},frameRate:{ideal:i.maxFrameRate}})];case 1:return n.sent(),this._videoResolution=i,[4,null===(r=this._session)||void 0===r?void 0:r.updateVP(this)];case 2:return n.sent(),[2]}}))}))},t.prototype.setScreenProfile=function(e){"string"==typeof e?this._screenResolution=p.getScreenResolution(e):"object"==typeof e&&(this._screenResolution=p.getCustomVideoResolution(e))},t.prototype.switchDevice=function(e,r){return n.__awaiter(this,void 0,void 0,(function(){var o,a,s,d,p,l,f,h,m;return n.__generator(this,(function(n){switch(n.label){case 0:if("audio"!==e)return[3,5];if(!this.hasAudio())throw d=c.createError(c.RtcError.AUDIO_NOT_EXISTS,"The stream does not include audio track"),u.default.warn("switch device - "+d),d;n.label=1;case 1:return n.trys.push([1,3,,4]),[4,t.getCameraMediaStream({audio:!0,microphoneId:r,video:!1,screen:!1},this.audioResolution,this.videoResolution)];case 2:if(o=n.sent(),!(p=o.getAudioTracks()[0]))throw d=c.createError(c.RtcError.NOT_EXISTS,"No audio track, cannot switch microphone");return(h=this.audioTrackManager.sourceTracks[0])&&this.audioTrackManager.removeTrack(h,!0),this.audioTrackManager.addTrack(p,!0),a=this.audioTrackManager.destinationTrack,this.updateMediaStream("audio",a),null==h||h.stop(),this.config.microphoneId=r,[3,4];case 3:throw s=n.sent(),u.default.warn("switch device - "+s),s;case 4:return[3,15];case 5:if("video"!==e)return[3,15];if(!this.hasVideo())throw d=c.createError(c.RtcError.VIDEO_NOT_EXISTS,"The stream does not include video track"),u.default.warn("switch device - "+d),d;if(this.mediaType!==i._ENUM_MEDIA_TYPE.camera)throw d=c.createError(c.RtcError.INVALID_OPERATION,"The mediaType of current stream isn't camera"),u.default.warn("switch device - "+d),d;p=void 0,n.label=6;case 6:return n.trys.push([6,8,,14]),[4,t.getCameraMediaStream({audio:!1,video:!0,cameraId:r,screen:!1},this.audioResolution,this.videoResolution)];case 7:return f=n.sent(),p=f.getVideoTracks()[0],[3,14];case 8:return"OverconstrainedError"!==(l=n.sent()).name?[3,10]:(u.default.warn("switch camera - ",l," try to use un-strict deviceId"),[4,t.getCameraMediaStream({audio:!1,video:!0,cameraId:r,screen:!1},this.audioResolution,this.videoResolution,!0)]);case 9:return f=n.sent(),p=f.getVideoTracks()[0],[3,13];case 10:return"NotReadableError"!==l.name?[3,12]:[4,this.forceSwitchCamera(r)];case 11:return m=n.sent(),r=m[0],p=m[1],[3,13];case 12:throw l;case 13:return[3,14];case 14:null==(h=this.replaceTrack(p))||h.stop(),this.config.cameraId=r,n.label=15;case 15:return[2]}}))}))},t.prototype.switchImage=function(e){var r;return n.__awaiter(this,void 0,void 0,(function(){var i,o,a,s,d;return n.__generator(this,(function(n){switch(n.label){case 0:if(!this.hasVideo())throw i=c.createError(c.RtcError.VIDEO_NOT_EXISTS,"The stream does not include video"),u.default.warn("switch image - "+i),i;return this.imageStream&&this.imageStream.enable?[4,h.ImageStream.createImageElement(e)]:[3,3];case 1:return o=n.sent(),[4,null===(r=this.imageStream)||void 0===r?void 0:r.updateSource(o)];case 2:return n.sent(),[3,5];case 3:return a=this,[4,t.getImageStream(e,this.videoResolution)];case 4:a.imageStream=n.sent(),s=this.imageStream.mediaStream.getVideoTracks()[0],d=this.replaceTrack(s),u.default.debug("switch image - old track ",d),null==d||d.stop(),n.label=5;case 5:return[2]}}))}))},t.prototype.destroy=function(){y.deviceManager.removeWatcher(this.onDeviceChanged),this.stop(),this.releaseMediaStream()},t.plugins={},n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"initPlugins",null),n.__decorate([a.noenumerable(),n.__metadata("design:type",s._PublishConnection)],t.prototype,"connection",void 0),n.__decorate([a.nowe(),n.__metadata("design:type",Object)],t.prototype,"config",void 0),n.__decorate([a.nowe(),n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],t.prototype,"options",null),n.__decorate([a.noenumerable(),n.__metadata("design:type",Number)],t.prototype,"status",void 0),n.__decorate([a.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"isPublishEventEmitted",void 0),n.__decorate([a.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"audioResolution",void 0),n.__decorate([a.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"_videoResolution",void 0),n.__decorate([a.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"_screenResolution",void 0),n.__decorate([a.nowe(),n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],t.prototype,"videoResolution",null),n.__decorate([a.nowe(),n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],t.prototype,"videoTrackSettings",null),n.__decorate([a.nowe(),n.__metadata("design:type",Number),n.__metadata("design:paramtypes",[])],t.prototype,"minVideoBitRate",null),n.__decorate([a.nowe(),n.__metadata("design:type",Number),n.__metadata("design:paramtypes",[])],t.prototype,"maxVideoBitRate",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,String,String]),n.__metadata("design:returntype",Promise)],t.prototype,"connect",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"releaseMediaStream",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"disconnect",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",Promise)],t.prototype,"reconnect",null),n.__decorate([a.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"republishTimer",void 0),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Number]),n.__metadata("design:returntype",void 0)],t.prototype,"republish",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Number]),n.__metadata("design:returntype",void 0)],t.prototype,"triggerRepublish",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"bindConnectionEvents",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"unbindConnectionEvents",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",Promise)],t.prototype,"answer",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,MediaStreamTrack]),n.__metadata("design:returntype",void 0)],t.prototype,"updateMediaStream",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",Promise)],t.prototype,"forceSwitchCamera",null),n.__decorate([a.noenumerable(),n.__metadata("design:type",h.ImageStream)],t.prototype,"imageStream",void 0),n.__decorate([a.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"wait4microphone",void 0),n.__decorate([a.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"wait4camera",void 0),n.__decorate([a.nowe(),n.__metadata("design:type",Object)],t.prototype,"onDeviceChanged",void 0),n.__decorate([a.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Promise)],t.prototype,"init",null),n.__decorate([a.log(),m.validate(!1),n.__param(0,m.validateParameter((function(e){return e instanceof MediaStreamTrack}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[MediaStreamTrack]),n.__metadata("design:returntype",void 0)],t.prototype,"addTrack",null),n.__decorate([a.log(),m.validate(!1),n.__param(0,m.validateParameter((function(e){return e instanceof MediaStreamTrack}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[MediaStreamTrack]),n.__metadata("design:returntype",void 0)],t.prototype,"removeTrack",null),n.__decorate([a.log(),m.validate(!1),n.__param(0,m.validateParameter((function(e){return e instanceof MediaStreamTrack}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[MediaStreamTrack]),n.__metadata("design:returntype",Object)],t.prototype,"replaceTrack",null),n.__decorate([a.log(),m.validate(!1),n.__param(0,m.validateParameter(m.isValidVolume)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Number]),n.__metadata("design:returntype",void 0)],t.prototype,"setAudioLevel",null),n.__decorate([a.log(),m.validate(!1),n.__param(0,m.validateParameter(p.isValidAudioProfile)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",void 0)],t.prototype,"setAudioProfile",null),n.__decorate([a.log(),m.validate(!0),n.__param(0,m.validateParameter((function(e){return!m.isNil(e)&&("string"==typeof e?p.isValidVideoProfile(e):p.isValidCustomVideoProfile(e))}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",Promise)],t.prototype,"setVideoProfile",null),n.__decorate([a.log(),m.validate(!1),n.__param(0,m.validateParameter((function(e){return!m.isNil(e)&&("string"==typeof e?p.isValidScreenProfile(e):p.isValidCustomVideoProfile(e))}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",void 0)],t.prototype,"setScreenProfile",null),n.__decorate([a.log(),m.validate(!0),n.__param(0,m.validateParameter((function(e){return"audio"!==e&&"video"!==e}))),n.__param(1,m.validateParameter(m.isValidString)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,String]),n.__metadata("design:returntype",Promise)],t.prototype,"switchDevice",null),n.__decorate([a.log(),m.validate(!0),n.__param(0,m.validateParameter(m.isValidFile)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",Promise)],t.prototype,"switchImage",null),n.__decorate([a.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"destroy",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[t]),n.__metadata("design:returntype",Number)],t,"getVP",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,Boolean]),n.__metadata("design:returntype",Promise)],t,"getMicrophoneMediaStream",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object,Object,Boolean]),n.__metadata("design:returntype",Promise)],t,"getCameraMediaStream",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object]),n.__metadata("design:returntype",Promise)],t,"getScreenMediaStream",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object]),n.__metadata("design:returntype",Promise)],t,"getElectronScreenMediaStream",null),n.__decorate([a.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object]),n.__metadata("design:returntype",Promise)],t,"getImageStream",null),t}(o.Stream);t.LocalStream=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLocalhost=t.isHttps=t.isPromise=t.randNum=t.formatTime=void 0,t.formatTime=function(e,t){void 0===t&&(t="YYYY/MM/DD HH:mm:ss");var r={"M+":e.getMonth()+1,"D+":e.getDate(),"H+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};for(var n in/(y+)/i.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),r)new RegExp("("+n+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?r[n]:("00"+r[n]).substr((""+r[n]).length)));return t},t.randNum=function(e){for(var t="",r=0;r<e;++r)t+="0123456789".charAt(Math.floor(100*Math.random()%10));return t},t.isPromise=function(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then},t.isHttps=function(){return"https"===window.location.protocol},t.isLocalhost=function(){return"localhost"===window.location.hostname}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Session=void 0;var n=r(0),i=r(4),o=r(8),a=r(28),s=r(1),c=r(5),d=r(30),u=r(21),p=r(56),l=r(31),f=r(15),h=r(2),m=r(32),v=r(12),g=r(43),_=r(4),y=r(10),b=r(27),w=["publish","subscribe","sdp","unpublish","unsubscribe","updatevp","mute","ping","syncroom","logoff"],S=y.getLogReporterInstance(),E=function(e){function t(t,r,n,i,a,f,h,m,v,g){var _=e.call(this)||this;_.appId=t,_.appToken=r,_.roomId=n,_.roomType=i,_.userId=a,_.roleType=f,_.audioCodec=h,_.videoCodec=m,_.networkQualityEvaluator=v,_.eventManager=g,_.sessionId="",_.signalManager=new l.SignalManager,_.connection=new p.Connection(_.signalManager),_.rpcMap=new Map,_.joinRoomType=o._ENUM_JOIN_ROOM_TYPE.default,_.isInRoom=!1,_.isClosed=!1,_.networkEvaluationHandler=function(e){var t,r=e[0],n=e[1];s.default.debug("network worse up: %s, down: %s ",r,n),(null===(t=_.signalSwitchConfig)||void 0===t?void 0:t.switch_on)&&(r||n?_.signalManager.punish():_.signalManager.award())},_.heartbeatTimer=0,_.pingTimeout=0,s.default.debug("session parameters: ",_.audioCodec,_.videoCodec,_.connection,_.sessionId,_.rpcMap,_.roomId,_.userId,_.signalSwitchConfig);var y=c.getDeviceInfo(),b=c.getSystemInfo(),w=c.getCPUInfo();return _._deviceInfo={sdkv:u.version,agent:d.getAgentInfo(),device:y.vendor+"_"+y.brand+"_"+y.model,system:""+b.name+b.version+"_"+b.versionName,network:""+c.getNetworkInfo().network,cpu:w.brand+"_"+w.model+"_"+w.core,mem:c.getMemInfo().capacity+"GB"},_.init(),_}return n.__extends(t,e),Object.defineProperty(t.prototype,"deviceInfo",{get:function(){return a.encode(this._deviceInfo)},enumerable:!1,configurable:!0}),t.prototype.clearCachedRPC=function(){var e=this;this.rpcMap.forEach((function(t,r){var n=t.callback;n&&n(h.createError(h.RtcError.BAD_REQUEST,t.req.method+" request failed")),e.rpcMap.delete(r)}))},Object.defineProperty(t.prototype,"isConnected",{get:function(){return this.connection.isOpened},enumerable:!1,configurable:!0}),t.prototype.disconnect=function(e){this.isClosed=!0,this.networkQualityEvaluator.off("network-evaluation",this.networkEvaluationHandler),this.connection.close(1e3,e||"disconnect"),s.default.debug("session closed"),this.clearCachedRPC()},t.prototype.init=function(){var e=this;this.connection.on("state-changed",(function(t,r){var n,i,o,a,c,d,u;if(s.default.debug("connection state changed "+t+" -> "+r),"CLOSED"===t&&"CONNECTING"===r){var p=_.EventManager.createRtcEvent("connection-state-changed",{previous:t,current:r});null===(n=e.eventManager)||void 0===n||n.emit(p.type,p)}if("CONNECTING"===t&&"OPEN"===r){var l=_.EventManager.createRtcEvent("connection-state-changed",{previous:t,current:r});null===(i=e.eventManager)||void 0===i||i.emit(l.type,l)}if("OPEN"===t&&"CLOSING"===r){e.stopHeartbeat();var f=_.EventManager.createRtcEvent("connection-state-changed",{previous:t,current:r});null===(o=e.eventManager)||void 0===o||o.emit(f.type,f)}if("RECONNECTING"===t&&"CLOSING"===r){var m=_.EventManager.createRtcEvent("connection-state-changed",{previous:t,current:r});null===(a=e.eventManager)||void 0===a||a.emit(m.type,m)}if("CLOSING"===t&&"CLOSED"===r){e.stopHeartbeat();var v=_.EventManager.createRtcEvent("connection-state-changed",{previous:t,current:r});null===(c=e.eventManager)||void 0===c||c.emit(v.type,v)}if("OPEN"===t&&"RECONNECTING"===r){e.isInRoom=!1,e.stopHeartbeat(),e.clearCachedRPC();var g=_.EventManager.createRtcEvent("connection-state-changed",{previous:t,current:r});null===(d=e.eventManager)||void 0===d||d.emit(g.type,g)}if("RECONNECTING"===t&&"OPEN"===r){var b=e.connection.connectId;e.rejoinRoom().catch((function(t){if(s.default.warn("rejoin room failed "+t+" after connection reopened"),S.reportExceptionLog(y._ENUM_LOG_EXCEPTION_TYPE.reconnect,{msg:"rejoin room failed after connection reopened ["+b+"] - "+t}),b===e.connection.connectId)return e.rejoinRoom()})).catch((function(t){if(s.default.warn("rejoin room failed "+t+" after connection reopened"),S.reportExceptionLog(y._ENUM_LOG_EXCEPTION_TYPE.reconnect,{msg:"rejoin room 2 failed after connection reopened ["+b+"] - "+t}),b===e.connection.connectId)return e.rejoinRoom()})).catch((function(e){throw s.default.warn("rejoin room failed "+e+" after connection reopened"),S.reportExceptionLog(y._ENUM_LOG_EXCEPTION_TYPE.reconnect,{msg:"rejoin room 3 failed after connection reopened ["+b+"] - "+e}),e})).then((function(){var n;if(b===e.connection.connectId){var i=_.EventManager.createRtcEvent("connection-state-changed",{previous:t,current:r});null===(n=e.eventManager)||void 0===n||n.emit(i.type,i)}})).catch((function(t){var r,n=_.EventManager.createRtcEvent("error",h.createError(t));null===(r=e.eventManager)||void 0===r||r.emit(n.type,n),e.disconnect("rejoin failed")}))}if("RECONNECTING"===t&&"CLOSED"===r){e.emit("i-session-disconnected"),e.isClosed=!0,e.networkQualityEvaluator.off("network-evaluation",e.networkEvaluationHandler);var w=_.EventManager.createRtcEvent("connection-state-changed",{previous:"RECONNECTING",current:"CLOSED"});null===(u=e.eventManager)||void 0===u||u.emit(w.type,w)}})),this.connection.on("receive-message",(function(t){var r,n;e.clearPingTimeout();try{r=JSON.parse(t.data)}catch(e){return s.default.warn("connection receive message error "+e),void s.default.report("connection receive message error "+e)}if(!r)return s.default.warn("connection receives blank message "+r),void s.default.report("connection receives blank message "+r);e.rpcMap.has(r.rpc_id)&&(n=e.rpcMap.get(r.rpc_id),e.rpcMap.delete(r.rpc_id));var i=(n=n||{}).req,a=n.callback;if(s.default.debug("socket request: ",i),s.default.debug("socket response: ",r),i){if("function"!=typeof a&&(a=function(){}),0!==r.err)return"queymix"===i.method&&"can't find job"===r.msg?void a(void 0,r.data):void a(h.createError(""+r.err,r.msg));a(void 0,r.data)}else{switch(r.method){case"userst":s.default.debug("receive userst ",r.data),r.data.cmdtype===o._ENUM_USER_CMD_TYPE.join&&(s.default.debug("receive user join"),e.onUserJoin(r.data)),r.data.cmdtype===o._ENUM_USER_CMD_TYPE.leave&&(s.default.debug("receive user leave"),e.onUserLeave(r.data));break;case"streamst":s.default.debug("receive streamst ",r.data),r.data.cmdtype===o._ENUM_STREAM_CMD_TYPE.add&&(s.default.debug("receive stream add"),e.onAddStream(r.data)),r.data.cmdtype===o._ENUM_STREAM_CMD_TYPE.remove&&(s.default.debug("receive stream remove"),e.onRemoveStream(r.data));break;case"transportclose":s.default.debug("receive transportclose ",r.data),e.onTransportClose(r.data);break;case"transporttimeout":s.default.debug("receive transporttimeout ",r.data),e.onTransportTimeout(r.data);break;case"trackst":switch(s.default.debug("receive trackst ",r.data),r.data.track_type){case o._ENUM_TRACK_TYPE.audio:s.default.debug("receive audio mute: "+r.data.muted),e.onAudioTrackst(r.data);break;case o._ENUM_TRACK_TYPE.video:s.default.debug("receive video mute: "+r.data.muted),e.onVideoTrackst(r.data);break;case o._ENUM_TRACK_TYPE.data:s.default.debug("receive data mute: "+r.data.muted);break;default:s.default.warn("trackst unknown track type ",r.data.track_type)}break;case"kickoff":s.default.debug("receive kickoff ",r.data),e.onKickoff(r.data);break;case"mixnotify":s.default.debug("receive mixnotify ",r.data);break;case"logoffnotify":s.default.debug("receive logoffnotify ",r.data),e.onLogoffNotify(r.data)}e.emit(r.method,r)}})),this.connection.on("reconnect-times",(function(t){if(!e.isClosed){if(t>=p.Connection.MAX_RECONNECT_TIMES)return s.default.warn("reconnection times exceeded, will not retry."),void s.default.report("max reconnection times "+p.Connection.MAX_RECONNECT_TIMES+" exceeded");s.default.warn("Reconnection is failed, will restart later..."),window.setTimeout((function(){e.isClosed||(18===t||36===t?e.reconnect("refresh"):t%2==0?e.reconnect("change"):e.reconnect("keep"))}),p.Connection.RETRY_INTERVAL)}}))},t.prototype.ping=function(){var e=this;return new Promise((function(t,r){var n={app_id:e.appId,room_id:e.roomId,user_id:e.userId};e.send("ping",n,(function(n,i){s.default.debug("ping callback ",i),n?r(n):(e.roomVersion!==i.version&&(e.roomVersion=i.version,e.syncRoom().catch((function(e){s.default.debug("sync room failed ",e),s.default.report("sync room failed ",e)}))),t())}))}))},t.prototype.clearHeartbeatTimer=function(){this.heartbeatTimer&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=0)},t.prototype.clearPingTimeout=function(){this.pingTimeout&&(window.clearTimeout(this.pingTimeout),this.pingTimeout=0)},t.prototype.startHeartbeat=function(){var e=this;this.heartbeatTimer=window.setInterval((function(){e.heartbeat()}),5e3)},t.prototype.heartbeat=function(){var e=this;this.pingTimeout||(this.pingTimeout=window.setTimeout((function(){e.reconnect("keep")}),1e4)),this.ping().then((function(){s.default.debug("heartbeat success")})).catch((function(e){s.default.warn("heartbeat "+e.message)}))},t.prototype.stopHeartbeat=function(){this.clearHeartbeatTimer(),this.clearPingTimeout()},t.prototype.send=function(e,t,r){var n=this;if(this.isConnected&&!this.isInRoom&&w.includes(e)){var i=h.createError(h.RtcError.BAD_REQUEST,"the session is closed, maybe you are in joining or reconnecting");r&&r(i)}else{var o=d.getId(),a=.1;"ping"===e&&(a=1.1);var s={method:e,version:a,rpc_id:o,data:t},c={req:s,callback:r};this.rpcMap.set(o,c);var u=JSON.stringify(s);this.connection.send(u).catch((function(e){r&&r(e),n.rpcMap.delete(o)}))}},t.getSignal=function(e,t,r,i,c,u,p){return n.__awaiter(this,void 0,void 0,(function(){var v,g,_,y,b,w,S,E,R,T,C,P,O;return n.__generator(this,(function(n){switch(n.label){case 0:if(v=[],f.SERVER_CONFIG.signal){if(g=/[\w\-\.]+/gi,!/^wss:\/\/[\w\-\.]+:\d+$/i.test(f.SERVER_CONFIG.signal))throw h.createError(h.RtcError.SIGNAL_ADDRESS_INVALID,"Invalid signal address "+f.SERVER_CONFIG.signal);if(!((_=f.SERVER_CONFIG.signal.match(g))&&_.length>=3))throw h.createError(h.RtcError.SIGNAL_ADDRESS_INVALID,"Invalid signal address "+f.SERVER_CONFIG.signal);return 1,v.push(new l.Signal(_[1],_[2],1)),[2,[v,void 0]]}y=i===o._ENUM_ROOM_TYPE.live?{data:{Action:"rsugetlivegateway",rpc_id:d.getId(),user_id:c,room_id:r,app_id:e,token:t,devinfo:p,role:u}}:{data:{Action:"rsugetrtcgateway",rpc_id:d.getId(),user_id:c,room_id:r,app_id:e,token:t,devinfo:p,role:u}},n.label=1;case 1:return n.trys.push([1,3,,8]),[4,m.get(y)];case 2:return b=n.sent(),[3,8];case 3:w=n.sent(),s.default.warn("get signal failed [first time] ",w,JSON.stringify(y.data)),s.default.report("get signal failed [first time] ",w,JSON.stringify(y.data)),n.label=4;case 4:return n.trys.push([4,6,,7]),y.data.rpc_id=d.getId(),[4,m.get(y)];case 5:return b=n.sent(),[3,7];case 6:throw S=n.sent(),s.default.warn("get signal failed [second time] ",S,JSON.stringify(y.data)),s.default.report("get signal failed [second time] ",S,JSON.stringify(y.data)),h.createError(h.RtcError.GET_ACCESS_TOKEN_FAILED,""+(S&&S.message?S.message:S));case 7:return[3,8];case 8:E=b.data,R=b.err,T=b.msg,0!==R&&(s.default.warn("get signal response code["+R+"], msg["+T+"]",JSON.stringify(b),JSON.stringify(y.data)),s.default.report("get signal response code["+R+"], msg["+T+"]",JSON.stringify(b),JSON.stringify(y.data))),C=E.access_token,P=E.auto_switch,s.default.debug("getGW token ",C,P);try{O=a.decode(C),s.default.debug("getGW decoded token ",O)}catch(e){throw s.default.warn("decode access token failed ",e,JSON.stringify(b),JSON.stringify(y.data)),s.default.report("decode access token failed ",e,JSON.stringify(b),JSON.stringify(y.data)),h.createError(h.RtcError.ACCESS_TOKEN_INVALID,"Get invalid access token "+C+" ["+JSON.stringify(b)+"] ["+JSON.stringify(y.data)+"]")}if(!(O.length>=0))throw s.default.warn("no signal decoded from access token",JSON.stringify(b),JSON.stringify(y.data)),s.default.report("no signal decoded from access token ["+C+"]",JSON.stringify(b),JSON.stringify(y.data)),h.createError(h.RtcError.ACCESS_TOKEN_INVALID,"Get invalid access token "+C+" ["+JSON.stringify(b)+"] ["+JSON.stringify(y.data)+"]");return O.forEach((function(e){v.push(new l.Signal(e.singal,e.port,e.ssl))})),[2,[v,P]]}}))}))},t.prototype.setRole=function(e){if(this.roomType===o._ENUM_ROOM_TYPE.conference&&e!==o._ENUM_ROLE_TYPE.allStream)throw h.createError(h.RtcError.INVALID_OPERATION,"The role must be 'speaker' in conference mode");this.roleType=e},t.prototype.joinRoom=function(){return n.__awaiter(this,void 0,void 0,(function(){var e,r,i,a,c,d,u,p=this;return n.__generator(this,(function(n){switch(n.label){case 0:return[4,t.getSignal(this.appId,this.appToken,this.roomId,this.roomType,this.userId,this.roleType,this.deviceInfo)];case 1:e=n.sent(),r=e[0],i=e[1],r.forEach((function(e){p.signalManager.add(e)})),i&&(this.signalSwitchConfig=i,a=i.push_threshold,c=i.pull_threshold,d={upLossRate:60,downLossRate:60},a&&a.lost&&(d.upLossRate=a.lost),c&&c.lost&&(d.downLossRate=c.lost),this.networkQualityEvaluator.thresholds=d),n.label=2;case 2:return n.trys.push([2,4,,6]),[4,this.connection.connect()];case 3:return n.sent(),[3,6];case 4:return u=n.sent(),s.default.report("start websocket connection first time failed",u),[4,this.connection.connect(!0)];case 5:return n.sent(),[3,6];case 6:return[2,new Promise((function(e,t){var r={app_id:p.appId,room_id:p.roomId,user_id:p.userId,authtoken:p.appToken,devinfo:p.deviceInfo,role_type:p.roleType,room_type:p.roomType,sessionid:p.sessionId,cmdtype:p.joinRoomType,whiteid:window.navigator.userAgent};p.send("joinroom",r,(function(r,n){if(r)t(r);else{p.networkQualityEvaluator.on("network-evaluation",p.networkEvaluationHandler),b.default.flush(),p.joinRoomType=o._ENUM_JOIN_ROOM_TYPE.reconnect,p.isInRoom=!0,p.startHeartbeat();var i=n,a=i.users,c=void 0===a?[]:a,d=i.streams,u=void 0===d?[]:d;s.default.debug("onJoinRoom ",c,u),u=u||[];var l=(c=c||[]).filter((function(e){return e.user_id!==p.userId})),f=u.filter((function(e){return e.uid!==p.userId}));l.forEach((function(e){p.onUserJoin(e)})),f.forEach((function(e){p.onAddStream(e)})),e()}}))}))]}}))}))},t.prototype.rejoinRoom=function(){return n.__awaiter(this,void 0,void 0,(function(){var e=this;return n.__generator(this,(function(t){return[2,new Promise((function(t,r){var n={app_id:e.appId,room_id:e.roomId,user_id:e.userId,authtoken:e.appToken,devinfo:e.deviceInfo,role_type:e.roleType,room_type:e.roomType,sessionid:e.sessionId,cmdtype:e.joinRoomType};e.send("joinroom",n,(function(n,i){if(n)r(n);else{e.joinRoomType=o._ENUM_JOIN_ROOM_TYPE.reconnect,e.isInRoom=!0,e.startHeartbeat();var a=i,c=a.users,d=void 0===c?[]:c,u=a.streams,p=void 0===u?[]:u;s.default.debug("onRejoinRoom ",d,p),t(),d=(d=d||[]).filter((function(t){return t.user_id!==e.userId}));var l=(p=(p=p||[]).filter((function(t){return t.uid!==e.userId}))).map(g.extractRawCommonStream);e.emit("i-rejoin-users",d),e.emit("i-rejoin-streams",l)}}))}))]}))}))},t.prototype.syncRoom=function(){var e=this;return new Promise((function(t,r){var n={app_id:e.appId,room_id:e.roomId,user_id:e.userId};e.send("syncroom",n,(function(n,i){if(s.default.debug("ping callback ",i),n)r(n);else{var o=i,a=o.users,c=void 0===a?[]:a,d=o.streams,u=void 0===d?[]:d;s.default.debug("syncRoom ",c,u),t(),c=(c=c||[]).filter((function(t){return t.user_id!==e.userId}));var p=(u=(u=u||[]).filter((function(t){return t.uid!==e.userId}))).map(g.extractRawCommonStream);e.emit("i-sync-users",c),e.emit("i-sync-streams",p)}}))}))},t.prototype.leaveRoom=function(){return n.__awaiter(this,void 0,void 0,(function(){var e=this;return n.__generator(this,(function(t){return[2,Promise.resolve().then((function(){b.default.flush(),e.isInRoom=!1;var t={room_id:e.roomId};e.send("leaveroom",t,(function(){})),e.disconnect("1000")}))]}))}))},t.prototype.publish=function(e){return n.__awaiter(this,void 0,void 0,(function(){var t,r,i,a;return n.__generator(this,(function(n){switch(n.label){case 0:if(this.roleType===o._ENUM_ROLE_TYPE.pullStream)throw h.createError(h.RtcError.NOT_SUPPORT,"Current role type is audience, cannot publish stream");return[4,this._publish(e)];case 1:if(!(t=n.sent()))throw r=h.createError(h.RtcError.OTHERS,"publish stream ID is not exists."),s.default.warn("publish "+e.id4Log+" failed ",r),s.default.report("publish "+e.id4Log+" failed ",r),r;n.label=2;case 2:return n.trys.push([2,5,,6]),[4,e.connect(t,this.audioCodec,this.videoCodec)];case 3:return i=n.sent(),[4,this._publishSDP(e,i)];case 4:return n.sent(),e.hasVideo()&&this.updateVP(e).catch((function(t){s.default.warn("update vp failed"),s.default.report("update "+e.id4Log+" vp failed ",t)})),[3,6];case 5:throw a=n.sent(),s.default.warn("publish "+e.id4Log+" failed ",a),s.default.report("publish "+e.id4Log+" failed ",a),e.disconnect(),a;case 6:return e.hasAudio()&&e.audioMuted&&e.syncMute("mute","audio"),e.hasVideo()&&e.videoMuted&&e.syncMute("mute","video"),[2]}}))}))},t.prototype._publish=function(e){var t=this;return new Promise((function(r,i){var o={user_id:t.userId,media_type:e.mediaType,audio:e.hasAudio(),video:e.hasVideo(),data:!1,muteaudio:e.audioMuted,mutevideo:e.videoMuted,vp:v.LocalStream.getVP(e),payload:t.videoCodec};t.send("publish",o,(function(e,o){return n.__awaiter(t,void 0,void 0,(function(){return n.__generator(this,(function(t){return e?i(e):r(o.stream_id),[2]}))}))}))}))},t.prototype._publishSDP=function(e,t){return n.__awaiter(this,void 0,void 0,(function(){var r=this;return n.__generator(this,(function(i){return[2,new Promise((function(i,o){var a={src:{user_id:r.userId,stream_id:e.remoteId,stream_type:e.streamType,media_type:e.mediaType},sdp:{type:"offer",sdpcontent:t,minbitrate:e.minVideoBitRate,maxbitrate:e.hasVideo()?"h265"===r.videoCodec?4e3:e.maxVideoBitRate:1e3}};r.send("sdp",a,(function(t,a){return n.__awaiter(r,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:return t?(o(t),[3,4]):[3,1];case 1:return n.trys.push([1,3,,4]),[4,e.answer(a.sdp.sdpcontent)];case 2:return n.sent(),i(),[3,4];case 3:return r=n.sent(),o(h.createError(r)),[3,4];case 4:return[2]}}))}))}))}))]}))}))},t.prototype.updateVP=function(e){return n.__awaiter(this,void 0,void 0,(function(){var t=this;return n.__generator(this,(function(r){return[2,new Promise((function(r,n){var i={app_id:t.appId,room_id:t.roomId,user_id:t.userId,stream_id:e.remoteId,vp:v.LocalStream.getVP(e),maxbitrate:e.maxVideoBitRate,minbitrate:e.minVideoBitRate};t.send("updatevp",i,(function(t){t?(s.default.report("update vp of stream["+e.remoteId+"] failed: "+t),n(t)):(S.reportOperationLog(y._ENUM_LOG_OPERATION_TYPE.updateVP,{streamId:e.remoteId,msg:e.videoResolution.width+"*"+e.videoResolution.height}),r())}))}))]}))}))},t.prototype.subscribe=function(e){return n.__awaiter(this,void 0,void 0,(function(){var t,r,i,a;return n.__generator(this,(function(n){switch(n.label){case 0:if(this.roleType===o._ENUM_ROLE_TYPE.pushStream)throw h.createError(h.RtcError.NOT_SUPPORT,"Current role type is push, cannot subscribe stream");return[4,this._subscribe(e)];case 1:if(!(t=n.sent()))throw r=h.createError(h.RtcError.OTHERS,"subscribe stream sub ID is not exists."),s.default.warn("subscribe "+e.id4Log+" failed ",r),s.default.report("subscribe "+e.id4Log+" failed ",r),r;n.label=2;case 2:return n.trys.push([2,5,,6]),[4,e.connect(t)];case 3:return i=n.sent(),[4,this._subscribeSDP(e,i)];case 4:return n.sent(),[3,6];case 5:throw a=n.sent(),s.default.warn("subscribe "+e.id4Log+" failed ",a),s.default.report("subscribe "+e.id4Log+" failed ",a),e.disconnect(),this.syncRoom().catch((function(e){s.default.debug("sync room failed ",e)})),a;case 6:return[2]}}))}))},t.prototype._subscribe=function(e){var t=this;return new Promise((function(r,i){var o={src:{user_id:t.userId,audio:e.hasAudio(),video:e.hasVideo(),data:!1},dst:{user_id:e.userId,stream_id:e.id,media_type:e.mediaType}};t.send("subscribe",o,(function(e,o){return n.__awaiter(t,void 0,void 0,(function(){return n.__generator(this,(function(t){return e?i(e):r(o.streamsub_id),[2]}))}))}))}))},t.prototype._subscribeSDP=function(e,t){return n.__awaiter(this,void 0,void 0,(function(){var r=this;return n.__generator(this,(function(i){return[2,new Promise((function(i,o){var a={src:{user_id:r.userId,stream_id:e.remoteId,stream_type:e.streamType,media_type:e.mediaType},sdp:{type:"offer",sdpcontent:t}};r.send("sdp",a,(function(t,a){return n.__awaiter(r,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:return t?(o(t),[3,4]):[3,1];case 1:return n.trys.push([1,3,,4]),[4,e.answer(a.sdp.sdpcontent)];case 2:return n.sent(),i(),[3,4];case 3:return r=n.sent(),o(h.createError(r)),[3,4];case 4:return[2]}}))}))}))}))]}))}))},t.prototype.unpublish=function(e){var t,r=this,n=null===(t=e.connection)||void 0===t?void 0:t.isConnectionFailed;return new Promise((function(t,i){var o={user_id:r.userId,stream_id:e.remoteId,media_type:e.mediaType};r.send("unpublish",o,(function(r){r&&!n?i(r):(e.disconnect(),t())}))}))},t.prototype.unsubscribe=function(e){var t,r=this,n=null===(t=e.connection)||void 0===t?void 0:t.isConnectionFailed;return new Promise((function(t,i){var o={src:{user_id:r.userId,streamsub_id:e.remoteId},dst:{user_id:e.userId,stream_id:e.id,media_type:e.mediaType}};r.send("unsubscribe",o,(function(r){r&&!n?i(r):(e.disconnect(),t())}))}))},t.prototype.muteAudio=function(e,t){var r=this;return new Promise((function(n,i){var a,s,c=function(e){e?i(e):n()},d={user_id:r.userId,stream_id:e.remoteId,stream_type:e.streamType,track_type:o._ENUM_TRACK_TYPE.audio,mute:t},u=function(){r.send("mute",d,c)},p=300-(Date.now()-((null===(a=e.connection)||void 0===a?void 0:a.lastEmitTime)?null===(s=e.connection)||void 0===s?void 0:s.lastEmitTime:Date.now()));p>0?window.setTimeout(u,p):u()}))},t.prototype.muteVideo=function(e,t){var r=this;return new Promise((function(n,i){var a,s,c=function(e){e?i(e):n()},d={user_id:r.userId,stream_id:e.remoteId,stream_type:e.streamType,track_type:o._ENUM_TRACK_TYPE.video,mute:t},u=function(){r.send("mute",d,c)},p=300-(Date.now()-((null===(a=e.connection)||void 0===a?void 0:a.lastEmitTime)?null===(s=e.connection)||void 0===s?void 0:s.lastEmitTime:Date.now()));p>0?setTimeout(u,p):u()}))},t.prototype.logoff=function(e,t){var r=this;return new Promise((function(n,i){var o={app_id:r.appId,room_id:r.roomId,user_id:r.userId,cmdtype:e,users:t};r.send("logoff",o,(function(e){e?i(e):n()}))}))},t.prototype.onAddStream=function(e){s.default.debug("on stream - added",e);var t=g.extractRawCommonStream(e);this.onUserJoin({user_id:t.uid}),this.emit("i-stream-added",t)},t.prototype.onRemoveStream=function(e){s.default.debug("on stream - removed",e),this.emit("i-stream-removed",g.extractRawCommonStream(e))},t.prototype.onTransportClose=function(e){s.default.debug("onTransportClose ",e),this.onRemoveStream(e)},t.prototype.onTransportTimeout=function(e){s.default.debug("onTransportTimeout",e),this.onRemoveStream(e)},t.prototype.onUserJoin=function(e){s.default.debug("on use join ",e),this.emit("i-user-joined",e)},t.prototype.onUserLeave=function(e){s.default.debug("on use leave ",e),this.emit("i-user-left",e)},t.prototype.onAudioTrackst=function(e){s.default.debug("on audio track st ",e),this.emit("i-audio-track-mute",e)},t.prototype.onVideoTrackst=function(e){s.default.debug("on video track st ",e),this.emit("i-video-track-mute",e)},t.prototype.onKickoff=function(e){s.default.debug("on kick off ",e),this.emit("i-kickoff",e),this.stopHeartbeat(),this.disconnect("kick off "+e.reason)},t.prototype.onLogoffNotify=function(e){var r=this;s.default.debug("logoff notify ",e);var n=e.user_id;switch(e.cmdtype){case o._ENUM_LOGOFF_TYPE.quit:this.onKickoff({user_id:n,cmdtype:2,reason:"logoff notify"});break;case o._ENUM_LOGOFF_TYPE.reconnect:this.joinRoomType=o._ENUM_JOIN_ROOM_TYPE.reconnect,this.signalManager.reconnect();break;case o._ENUM_LOGOFF_TYPE.switch:this.joinRoomType=o._ENUM_JOIN_ROOM_TYPE.switch,this.signalManager.switch();break;case o._ENUM_LOGOFF_TYPE.refresh:t.getSignal(this.appId,this.appToken,this.roomId,this.roomType,this.userId,this.roleType,this.deviceInfo).then((function(e){var t=e[0],n=e[1];r.signalSwitchConfig=n,r.joinRoomType=o._ENUM_JOIN_ROOM_TYPE.refresh,r.signalManager.refresh(t)}))}},t.prototype.reconnect=function(e){var r=this;switch(e){case"keep":this.signalManager.reconnect();break;case"change":this.signalManager.switch();break;case"refresh":t.getSignal(this.appId,this.appToken,this.roomId,this.roomType,this.userId,this.roleType,this.deviceInfo).then((function(e){if(!r.isConnected){var t=e[0],n=e[1];t.length>0?(r.signalSwitchConfig=n,r.signalManager.refresh(t)):r.signalManager.switch()}})).catch((function(e){s.default.warn("refresh signal failed ",e),s.default.report("refresh signal failed ",e),r.signalManager.switch()}))}},t}(i.InnerEventEmitter);t.Session=E},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setServers=t.SERVER_CONFIG=void 0;var n=r(2),i=r(6);t.SERVER_CONFIG={gateway:"https://urtc.com.cn",signal:"",log:"https://log.urtc.com.cn"},t.setServers=function(e){var r=n.createError(n.RtcError.INVALID_PARAMETER,"The argument: ("+JSON.stringify(e)+") is invalid");if(i.isNil(e))throw r;var o=e.gateway,a=e.signal,s=e.log;if(!i.isValidString(o)&&!i.isValidString(a))throw r;if(!i.isNil(s)&&!i.isValidString(s))throw r;for(var c in t.SERVER_CONFIG)"string"==typeof e[c]?t.SERVER_CONFIG[c]=e[c]:t.SERVER_CONFIG[c]=""}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createPeerconnection=t.handleAnswerSDP=t.replaceSDPH264Part=t.handleSDPAudioCodec=t.handleSDPVideoCodec=t.replaceSDPVideoBW=t.setMediaBitrate=void 0;var n=r(5),i=r(1);t.setMediaBitrate=function(e,t,r){for(var n=e.split("\n"),o=-1,a=0;a<n.length;a++)if(0===n[a].indexOf("m="+t)){o=a;break}if(-1===o)return i.default.debug("Could not find the m line for",t),e;for(i.default.debug("Found the m line for",t,"at line",o),o++;0===n[o].indexOf("i=")||0===n[o].indexOf("c=");)o++;if(0===n[o].indexOf("b"))return i.default.debug("Replaced b line at line",o),n[o]="b=AS:"+r,n.join("\n");i.default.debug("Adding new b line before line",o);var s=n.slice(0,o);return s.push("b=AS:"+r),(s=s.concat(n.slice(o,n.length))).join("\n")},t.replaceSDPVideoBW=function(e,t,r,n){var i,o=e.match(/m=video.*\r\n/);if(o){i=o[0]+"b=AS:"+n+"\r\n";var a=void 0,s=void 0;"h264"===t?(a=e.search(/a=rtpmap:(\d+) H264\/90000\r\n/),s=e.search(/H264\/90000\r\n/)):"h265"===t?(a=e.search(/a=rtpmap:(\d+) H265\/90000\r\n/),s=e.search(/H265\/90000\r\n/)):"vp8"===t&&(a=e.search(/a=rtpmap:(\d+) VP8\/90000\r\n/),s=e.search(/VP8\/90000\r\n/)),a&&s&&s-a>10&&(i=i+"a=fmtp:"+e.slice(a+9,s-1)+" x-google-min-bitrate="+r+"\r\n"),e=e.replace(o[0],i)}return e},t.handleSDPVideoCodec=function(e,t){var r,n,i=/m=video \d+ .*\r\n/.exec(e);if("h264"===t)r=/a=rtpmap:\d+ H264\/90000\r\n/,n=/H264\/90000\r\n/;else if("h265"===t)r=/a=rtpmap:\d+ H265\/90000\r\n/,n=/H265\/90000\r\n/;else{if("vp8"!==t)return e;r=/a=rtpmap:\d+ VP8\/90000\r\n/,n=/VP8\/90000\r\n/}if(i){var o=void 0,a=e.search(r),s=e.search(n);if(a&&s&&s-a>10&&(o=e.slice(a+9,s-1)),!o)return e;var c=i[0],d=/(\d+ *)+\r\n$/.exec(c);if(d){var u=d[0],p=u.split(" "),l=p.indexOf(o);l>0&&(p.splice(l,1),p.unshift(o));var f=c.replace(u,p.join(" "));e=e.replace(c,f)}}return e},t.handleSDPAudioCodec=function(e){var t=/m=audio \d+ .*\r\n/.exec(e);if(t){var r=void 0,n=e.search(/a=rtpmap:\d+ opus\/48000\/2\r\n/),i=e.search(/opus\/48000\/2\r\n/);if(n&&i&&i-n>10&&(r=e.slice(n+9,i-1)),!r)return e;var o=t[0],a=/(\d+ *)+\r\n$/.exec(o);if(a){var s=a[0],c=s.split(" "),d=c.indexOf(r);d>0&&(c.splice(d,1),c.unshift(r));var u=o.replace(s,c.join(" "));e=e.replace(o,u)}}return e},t.replaceSDPH264Part=function(e,t){return"h264"===t&&n.isSafari(),e},t.handleAnswerSDP=function(e){var t=e.match(/a=x-google-flag:conference\r\n/);return t&&(e=e.replace(t[0],"")),e},t.createPeerconnection=function(){var e;if(n.isChrome()){var t=80;try{t=parseInt(n.getBrowserInfo().version,10)}catch(e){t=79}var r={sdpSemantics:"plan-b"};t>=80&&(r={sdpSemantics:"unified-plan"}),e=new RTCPeerConnection(r)}else if(n.isSafari()||n.isOldEdge()){r={bundlePolicy:"max-bundle"};e=new RTCPeerConnection(r)}else e=new RTCPeerConnection;return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.applyMixins=void 0;var n=r(1);t.applyMixins=function(e,t){var r=Object.getOwnPropertyNames(e.prototype);Object.getOwnPropertyNames(t.prototype).forEach((function(i){"constructor"!==i&&(r.includes(i)?n.default.warn(i+" is conflict, will ignore"):e.prototype[i]=t.prototype[i])}))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoteStream=void 0;var n=r(0),i=r(20),o=r(7),a=r(47),s=r(2),c=r(9),d=r(22),u=r(1),p=r(6),l=r(17),f=r(10),h=f.getLogReporterInstance(),m=function(e){function t(t,r){var n=e.call(this,t,r.userId,r)||this;n.status=c._ENUM_SUBSCRIBE_STATUS.unsubscribe,n.isSubscribeEventEmitted=!1,n.resubscribeTimer=0,n.config=r;var i=r.sourceAudioMuted,o=r.sourceVideoMuted;return n.sourceAudioMuted=i,n.sourceVideoMuted=o,n.audioTrackManager=new d.AudioTrackManager(!0),n.videoTrackManager=new d.VideoTrackManager,n.initPlugins(),n}return n.__extends(t,e),t.use=function(e,r){t.plugins[e.name]={plugin:e,options:r},l.applyMixins(t,e.install)},t.prototype.initPlugins=function(){for(var e in t.plugins){var r=t.plugins[e].plugin,n=t.plugins[e].options;r.install.call(this,n)}},t.prototype.connect=function(e){return n.__awaiter(this,void 0,void 0,(function(){return n.__generator(this,(function(t){switch(t.label){case 0:return this.remoteId=e,this.connection=new a._SubscribeConnection(this.hasAudio(),this.hasVideo(),this.audioCodec,this.videoCodec),this.bindConnectionEvents(),[4,this.connection.createOffer()];case 1:return[2,t.sent()]}}))}))},t.prototype.resetMediaStream=function(){var e=this;this.mediaStream.getTracks().forEach((function(t){e.mediaStream.removeTrack(t)})),this.audioTrackManager.reset(),this.videoTrackManager.reset()},t.prototype.disconnect=function(){var e;this.remoteId=void 0,this.resubscribeTimer&&(window.clearTimeout(this.resubscribeTimer),this.resubscribeTimer=0),this.isReconnecting&&(this.isReconnecting=!1),this.isSubscribeEventEmitted=!1,this.stop(),this.resetMediaStream(),this.stopReportStreamStats(),this.unbindConnectionEvents(),null===(e=this.connection)||void 0===e||e.destroy(),this.connection=void 0},t.prototype.reconnect=function(e){var t;return n.__awaiter(this,void 0,void 0,(function(){return n.__generator(this,(function(r){switch(r.label){case 0:return this.remoteId=e,this.resetMediaStream(),this.stopReportStreamStats(),this.unbindConnectionEvents(),null===(t=this.connection)||void 0===t||t.disconnect(),this.connection=new a._SubscribeConnection(this.hasAudio(),this.hasVideo(),this.audioCodec,this.videoCodec),this.connection.setIsReconnection(),this.bindConnectionEvents(),[4,this.connection.createOffer()];case 1:return[2,r.sent()]}}))}))},t.prototype.resubscribe=function(e){var t,r=this;e="number"==typeof e?e:Math.floor(5e3*Math.random()+2e3);this.resubscribeTimer&&(window.clearTimeout(this.resubscribeTimer),this.resubscribeTimer=0),this.isReconnecting||(this.isReconnecting=!0,null===(t=this._session)||void 0===t||t.emit("i-stream-reconnecting",this)),this.resubscribeTimer=window.setTimeout((function(){return n.__awaiter(r,void 0,void 0,(function(){var e,t,r,i,o,a,c,d,p,l,m,v,g,_,y,b,w;return n.__generator(this,(function(n){switch(n.label){case 0:if(!this._session)return[3,10];e=void 0,n.label=1;case 1:return n.trys.push([1,3,,4]),[4,null===(c=this._session)||void 0===c?void 0:c._subscribe(this)];case 2:return e=n.sent(),[3,4];case 3:return t=n.sent(),u.default.warn("[reconnect] subscribe "+this.id4Log+" failed ",t),u.default.report("[reconnect] subscribe "+this.id4Log+" failed ",t),null===(p=null===(d=this._session)||void 0===d?void 0:d.signalManager)||void 0===p||p.punish(),this.resubscribe(4e3),null===(l=this._session)||void 0===l||l.emit("i-stream-reconnect-failed",this),[2];case 4:if(!e)return r=s.createError(s.RtcError.OTHERS,"subscribe stream sub ID is not exists."),u.default.warn("[reconnect] subscribe "+this.id4Log+" failed ",r),u.default.report("[reconnect] subscribe "+this.id4Log+" failed ",r),null===(v=null===(m=this._session)||void 0===m?void 0:m.signalManager)||void 0===v||v.punish(),this.resubscribe(4e3),null===(g=this._session)||void 0===g||g.emit("i-stream-reconnect-failed",this),[2];n.label=5;case 5:return n.trys.push([5,8,,9]),[4,this.reconnect(e)];case 6:return i=n.sent(),[4,null===(_=this._session)||void 0===_?void 0:_._subscribeSDP(this,i)];case 7:return n.sent(),this.hasAudio()&&this.audioMuted&&this.syncMute("mute","audio"),this.hasVideo()&&this.videoMuted&&this.syncMute("mute","video"),h.reportOperationLog(f._ENUM_LOG_OPERATION_TYPE.subscribe,{streamId:this.id,userId:this.userId,stype:this.streamType,mtype:this.mediaType,msg:"stream reconnect success"}),[3,9];case 8:return o=n.sent(),a="[reconnect failed] - subscribe stream ["+this.id4Log+"], "+o,u.default.warn(a),u.default.report(a),null===(b=null===(y=this._session)||void 0===y?void 0:y.signalManager)||void 0===b||b.punish(),this.resubscribe(4e3),null===(w=this._session)||void 0===w||w.emit("i-stream-reconnect-failed",this),[2];case 9:this.resubscribeTimer=0,n.label=10;case 10:return[2]}}))}))}),e)},t.prototype.triggerResubscribe=function(e){this.isReconnecting||this.resubscribe(e)},t.prototype.bindConnectionEvents=function(){var e=this,t=this.connection;t&&(t.on(a._ConnectionEventTypes.connected,(function(){var t,r;u.default.debug("stream "+e.id4Log+" connection connected"),e.isSubscribeEventEmitted?(u.default.debug("remote stream "+e.id4Log+" is reconnected"),e.isReconnecting&&(e.isReconnecting=!1,null===(t=e._session)||void 0===t||t.emit("i-stream-reconnected",e))):(null===(r=e._session)||void 0===r||r.emit("i-stream-subscribed",e),e.isSubscribeEventEmitted=!0),e.startReportStreamStats()})),t.on(a._ConnectionEventTypes.failed,(function(){u.default.warn("stream "+e.id4Log+" connection failed"),e.stopReportStreamStats(),e.resubscribe()})),t.on(a._ConnectionEventTypes.disconnected,(function(){u.default.warn("stream "+e.id4Log+" connection disconnected"),e.stopReportStreamStats()})),t.on(a._ConnectionTrackEventTypes.trackAdded,(function(t){if("audio"===t.kind)e.audioTrackManager.addTrack(t),(r=e.audioTrackManager.destinationTrack)&&e.mediaStream.addTrack(r),e.player&&(e.player.audioTrack=r);else if("video"===t.kind){var r;e.videoTrackManager.addTrack(t),(r=e.videoTrackManager.destinationTrack)&&e.mediaStream.addTrack(r),e.player&&(e.player.videoTrack=r)}})),t.on(a._ConnectionEventTypes.error,(function(t){var r;u.default.warn("stream "+e.id4Log+" connection error",t.state),null===(r=e._session)||void 0===r||r.emit("i-stream-error",e)})))},t.prototype.unbindConnectionEvents=function(){var e=this.connection;e&&(e.removeAllListeners(a._ConnectionEventTypes.connected),e.removeAllListeners(a._ConnectionEventTypes.failed),e.removeAllListeners(a._ConnectionEventTypes.disconnected),e.removeAllListeners(a._ConnectionEventTypes.error))},t.prototype.answer=function(e){return this.connection?this.connection.answer(e):Promise.reject(s.createError(s.RtcError.PEERCONNECTION_FAILED,"The stream "+this.remoteId+" does not have connection"))},t.prototype._enableVideoTrack=function(e){var t,r=this.videoTrackManager.destinationTrack;r&&(r.enabled=!e,e&&(null===(t=this.player)||void 0===t||t.playVideo().catch((function(e){u.default.warn("onmute video - update play "+e)}))))},t.prototype.setAudioVolume=function(e){var t;null===(t=this.player)||void 0===t||t.setAudioVolume(e)},t.plugins={},n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"initPlugins",null),n.__decorate([o.noenumerable(),n.__metadata("design:type",a._SubscribeConnection)],t.prototype,"connection",void 0),n.__decorate([o.nowe(),n.__metadata("design:type",Object)],t.prototype,"config",void 0),n.__decorate([o.noenumerable(),n.__metadata("design:type",Number)],t.prototype,"status",void 0),n.__decorate([o.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"isSubscribeEventEmitted",void 0),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",Promise)],t.prototype,"connect",null),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"resetMediaStream",null),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"disconnect",null),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",Promise)],t.prototype,"reconnect",null),n.__decorate([o.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"resubscribeTimer",void 0),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Number]),n.__metadata("design:returntype",void 0)],t.prototype,"resubscribe",null),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Number]),n.__metadata("design:returntype",void 0)],t.prototype,"triggerResubscribe",null),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"bindConnectionEvents",null),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"unbindConnectionEvents",null),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",Promise)],t.prototype,"answer",null),n.__decorate([o.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Boolean]),n.__metadata("design:returntype",void 0)],t.prototype,"_enableVideoTrack",null),n.__decorate([o.log(),p.validate(!1),n.__param(0,p.validateParameter(p.isValidVolume)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Number]),n.__metadata("design:returntype",void 0)],t.prototype,"setAudioVolume",null),t}(i.Stream);t.RemoteStream=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StreamManager=void 0;var n=r(0),i=r(12),o=r(9),a=r(18),s=r(43),c=r(4),d=r(14),u=r(7),p=r(1),l=r(8),f=r(2),h=1,m=function(){function e(t){var r=this;this.localStreams=[],this.remoteStreams=[],this.handleStreamAdded=function(t){var n=r.findRemoteStreamByUIdMediaType(t.uid,t.media_type);if(n){if(n.id===t.sid)return;r.removeRemoteStream(n)}var i=e.createRemoteStream(t);r.addRemoteStream(i)},this.handleStreamRemoved=function(e){var t=r.findRemoteStreamById(e.sid);t?r.removeRemoteStream(t):p.default.warn("stream remove event - stream "+e.sid+" not exists")},this.handleUserLeft=function(e){r.findRemoteStreamsByUId(e.user_id).forEach((function(e){r.removeRemoteStream(e)}))},this.handleAudioMute=function(e){var t,n=r.findRemoteStreamById(e.stream_id);n?n.sourceAudioMuted!==e.mute?(n.sourceAudioMuted=e.mute,t=e.mute?c.EventManager.createRtcEvent("mute-audio",n):c.EventManager.createRtcEvent("unmute-audio",n),r.eventManager.emit(t.type,t)):p.default.debug("audio mute event - stream doesn't need to sync."):p.default.warn("audio mute event - stream "+e.stream_id+" not exists")},this.handleVideoMute=function(e){var t,n=r.findRemoteStreamById(e.stream_id);n?n.sourceVideoMuted!==e.mute?(n.sourceVideoMuted=e.mute,t=e.mute?c.EventManager.createRtcEvent("mute-video",n):c.EventManager.createRtcEvent("unmute-video",n),n._enableVideoTrack(e.mute),r.eventManager.emit(t.type,t)):p.default.debug("video mute event - stream doesn't need to sync."):p.default.warn("video mute event - stream "+e.stream_id+" not exists")},this.handleRejoin=function(e){var t=r.remoteStreams,n=[],i=[],o=[];e.forEach((function(e){t.findIndex((function(t){return t.id===e.sid}))>=0?n.push(e):i.push(e)})),t.forEach((function(e){n.findIndex((function(t){return t.sid===e.id}))<0&&o.push(e)}));var a=n.length,c=a>=15?300:a>=10?400:a>=5?500:a>=3?600:1e3;n.forEach((function(e,t){var n=r.findRemoteStreamById(e.sid);n?(r.handleAudioMute(s.convertRawCommonStream2RawAudioTrackSTData(e)),r.handleVideoMute(s.convertRawCommonStream2RawVideoTrackSTData(e)),n.isConnected&&n.triggerResubscribe(t*c)):p.default.warn("rejoin event - stream "+e.sid+" not exists")})),o.sort((function(e,t){return e.mediaType-t.mediaType})),o.forEach((function(e){r.removeRemoteStream(e)})),i.sort((function(e,t){return t.media_type-e.media_type})),i.forEach((function(e){r.handleStreamAdded(e)})),r.localStreams.forEach((function(e){e.isConnected&&e.triggerRepublish()}))},this.handleSync=function(e){var t=r.remoteStreams,n=[],i=[],o=[];e.forEach((function(e){t.findIndex((function(t){return t.id===e.sid}))>=0?n.push(e):i.push(e)})),t.forEach((function(e){n.findIndex((function(t){return t.sid===e.id}))<0&&o.push(e)})),n.forEach((function(e){r.handleAudioMute(s.convertRawCommonStream2RawAudioTrackSTData(e)),r.handleVideoMute(s.convertRawCommonStream2RawVideoTrackSTData(e))})),o.sort((function(e,t){return e.mediaType-t.mediaType})),o.forEach((function(e){r.removeRemoteStream(e)})),i.sort((function(e,t){return t.media_type-e.media_type})),i.forEach((function(e){r.handleStreamAdded(e)}))},this.handleStreamPublished=function(e){var t;if(r.isCachedStream(e)){var n=c.EventManager.createRtcEvent("stream-published",e);null===(t=r.eventManager)||void 0===t||t.emit(n.type,n)}},this.handleStreamSubscribed=function(e){var t;if(r.isCachedStream(e)){var n=c.EventManager.createRtcEvent("stream-subscribed",e);null===(t=r.eventManager)||void 0===t||t.emit(n.type,n)}},this.handleStreamReconnecting=function(e){var t;if(r.isCachedStream(e)){var n=c.EventManager.createRtcEvent("stream-reconnecting",e);null===(t=r.eventManager)||void 0===t||t.emit(n.type,n)}},this.handleStreamReconnected=function(e){var t;if(r.isCachedStream(e)){var n=c.EventManager.createRtcEvent("stream-reconnected",e);null===(t=r.eventManager)||void 0===t||t.emit(n.type,n)}},this.handleStreamReconnectFailed=function(e){r.isCachedStream(e)&&p.default.warn("stream "+e.id4Log+" will be reconnected")},this.handleStreamError=function(e){var t;if(r.isCachedStream(e)){var n=f.createError(f.RtcError.ICE_FAILED,"the stream of "+e.userId+" ("+e.getMediaType()+") ICE failed"),i=c.EventManager.createRtcEvent("error",n);p.default.warn((e.isLocal?"publish":"subscribe")+" "+e.userId+"'s stream failed because ["+n.code+"] "+n.message+", please check the firewall of network and make sure the UDP ports are opened."),p.default.report((e.isLocal?"publish":"subscribe")+" "+e.userId+"'s stream failed because ["+n.code+"] "+n.message+", please check the firewall of network and make sure the UDP ports are opened."),null===(t=r.eventManager)||void 0===t||t.emit(i.type,i)}},this.handleSessionDisconnected=function(){r.localStreams.forEach((function(e){e.unbindSession(),e.disconnect()})),r.remoteStreams.forEach((function(e){e.unbindSession(),e.disconnect()}))},this.eventManager=t}return e.prototype.isCachedStream=function(e){if(e.isLocal){if(!this.findLocalStreamById(e.id))return e.unbindSession(),e.disconnect(),!1}else if(!this.findRemoteStreamById(e.id))return e.unbindSession(),e.disconnect(),!1;return!0},e.prototype.bindSession=function(e){this._session=e,this._session.on("i-stream-added",this.handleStreamAdded).on("i-stream-removed",this.handleStreamRemoved).on("i-user-left",this.handleUserLeft).on("i-audio-track-mute",this.handleAudioMute).on("i-video-track-mute",this.handleVideoMute).on("i-rejoin-streams",this.handleRejoin).on("i-sync-streams",this.handleSync).on("i-stream-published",this.handleStreamPublished).on("i-stream-subscribed",this.handleStreamSubscribed).on("i-stream-reconnecting",this.handleStreamReconnecting).on("i-stream-reconnected",this.handleStreamReconnected).on("i-stream-reconnect-failed",this.handleStreamReconnectFailed).on("i-stream-error",this.handleStreamError).on("i-session-disconnected",this.handleSessionDisconnected)},e.prototype.unbindSession=function(){var e;null===(e=this._session)||void 0===e||e.off("i-stream-added",this.handleStreamAdded).off("i-stream-removed",this.handleStreamRemoved).off("i-user-left",this.handleUserLeft).off("i-audio-track-mute",this.handleAudioMute).off("i-video-track-mute",this.handleVideoMute).off("i-rejoin-streams",this.handleRejoin).off("i-sync-streams",this.handleSync).off("i-stream-published",this.handleStreamPublished).off("i-stream-subscribed",this.handleStreamSubscribed).off("i-stream-reconnecting",this.handleStreamReconnecting).off("i-stream-reconnected",this.handleStreamReconnected).off("i-stream-reconnect-failed",this.handleStreamReconnectFailed).off("i-stream-error",this.handleStreamError).off("i-session-disconnected",this.handleSessionDisconnected),this._session=void 0},e.prototype.addLocalStream=function(e){e.bindSession(this._session),this.localStreams.push(e)},e.prototype.removeLocalStream=function(e){var t=this.localStreams.findIndex((function(t){return t===e}));t>=0&&(e.unbindSession(),e.disconnect(),this.localStreams.splice(t,1))},e.prototype.removeAllLocalStreams=function(){for(var e=0,t=this.localStreams;e<t.length;e++){var r=t[e];this.removeLocalStream(r)}},e.prototype.findLocalStreamByMediaType=function(e){return this.localStreams.find((function(t){return t.mediaType===e}))},e.prototype.findLocalStreamById=function(e){return this.localStreams.find((function(t){return t.id===e}))},e.prototype.addRemoteStream=function(e){e.bindSession(this._session),this.remoteStreams.push(e);var t=c.EventManager.createRtcEvent("stream-added",e);this.eventManager.emit(t.type,t)},e.prototype.removeRemoteStream=function(e){var t=this.remoteStreams.findIndex((function(t){return t===e}));if(t>=0){e.unbindSession(),e.disconnect(),this.remoteStreams.splice(t,1);var r=c.EventManager.createRtcEvent("stream-removed",e);this.eventManager.emit(r.type,r)}},e.prototype.removeAllRemoteStreams=function(){for(var e=0,t=this.remoteStreams;e<t.length;e++){var r=t[e];this.removeRemoteStream(r)}},e.prototype.findRemoteStreamById=function(e){return this.remoteStreams.find((function(t){return t.id===e}))},e.prototype.findRemoteStreamsByUId=function(e){return this.remoteStreams.filter((function(t){return t.userId===e}))},e.prototype.findRemoteStreamByUIdMediaType=function(e,t){return this.remoteStreams.find((function(r){return r.userId===e&&r.mediaType===t}))},e.createLocalStream=function(t){var r=t.id;return r||(r="local-"+h+++"-"+Date.now()),t.userId||(t.userId=""),new i.LocalStream(r,e.generateInnerLocalStreamOptions(t))},e.createRemoteStream=function(t){var r=e.generateRemoteStreamOptions(t);return new a.RemoteStream(r.streamId,r)},e.generateInnerLocalStreamOptions=function(e){var t=e.audio,r=e.microphoneId,n=e.video,i=e.cameraId,a=e.facingMode,s=e.screen,c=e.screenAudio,d=e.file,u=e.userId,p=e.audioSource,f=e.videoSource,h={audio:!0,video:!0,screen:!1,screenAudio:!1,streamType:o._ENUM_STREAM_TYPE.publish,mediaType:l._ENUM_MEDIA_TYPE.camera};return h.audio=t,h.video=n,a&&(h.facingMode=a),h.screen=s,r&&(h.microphoneId=r),i&&(h.cameraId=i),s&&(h.mediaType=l._ENUM_MEDIA_TYPE.screen),n&&(h.mediaType=l._ENUM_MEDIA_TYPE.camera),c&&(h.screenAudio=c),d&&(h.file=d),p&&(h.audioSource=p),f&&(h.videoSource=f),u&&(h.userId=u),h},e.generateRemoteStreamOptions=function(t){return{streamId:t.sid,userId:t.uid,audio:t.audio,sourceAudioMuted:t.muteaudio,audioCodec:"opus",video:t.video,sourceVideoMuted:t.mutevideo,videoCodec:t.videoPayloadType?t.videoPayloadType:e.getVideoCodec(t.sid,"vp8"),streamType:o._ENUM_STREAM_TYPE.subscribe,mediaType:t.media_type}},e.getVideoCodec=function(e,t){return/VP8/.test(e)?"vp8":/H264/.test(e)?"h264":/H265/.test(e)?"h265":t},n.__decorate([u.noenumerable(),n.__metadata("design:type",d.Session)],e.prototype,"_session",void 0),e}();t.StreamManager=m},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Stream=void 0;var n=r(0);r(99);var i=r(4),o=r(9),a=r(52),s=r(7),c=r(14),d=r(1),u=r(22),p=r(2),l=r(10),f=r(6),h=r(13),m=r(8),v=r(5),g=r(46),_=l.getLogReporterInstance(),y=function(e){function t(t,r,n){void 0===r&&(r="");var i=e.call(this)||this;i.audioCodec="opus",i.videoCodec="vp8",i.isReconnecting=!1,i.timer=0,i.reportStreamStatsTimes=0,i.audioMuted=!1,i.videoMuted=!1;var a=n.audio,s=n.video,c=n.mediaType,d=n.streamType;return i.id=t,i.userId=r,i.audio="boolean"==typeof a&&a,i.video="boolean"==typeof s&&s,n.audioCodec&&(i.audioCodec=n.audioCodec),n.videoCodec&&(i.videoCodec=n.videoCodec),i.mediaType=c,i.streamType=d,d===o._ENUM_STREAM_TYPE.publish?i.isLocal=!0:i.isLocal=!1,i.mediaStream=new MediaStream,i}return n.__extends(t,e),Object.defineProperty(t.prototype,"isConnected",{get:function(){return!!this.connection},enumerable:!1,configurable:!0}),t.prototype.bindSession=function(e){this._session=e},t.prototype.unbindSession=function(){this._session=void 0},t.prototype.getInnerStreamStats=function(){return n.__awaiter(this,void 0,void 0,(function(){var e,t,r,i,o,a,s,c,d,u,l,f,h,m,v,g,_;return n.__generator(this,(function(n){switch(n.label){case 0:if(!this.isConnected)throw p.createError(p.RtcError.PEERCONNECTION_FAILED,"The connection may not be established");return[4,this.connection.getStatsReports()];case 1:return e=n.sent(),t=e[0],r=e[1],i=Math.round((r.timestamp-t.timestamp)/1e3),o={bitrate:-1,packetLossRate:-1,volume:-1,codec:this.audioCodec},this.isLocal?(s=r.audioOutputReports.bytesSent-t.audioOutputReports.bytesSent,c=r.audioOutputReports.packetsSent-t.audioOutputReports.packetsSent,f=r.audioOutputReports.packetsLost-t.audioOutputReports.packetsLost,m=s>=0?Math.round(8*s/i):0,o.bitrate=isNaN(m)?-1:m,v=f>=0&&c>0?Math.round(f/(c+f)*100):0,o.packetLossRate=isNaN(v)?-1:v,o.volume=r.audioOutputReports.audioLevel>=0?Math.round(100*r.audioOutputReports.audioLevel):0):(u=r.audioInputReports.bytesReceived-t.audioInputReports.bytesReceived,l=r.audioInputReports.packetsReceived-t.audioInputReports.packetsReceived,f=r.audioInputReports.packetsLost-t.audioInputReports.packetsLost,m=u>=0?Math.round(8*u/i):0,o.bitrate=isNaN(m)?-1:m,v=f>=0&&l>0?Math.round(f/(l+f)*100):0,o.packetLossRate=isNaN(v)?-1:v,o.volume=r.audioInputReports.audioLevel>=0?Math.round(100*r.audioInputReports.audioLevel):0),a={bitrate:-1,packetLossRate:-1,framerate:-1,width:-1,height:-1,codec:this.videoCodec},this.isLocal?(s=r.videoOutputReports.bytesSent-t.videoOutputReports.bytesSent,c=r.videoOutputReports.packetsSent-t.videoOutputReports.packetsSent,f=r.videoOutputReports.packetsLost-t.videoOutputReports.packetsLost,d=r.videoOutputReports.framesSent-t.videoOutputReports.framesSent,m=s>=0?Math.round(8*s/i):0,a.bitrate=isNaN(m)?-1:m,v=f>=0&&c>0?Math.round(f/(c+f)*100):0,a.packetLossRate=isNaN(v)?-1:v,g=d>=0?Math.round(d/i):0,a.framerate=isNaN(g)?-1:g,a.width=r.videoOutputReports.frameWidth,a.height=r.videoOutputReports.frameHeight):(u=r.videoInputReports.bytesReceived-t.videoInputReports.bytesReceived,l=r.videoInputReports.packetsReceived-t.videoInputReports.packetsReceived,f=r.videoInputReports.packetsLost-t.videoInputReports.packetsLost,h=r.videoInputReports.framesReceived-t.videoInputReports.framesReceived,m=u>=0?Math.round(8*u/i):0,a.bitrate=isNaN(m)?-1:m,v=f>=0&&l>0?Math.round(f/(l+f)*100):0,a.packetLossRate=isNaN(v)?-1:v,g=h>=0?Math.round(h/i):0,a.framerate=isNaN(g)?-1:g,a.width=r.videoInputReports.frameWidth,a.height=r.videoInputReports.frameHeight),_={rtt:-1},r.candidatePairReports.currentRoundTripTime>=0&&(_.rtt=Math.round(1e3*r.candidatePairReports.currentRoundTripTime)||0),[2,{audio:o,video:a,network:_}]}}))}))},t.prototype.startReportStreamStats=function(){var e=this,t=this.timer;this.timer=window.setTimeout((function(){t>0&&window.clearTimeout(t),e.getInnerStreamStats().then((function(t){var r;1e3*e.reportStreamStatsTimes>=3e3?(e.isLocal?_.reportPublishStatusLog(e.remoteId,e.mediaType,{delay:-1,rtt:t.network.rtt,audio:{br:t.audio.bitrate,lostpre:t.audio.packetLossRate,vol:t.audio.volume,mime:t.audio.codec},video:{br:t.video.bitrate,lostpre:t.video.packetLossRate,frt:t.video.framerate,w:t.video.width,h:t.video.height,mime:t.video.codec},cpu:0,memory:0}):_.reportSubscribeStatusLog(e.remoteId,e.id,(null===(r=e._session)||void 0===r?void 0:r.userId)||"",e.mediaType,{delay:t.network.rtt,rtt:-1,audio:{br:t.audio.bitrate,lostpre:t.audio.packetLossRate,vol:t.audio.volume,mime:t.audio.codec},video:{br:t.video.bitrate,lostpre:t.video.packetLossRate,frt:t.video.framerate,w:t.video.width,h:t.video.height,mime:t.video.codec},cpu:0,memory:0}),e.reportStreamStatsTimes=0):e.reportStreamStatsTimes++})).catch((function(e){d.default.warn("get stream stats error "+e)})),e.startReportStreamStats()}),1e3)},t.prototype.stopReportStreamStats=function(){window.clearTimeout(this.timer),this.timer=0},Object.defineProperty(t.prototype,"id4Log",{get:function(){return this.userId+"["+this.mediaType+"]"},enumerable:!1,configurable:!0}),t.prototype.syncMute=function(e,t){var r=this;Promise.resolve().then((function(){return n.__awaiter(r,void 0,void 0,(function(){var r,i;return n.__generator(this,(function(n){switch(n.label){case 0:return"audio"!==t?[3,2]:[4,null===(r=this._session)||void 0===r?void 0:r.muteAudio(this,"mute"===e)];case 1:return n.sent(),[3,4];case 2:return[4,null===(i=this._session)||void 0===i?void 0:i.muteVideo(this,"mute"===e)];case 3:n.sent(),n.label=4;case 4:return[2]}}))}))})).then((function(){var n,i;d.default.debug(e+" "+r.id4Log+"'s "+t),i="mute"===e?"audio"===t?l._ENUM_LOG_OPERATION_TYPE.muteAudio:l._ENUM_LOG_OPERATION_TYPE.muteVideo:"audio"===t?l._ENUM_LOG_OPERATION_TYPE.unmuteAudio:l._ENUM_LOG_OPERATION_TYPE.unmuteVideo,_.reportOperationLog(i,{streamId:r.remoteId,userId:(null===(n=r._session)||void 0===n?void 0:n.userId)||"",stype:r.streamType,mtype:r.mediaType})})).catch((function(n){d.default.warn(e+" "+r.id4Log+"'s "+t+" error ",n),d.default.report(e+" "+r.id4Log+"'s "+t+" error ",n)}))},t.prototype.getMediaType=function(){var e;switch(this.mediaType){case m._ENUM_MEDIA_TYPE.screen:e="screen";break;case m._ENUM_MEDIA_TYPE.camera:default:e="camera"}return e},t.prototype.hasAudio=function(){return this.audio},t.prototype.hasVideo=function(){return this.video},t.prototype.muteAudio=function(){if(this.audioTrackManager.sourceTracks.length<1)return!1;var e=this.audioTrackManager.destinationTrack;return!!e&&(this.audioMuted=!0,this.isLocal&&(e.enabled=!1),this.syncMute("mute","audio"),!0)},t.prototype.unmuteAudio=function(){if(this.audioTrackManager.sourceTracks.length<1)return!1;var e=this.audioTrackManager.destinationTrack;return!!e&&(this.audioMuted=!1,this.isLocal&&(e.enabled=!0),this.syncMute("unmute","audio"),!0)},t.prototype.muteVideo=function(){var e,t=this.videoTrackManager.destinationTrack;return!!t&&(this.videoMuted=!0,t.enabled=!1,this.isLocal||(null===(e=this.player)||void 0===e||e.playVideo().catch((function(e){d.default.warn("mute video - update play "+e)})),v.isMobile()&&(t.enabled=!0)),this.syncMute("mute","video"),!0)},t.prototype.unmuteVideo=function(){var e=this.videoTrackManager.destinationTrack;return!!e&&(this.videoMuted=!1,e.enabled=!0,this.syncMute("unmute","video"),!0)},t.prototype.play=function(e,t){var r=this;if("string"==typeof e){var n=document.getElementById(e);if(!n)return Promise.reject(p.createError(p.RtcError.INVALID_PARAMETER,"Cannot find container element by ID "+e));e=n}else if(!(e instanceof HTMLElement))return Promise.reject(p.createError(p.RtcError.INVALID_OPERATION,"The container neither an element Id nor a HTMLElement"));if(this.isLocal&&(t?(t.mute="boolean"!=typeof t.mute||t.mute,t.mirror="boolean"==typeof t.mirror?t.mirror:"user"===this.options.facingMode):t={mute:!0,mirror:"user"===this.options.facingMode}),g.keepAutoPlay(!1),this.player){if(this.player.container===e)return this.player.resume();this.stop()}var o=t||{},s=o.mute,c=o.mirror,u=o.fit,l=(t||{}).controls;return"boolean"!=typeof s&&(s=!!this.isLocal),"boolean"!=typeof c&&(c=!1),"string"!=typeof u&&(u="cover",this.mediaType===m._ENUM_MEDIA_TYPE.screen&&(u="contain")),this.player=new a.Player({id:this.id,audioTrack:this.isLocal?this.audioTrackManager.destinationTrack:this.audioTrackManager.sourceTracks[0],videoTrack:this.videoTrackManager.destinationTrack,container:e,mute:s,mirror:c,fit:u,controls:l},this),this.player.on("audio-playing",(function(){var e=i.EventManager.createRtcEvent("player-status-change",{type:"audio",status:"playing",stream:r});r.emit(e.type,e)})),this.player.on("audio-paused",(function(){var e=i.EventManager.createRtcEvent("player-status-change",{type:"audio",status:"paused",stream:r});r.emit(e.type,e)})),this.player.on("video-playing",(function(){var e=i.EventManager.createRtcEvent("player-status-change",{type:"video",status:"playing",stream:r});r.emit(e.type,e)})),this.player.on("video-paused",(function(){var e=i.EventManager.createRtcEvent("player-status-change",{type:"video",status:"paused",stream:r});r.emit(e.type,e)})),this.player.once("first-key-frame",(function(e){d.default.debug("first key frame ",e);var t=i.EventManager.createRtcEvent("first-key-frame",r);r.emit(t.type,t)})),this.player.play()},t.prototype.resume=function(){var e;return this.player?(g.keepAutoPlay(!0),null===(e=this.player)||void 0===e?void 0:e.resume()):Promise.reject(p.createError(p.RtcError.RESUME_NOT_ALLOWED,"Not in playing..."))},t.prototype.stop=function(){var e;null===(e=this.player)||void 0===e||e.destroy(),this.player=void 0},t.prototype.getAudioLevel=function(){var e,t=0;if(this.isLocal&&(t=this.audioTrackManager.getLevel()),0===t){var r=null===(e=this.connection)||void 0===e?void 0:e.getCurrentStatsReport().audioInputReports.audioLevel;void 0!==r&&r>=0&&(t=r)}return Math.floor(100*t)},t.prototype.getStats=function(){return n.__awaiter(this,void 0,void 0,(function(){var e,t,r;return n.__generator(this,(function(n){switch(n.label){case 0:e={},n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.getInnerStreamStats()];case 2:return t=n.sent(),this.hasAudio()?e.audio=t.audio:e.audio={bitrate:-1,packetLossRate:-1,volume:-1,codec:""},this.hasVideo()?e.video=t.video:e.video={bitrate:-1,packetLossRate:-1,framerate:-1,width:-1,height:-1,codec:""},e.network=t.network,[3,4];case 3:return r=n.sent(),d.default.warn(""+r),e.audio={bitrate:-1,packetLossRate:-1,volume:-1,codec:""},e.video={bitrate:-1,packetLossRate:-1,framerate:-1,width:-1,height:-1,codec:""},e.network={rtt:-1},[3,4];case 4:return[2,e]}}))}))},t.prototype.snapshot=function(e){var t=e||{},r=t.download,n=void 0!==r&&r,i=t.filename,o=void 0===i?"":i,a="";return""===o?n&&(a="snapshot-"+h.formatTime(new Date,"YYYY-MM-DD_HHmmss")):a=o,this.videoTrackManager?this.videoTrackManager.snapshot(a):Promise.reject(p.createError(p.RtcError.VIDEO_NOT_EXISTS,"Video track isn't exists."))},n.__decorate([s.noenumerable(),n.__metadata("design:type",u.AudioTrackManager)],t.prototype,"audioTrackManager",void 0),n.__decorate([s.noenumerable(),n.__metadata("design:type",u.VideoTrackManager)],t.prototype,"videoTrackManager",void 0),n.__decorate([s.noenumerable(),n.__metadata("design:type",String)],t.prototype,"audioCodec",void 0),n.__decorate([s.noenumerable(),n.__metadata("design:type",String)],t.prototype,"videoCodec",void 0),n.__decorate([s.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"connection",void 0),n.__decorate([s.nowe(),n.__metadata("design:type",Boolean),n.__metadata("design:paramtypes",[])],t.prototype,"isConnected",null),n.__decorate([s.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"isReconnecting",void 0),n.__decorate([s.noenumerable(),n.__metadata("design:type",String)],t.prototype,"remoteId",void 0),n.__decorate([s.nowe(),n.__metadata("design:type",Number)],t.prototype,"mediaType",void 0),n.__decorate([s.nowe(),n.__metadata("design:type",Number)],t.prototype,"streamType",void 0),n.__decorate([s.nowe(),n.__metadata("design:type",Boolean)],t.prototype,"audio",void 0),n.__decorate([s.nowe(),n.__metadata("design:type",Boolean)],t.prototype,"video",void 0),n.__decorate([s.noenumerable(),n.__metadata("design:type",c.Session)],t.prototype,"_session",void 0),n.__decorate([s.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[c.Session]),n.__metadata("design:returntype",void 0)],t.prototype,"bindSession",null),n.__decorate([s.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"unbindSession",null),n.__decorate([s.noenumerable(),n.__metadata("design:type",a.Player)],t.prototype,"player",void 0),n.__decorate([s.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Promise)],t.prototype,"getInnerStreamStats",null),n.__decorate([s.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"timer",void 0),n.__decorate([s.noenumerable(),n.__metadata("design:type",Object)],t.prototype,"reportStreamStatsTimes",void 0),n.__decorate([s.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"startReportStreamStats",null),n.__decorate([s.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"stopReportStreamStats",null),n.__decorate([s.nowe(),n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],t.prototype,"id4Log",null),n.__decorate([s.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,String]),n.__metadata("design:returntype",void 0)],t.prototype,"syncMute",null),n.__decorate([s.readonly(),n.__metadata("design:type",String)],t.prototype,"id",void 0),n.__decorate([s.readonly(),n.__metadata("design:type",Boolean)],t.prototype,"isLocal",void 0),n.__decorate([s.readonly(),n.__metadata("design:type",MediaStream)],t.prototype,"mediaStream",void 0),n.__decorate([s.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Boolean)],t.prototype,"muteAudio",null),n.__decorate([s.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Boolean)],t.prototype,"unmuteAudio",null),n.__decorate([s.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Boolean)],t.prototype,"muteVideo",null),n.__decorate([s.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Boolean)],t.prototype,"unmuteVideo",null),n.__decorate([s.log(),f.validate(!0),n.__param(0,f.validateParameter(a.isValidContainer)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object,Object]),n.__metadata("design:returntype",Promise)],t.prototype,"play",null),n.__decorate([s.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Promise)],t.prototype,"resume",null),n.__decorate([s.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],t.prototype,"stop",null),n.__decorate([s.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Number)],t.prototype,"getAudioLevel",null),n.__decorate([s.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Promise)],t.prototype,"getStats",null),n.__decorate([s.log(),f.validate(!0),n.__param(0,f.validateParameter((function(e){if("object"==typeof e){if(!f.isNil(e.download)&&!f.isValidBoolean(e.download))return!1;if(!f.isNil(e.filename)&&!f.isValidString(e.filename))return!1}else if(f.isNil(e))return!1;return!0}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",Promise)],t.prototype,"snapshot",null),t}(i.EventEmitter);t.Stream=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=void 0,t.version="2.0.0-beta.9"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(0);n.__exportStar(r(85),t),n.__exportStar(r(86),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._ConnectionEventTypes=void 0;var n=r(0),i=r(4),o=r(1),a=r(16),s=r(48),c=r(88);t._ConnectionEventTypes={connected:"ice-connected",disconnected:"ice-disconnected",failed:"ice-failed",error:"ice-error"};var d=function(e){function r(t,r,n,i){var o=e.call(this)||this;return o._isEmitted=!1,o.lastStatsReports=new c.StatsReports([]),o.currentStatsReports=new c.StatsReports([]),o.iceFailed=!1,o.hasAudio=t,o.hasVideo=r,o.audioCodec=n,o.videoCodec=i,o.pc=a.createPeerconnection(),o.init(),o}return n.__extends(r,e),Object.defineProperty(r.prototype,"isEmitted",{get:function(){return this._isEmitted},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"state",{get:function(){return this.pc.connectionState},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isConnectionFailed",{get:function(){return this.iceFailed},enumerable:!1,configurable:!0}),r.prototype.init=function(){var e=this;this.pc.addEventListener("iceconnectionstatechange",(function(t){var r,n;switch(o.default.debug("iceconnectionstatechange event ",this.iceConnectionState,t,null===(r=e.pc)||void 0===r?void 0:r.iceConnectionState),this.iceConnectionState||(null===(n=e.pc)||void 0===n?void 0:n.iceConnectionState)){case"new":case"connecting":case"checking":case"connected":case"completed":break;case"disconnected":o.default.warn("peerconnection ice disconnected");break;case"failed":o.default.warn("peerconnection ice failed");break;case"closed":o.default.warn("peerconnection ice closed")}})),this.pc.addEventListener("connectionstatechange",(function(r){var n,i;switch(o.default.debug("connectionstatechange event",this.connectionState,r,null===(n=e.pc)||void 0===n?void 0:n.connectionState),this.connectionState||(null===(i=e.pc)||void 0===i?void 0:i.connectionState)){case"new":case"connecting":break;case"connected":e.isEmitted||(e._isEmitted=!0),e.emit(t._ConnectionEventTypes.connected,e),e.lastEmitTime=Date.now();break;case"disconnected":o.default.warn("peerconnection disconnected"),e.emit(t._ConnectionEventTypes.disconnected,e);break;case"failed":o.default.warn("peerconnection failed"),e.isEmitted?e.emit(t._ConnectionEventTypes.failed,e):(e.iceFailed=!0,e.emit(t._ConnectionEventTypes.error,e));break;case"closed":o.default.warn("peerconnection closed")}}))},r.prototype.getStatsReports=function(){return n.__awaiter(this,void 0,void 0,(function(){var e,t;return n.__generator(this,(function(r){switch(r.label){case 0:return Date.now()-this.currentStatsReports.timestamp<600?[3,3]:[3,1];case 1:return[4,s.getStats(this.pc)];case 2:e=r.sent(),(t=new c.StatsReports(e)).timestamp-this.currentStatsReports.timestamp>600&&(this.lastStatsReports=this.currentStatsReports),this.currentStatsReports=t,r.label=3;case 3:return[2,[this.lastStatsReports,this.currentStatsReports]]}}))}))},r.prototype.getLastStatsReport=function(){return this.lastStatsReports},r.prototype.getCurrentStatsReport=function(){return this.currentStatsReports},r.prototype.answer=function(e){return n.__awaiter(this,void 0,void 0,(function(){var t,r;return n.__generator(this,(function(n){return o.default.debug("stream manager answer: ",e),t=a.handleAnswerSDP(e),r=new RTCSessionDescription({type:"answer",sdp:t}),[2,this.pc.setRemoteDescription(r)]}))}))},r.prototype.setIsReconnection=function(){this._isEmitted=!0},r.prototype.disconnect=function(){var e;o.default.debug("lastEmitTime ",this.lastEmitTime),this.lastStatsReports=new c.StatsReports([]),this.currentStatsReports=new c.StatsReports([]),null===(e=this.pc)||void 0===e||e.close()},r.prototype.destroy=function(){this._isEmitted=!1,this.lastEmitTime=void 0,this.disconnect()},r}(i.InnerEventEmitter);t.default=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSupportedCodec=t.isSupportScreenShare=t.isSupportWebRTC=t.deviceDetection=t.deviceManager=t.DevicesManager=t.getLoudspeakers=t.getMicrophones=t.getCameras=t.getDevices=void 0;var n=r(0),i=r(2),o=r(1),a=r(19),s=r(16),c=r(5),d=r(6);function u(e){return n.__awaiter(this,void 0,void 0,(function(){var t,r,i,s,d,u;return n.__generator(this,(function(n){switch(n.label){case 0:return[4,navigator.mediaDevices.enumerateDevices()];case 1:if(0===(t=n.sent()).length)return[2,t];if(t[0].deviceId)return[3,7];r=a.StreamManager.createLocalStream({id:"get-devices",audio:!e||!!e.audio,video:!e||!!e.video,screen:!1}),n.label=2;case 2:return n.trys.push([2,4,,5]),[4,r.init()];case 3:return n.sent(),[3,5];case 4:return i=n.sent(),o.default.warn("get devices failed ",i),o.default.report("get devices failed ",i),[3,5];case 5:return[4,navigator.mediaDevices.enumerateDevices()];case 6:t=n.sent(),r.destroy(),n.label=7;case 7:return s=0,d=0,u=0,t=t.filter((function(e){return!c.isWinOS()||"audioinput"!==e.kind||"default"!==e.deviceId&&"communications"!==e.deviceId})),[2,t.map((function(e){if(e.label)return e;var t={};switch(["deviceId","groupId","kind"].forEach((function(r){t[r]=e[r]})),e.kind){case"audioinput":t.label="microphone_"+s++;break;case"audiooutput":t.label="speaker_"+d++;break;case"videoinput":t.label="camera_"+u++}return Object.freeze(t)}))]}}))}))}t.getDevices=u,t.getCameras=function(){return n.__awaiter(this,void 0,void 0,(function(){return n.__generator(this,(function(e){switch(e.label){case 0:return[4,u({audio:!1,video:!0})];case 1:return[2,e.sent().filter((function(e){return"videoinput"===e.kind}))]}}))}))},t.getMicrophones=function(){return n.__awaiter(this,void 0,void 0,(function(){return n.__generator(this,(function(e){switch(e.label){case 0:return[4,u({audio:!0,video:!1})];case 1:return[2,e.sent().filter((function(e){return"audioinput"===e.kind}))]}}))}))},t.getLoudspeakers=function(){return n.__awaiter(this,void 0,void 0,(function(){return n.__generator(this,(function(e){switch(e.label){case 0:return[4,u({audio:!0,video:!1})];case 1:return[2,e.sent().filter((function(e){return"audiooutput"===e.kind}))]}}))}))};var p=function(){function e(){var e,t=this;this.watchers=[],this.devices=[],this.onDeviceChanged=function(){return n.__awaiter(t,void 0,void 0,(function(){var e,t,r,i,o=this;return n.__generator(this,(function(n){switch(n.label){case 0:return[4,u({audio:!0,video:!0})];case 1:return e=n.sent(),t=[],r=[],i=[],e.forEach((function(e){o.devices.find((function(t){return t.deviceId===e.deviceId}))?i.push(e):t.push(e)})),this.devices.forEach((function(e){i.find((function(t){return t.deviceId===e.deviceId}))||r.push(e)})),this.devices=e,(t.length>0||r.length>0)&&this.watchers.forEach((function(e){return e(t,r,o.devices)})),[2]}}))}))},null===(e=navigator.mediaDevices)||void 0===e||e.addEventListener("devicechange",this.onDeviceChanged)}return e.prototype.forceUpdateDevices=function(){return n.__awaiter(this,void 0,void 0,(function(){var e,t;return n.__generator(this,(function(r){switch(r.label){case 0:if(this.devices.length>0)return[2];r.label=1;case 1:return r.trys.push([1,3,,4]),e=this,[4,u({audio:!0,video:!0})];case 2:return e.devices=r.sent(),[3,4];case 3:return t=r.sent(),o.default.warn("get devices failed ",t),o.default.report("init [DevicesManager] - ",t),[3,4];case 4:return[2]}}))}))},e.prototype.destroy=function(){var e;null===(e=navigator.mediaDevices)||void 0===e||e.removeEventListener("devicechange",this.onDeviceChanged),this.watchers=[]},e.prototype.addWatcher=function(e){this.watchers.push(e)},e.prototype.removeWatcher=function(e){var t=this.watchers.findIndex((function(t){return t===e}));t>=0&&this.watchers.splice(t,1)},e}();t.DevicesManager=p,t.deviceManager=new p,t.deviceDetection=function(e){return n.__awaiter(this,void 0,void 0,(function(){var t,r,s,c,u,p,l,f,h,m;return n.__generator(this,(function(n){switch(n.label){case 0:if(t=i.createError(i.RtcError.INVALID_PARAMETER,"The argument: ("+JSON.stringify(e)+") is invalid"),d.isNil(e))throw o.default.warn("[deviceDetection] "+t),o.default.report("[deviceDetection] "+t),t;if(r=e.audio,s=e.video,c=e.microphoneId,u=e.cameraId,!d.isValidBoolean(r)||!d.isValidBoolean(s)||!d.isNil(c)&&!d.isValidString(c)||!d.isNil(u)&&!d.isValidString(u))throw o.default.warn("[deviceDetection] "+t),o.default.report("[deviceDetection] "+t),t;if(!e.audio&&!e.video)throw p=i.createError(i.RtcError.INVALID_PARAMETER,"Audio or video must be true"),o.default.warn("[deviceDetection] "+p),o.default.report("[deviceDetection] "+p),p;if(!e.audio&&!e.microphoneId)return[3,5];l=a.StreamManager.createLocalStream({id:"audioDetection",audio:!0,video:!1,screen:!1,microphoneId:e.microphoneId}),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,l.init()];case 2:return n.sent(),[3,4];case 3:throw f=n.sent(),o.default.warn("[deviceDetection] audio input device invalid "+f),o.default.report("[deviceDetection] audio input device invalid "+f),f;case 4:l.destroy(),n.label=5;case 5:if(!e.video&&!e.cameraId)return[3,10];h=a.StreamManager.createLocalStream({id:"videoDetection",audio:!1,video:!0,screen:!1,cameraId:e.cameraId}),n.label=6;case 6:return n.trys.push([6,8,,9]),[4,h.init()];case 7:return n.sent(),[3,9];case 8:throw m=n.sent(),o.default.warn("[deviceDetection] video input device invalid "+m),o.default.report("[deviceDetection] video input device invalid "+m),m;case 9:h.destroy(),n.label=10;case 10:return[2]}}))}))},t.isSupportWebRTC=function(){var e,t,r,n,i,o=c.getSystemInfo(),a=c.getBrowserInfo();if(/windows/i.test(o.name)&&/wechat/i.test(a.name))return!1;var s=window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection,d=(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia)||(null===(t=navigator)||void 0===t?void 0:t.getUserMedia)||(null===(r=navigator)||void 0===r?void 0:r.webkitGetUserMedia)||(null===(n=navigator)||void 0===n?void 0:n.msGetUserMedia)||(null===(i=navigator)||void 0===i?void 0:i.mozGetUserMedia),u=window.WebSocket;return!!s&&!!d&&!!u},t.isSupportScreenShare=function(){var e;return!!(null===(e=null===navigator||void 0===navigator?void 0:navigator.mediaDevices)||void 0===e?void 0:e.getDisplayMedia)},t.getSupportedCodec=function(){return n.__awaiter(this,void 0,void 0,(function(){var e,t,r;return n.__generator(this,(function(n){switch(n.label){case 0:return e={video:[],audio:[]},[4,(t=s.createPeerconnection()).createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0})];case 1:return(r=n.sent()).sdp&&(r.sdp.match(/ vp8/i)&&e.video.push("vp8"),r.sdp.match(/ h264/i)&&e.video.push("h264"),r.sdp.match(/ h265/i)&&e.video.push("h265"),r.sdp.match(/ opus/i)&&e.audio.push("opus")),t.close(),[2,e]}}))}))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Client=void 0;var n=r(0),i=r(26),o=r(4),a=r(19),s=r(12),c=r(18),d=r(94),u=r(14),p=r(8),l=r(7),f=r(2),h=r(1),m=r(10),v=r(9),g=r(6),_=r(17),y=r(24),b=r(95),w=r(46),S=["audience","speaker"],E=function(){function e(e,t){var r=this;if(this._logReporter=m.getLogReporterInstance(),this._eventManager=new o.EventManager,this._streamManager=new a.StreamManager(this._eventManager),this._networkQualityEvaluator=new b.NetworkQualityEvaluator(this._streamManager,this._eventManager),this._userManager=new d.UserManager(this._eventManager),this.__handleUnload=function(){r.leave().catch((function(e){h.default.report("leave room when unload page ",e)}))},this.handleKickOut=function(e){r._networkQualityEvaluator.stop(),r._userManager.removeAll(),r._streamManager.removeAllLocalStreams(),r._streamManager.removeAllRemoteStreams(),r._logReporter.reset(),r.unbindSession();var t=d.UserManager.createUser(e),n=o.EventManager.createRtcEvent("kick-off",t);r._eventManager.emit(n.type,n)},this.audioCodec="opus",this.videoCodec="vp8",this.onDeviceChanged=function(e,t){e.forEach((function(e){var t=o.EventManager.createRtcEvent("device-changed",{type:"audioinput"===e.kind?"microphone":"videoinput"===e.kind?"camera":"loudspeaker",status:"add",device:e});r._eventManager.emit("device-changed",t)})),t.forEach((function(e){var t=o.EventManager.createRtcEvent("device-changed",{type:"audioinput"===e.kind?"microphone":"videoinput"===e.kind?"camera":"loudspeaker",status:"remove",device:e});r._eventManager.emit("device-changed",t)}))},this.appId=e,t)switch(t.codec){case"h264":this.videoCodec="h264";break;case"h265":this.videoCodec="h265";break;case"vp8":default:this.videoCodec="vp8"}else this.videoCodec="vp8";this.initPlugins()}var t,r;return e.prototype.bindSession=function(e){this._session=e,this._session.on("i-kickoff",this.handleKickOut),this._streamManager.bindSession(this._session),this._userManager.bindSession(this._session)},e.prototype.unbindSession=function(){var e;this._userManager.unbindSession(),this._streamManager.unbindSession(),null===(e=this._session)||void 0===e||e.off("i-kickoff",this.handleKickOut),this._session=void 0},e.use=function(t,r){e.plugins[t.name]={plugin:t,options:r},_.applyMixins(e,t.install)},e.prototype.initPlugins=function(){for(var t in e.plugins){var r=e.plugins[t].plugin,n=e.plugins[t].options;r.install.call(this,n)}},e.prototype.getRemoteUsers=function(){return this._userManager.users.map((function(e){return e}))},e.prototype.getLocalStreams=function(){return this._streamManager.localStreams.map((function(e){return e}))},e.prototype.getRemoteStreams=function(){return this._streamManager.remoteStreams.map((function(e){return e}))},e.prototype.join=function(e,t,r,i){return n.__awaiter(this,void 0,void 0,(function(){var o,a,s,c;return n.__generator(this,(function(n){switch(n.label){case 0:if(this._session)return this._session.isConnected?(h.default.warn("you have already joined the room"),[2,Promise.resolve()]):[2,Promise.reject(f.createError(f.RtcError.IS_JOINING,"The client is joining"))];if(o=p._ENUM_ROOM_TYPE.conference,a=p._ENUM_ROLE_TYPE.allStream,i){switch(i.type){case"live":o=p._ENUM_ROOM_TYPE.live;break;case"conference":default:o=p._ENUM_ROOM_TYPE.conference}switch(i.role){case"audience":case"pull":a=p._ENUM_ROLE_TYPE.pullStream;break;case"speaker":case"push":case"push-and-pull":default:a=p._ENUM_ROLE_TYPE.allStream}}s=new u.Session(this.appId,r,e,o,t,a,this.audioCodec,this.videoCodec,this._networkQualityEvaluator,this._eventManager),this.bindSession(s),this._logReporter.init(this.appId,e,t),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,s.joinRoom()];case 2:return n.sent(),this._logReporter.reportJoinRoomLog(),this._networkQualityEvaluator.run(),window.addEventListener("unload",this.__handleUnload),[3,4];case 3:throw c=n.sent(),this._logReporter.reportExceptionLog(m._ENUM_LOG_EXCEPTION_TYPE.joinRoom,{msg:""+c}),this._logReporter.reset(),this.unbindSession(),c;case 4:return[2]}}))}))},e.prototype.leave=function(){return n.__awaiter(this,void 0,void 0,(function(){var e,t,r,i,o;return n.__generator(this,(function(n){switch(n.label){case 0:if(!this._session)return[2,Promise.resolve()];for(e=0,t=this._streamManager.localStreams;e<t.length;e++)(o=t[e]).isConnected&&this._session.unpublish(o).catch((function(e){h.default.debug("[leave room] stop publish stream failed "+e)})),this._streamManager.removeLocalStream(o);for(this._streamManager.removeAllLocalStreams(),r=0,i=this._streamManager.remoteStreams;r<i.length;r++)(o=i[r]).isConnected&&this._session.unsubscribe(o).catch((function(e){h.default.debug("[leave room] stop subscribe stream failed ",e)})),this._streamManager.removeRemoteStream(o);return this._streamManager.removeAllRemoteStreams(),this._userManager.removeAll(),this._networkQualityEvaluator.stop(),window.removeEventListener("unload",this.__handleUnload),this._logReporter.reportLeaveRoomLog(),[4,this._session.leaveRoom()];case 1:return n.sent(),this._logReporter.reset(),this.unbindSession(),w.clearAutoPlay(),[2]}}))}))},e.prototype.on=function(e,t){var r=this;return"device-changed"===e&&y.deviceManager.forceUpdateDevices().then((function(){y.deviceManager.addWatcher(r.onDeviceChanged)})),this._eventManager.on(e,t),this},e.prototype.off=function(e,t){if("device-changed"!==e&&"*"!==e||y.deviceManager.removeWatcher(this.onDeviceChanged),"*"===e)return this._eventManager.off("*",(function(){})),this;if(g.isNil(t)||!g.isValidFunction(t))throw f.createError(f.RtcError.INVALID_PARAMETER,"The listener is not a valid function");return this._eventManager.off(e,t),this},e.prototype.publish=function(e){return n.__awaiter(this,void 0,void 0,(function(){var t;return n.__generator(this,(function(r){switch(r.label){case 0:if(!this._session||!this._session.isConnected)throw f.createError(f.RtcError.NOT_JOIN,"Please join room first");if(this._streamManager.findLocalStreamByMediaType(e.mediaType))throw f.createError(f.RtcError.INVALID_OPERATION,"The stream with MediaType - "+e.getMediaType()+" has already been published");if(e.status===v._ENUM_PUBLISH_STATUS.unpublish)e.status=v._ENUM_PUBLISH_STATUS.publishing;else{if(e.status===v._ENUM_PUBLISH_STATUS.publishing)throw f.createError(f.RtcError.IS_PUBLISHING,"The stream is publishing");if(e.status===v._ENUM_PUBLISH_STATUS.unpublishing)throw f.createError(f.RtcError.IS_UNPUBLISHING,"The stream is unpublishing");if(e.status===v._ENUM_PUBLISH_STATUS.published)throw f.createError(f.RtcError.IS_PUBLISHED,"The stream is published")}e.userId=this._session.userId,this._streamManager.addLocalStream(e),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this._session.publish(e)];case 2:return r.sent(),e.status=v._ENUM_PUBLISH_STATUS.published,[3,4];case 3:throw t=r.sent(),e.status=v._ENUM_PUBLISH_STATUS.unpublish,this._logReporter.reportExceptionLog(m._ENUM_LOG_EXCEPTION_TYPE.publish,{stype:v._ENUM_STREAM_TYPE.publish,mtype:e.mediaType,msg:"publish failed "+t}),this._streamManager.removeLocalStream(e),t;case 4:return this._logReporter.reportOperationLog(m._ENUM_LOG_OPERATION_TYPE.publish,{streamId:e.remoteId,stype:e.streamType,mtype:e.mediaType}),[2]}}))}))},e.prototype.unpublish=function(e){return n.__awaiter(this,void 0,void 0,(function(){var t;return n.__generator(this,(function(r){switch(r.label){case 0:if(!this._session||!this._session.isConnected)throw f.createError(f.RtcError.NOT_JOIN,"Please join room first");if(e.status===v._ENUM_PUBLISH_STATUS.published)e.status=v._ENUM_PUBLISH_STATUS.unpublishing;else{if(e.status===v._ENUM_PUBLISH_STATUS.publishing)throw f.createError(f.RtcError.IS_PUBLISHING,"The stream is publishing");if(e.status===v._ENUM_PUBLISH_STATUS.unpublishing)throw f.createError(f.RtcError.IS_UNPUBLISHING,"The stream is unpublishing");if(e.status===v._ENUM_PUBLISH_STATUS.unpublish)throw f.createError(f.RtcError.IS_UNPUBLISHED,"The stream is unpublished")}r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this._session.unpublish(e)];case 2:return r.sent(),e.status=v._ENUM_PUBLISH_STATUS.unpublish,this._streamManager.removeLocalStream(e),[3,4];case 3:throw t=r.sent(),this._streamManager.removeLocalStream(e),h.default.warn("unpublish "+e.id4Log+" failed ",t),h.default.report("unpublish "+e.id4Log+" failed ",t),t;case 4:return this._logReporter.reportOperationLog(m._ENUM_LOG_OPERATION_TYPE.unpublish,{streamId:e.remoteId,stype:e.streamType,mtype:e.mediaType}),[2]}}))}))},e.prototype.subscribe=function(e){return n.__awaiter(this,void 0,void 0,(function(){var t,r;return n.__generator(this,(function(n){switch(n.label){case 0:if(!this._session||!this._session.isConnected)throw f.createError(f.RtcError.NOT_JOIN,"Please join room first");if(e.status===v._ENUM_SUBSCRIBE_STATUS.unsubscribe)e.status=v._ENUM_SUBSCRIBE_STATUS.subscribing;else{if(e.status===v._ENUM_SUBSCRIBE_STATUS.subscribing)throw f.createError(f.RtcError.IS_SUBSCRIBING,"The stream is subscribing");if(e.status===v._ENUM_SUBSCRIBE_STATUS.unsubscribing)throw f.createError(f.RtcError.IS_UNSUBSCRIBING,"The stream is unsubscribing");if(e.status===v._ENUM_SUBSCRIBE_STATUS.subscribed)throw f.createError(f.RtcError.IS_SUBSCRIBED,"The stream is subscribed")}n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this._session.subscribe(e)];case 2:return n.sent(),e.status=v._ENUM_SUBSCRIBE_STATUS.subscribed,[3,4];case 3:throw t=n.sent(),e.status=v._ENUM_SUBSCRIBE_STATUS.unsubscribe,this._logReporter.reportExceptionLog(m._ENUM_LOG_EXCEPTION_TYPE.subscribe,{userId:e.userId,streamId:e.id,stype:e.streamType,mtype:e.mediaType,msg:"subscribe "+e.id4Log+" failed "+t}),t;case 4:if(!this._streamManager.findRemoteStreamById(e.id))throw e.unbindSession(),e.disconnect(),r=f.createError(f.RtcError.NOT_EXISTS,"stream may already removed"),h.default.report("subscribed a removed stream",e.id4Log),r;return this._logReporter.reportOperationLog(m._ENUM_LOG_OPERATION_TYPE.subscribe,{streamId:e.id,userId:e.userId,stype:e.streamType,mtype:e.mediaType}),[2]}}))}))},e.prototype.unsubscribe=function(e){return n.__awaiter(this,void 0,void 0,(function(){var t;return n.__generator(this,(function(r){switch(r.label){case 0:if(!this._session||!this._session.isConnected)throw f.createError(f.RtcError.NOT_JOIN,"Please join room first");if(e.status===v._ENUM_SUBSCRIBE_STATUS.subscribed)e.status=v._ENUM_SUBSCRIBE_STATUS.unsubscribing;else{if(e.status===v._ENUM_SUBSCRIBE_STATUS.subscribing)throw f.createError(f.RtcError.IS_SUBSCRIBING,"The stream is subscribing");if(e.status===v._ENUM_SUBSCRIBE_STATUS.unsubscribing)throw f.createError(f.RtcError.IS_UNSUBSCRIBING,"The stream is unsubscribing");if(e.status===v._ENUM_SUBSCRIBE_STATUS.unsubscribe)throw f.createError(f.RtcError.IS_UNSUBSCRIBED,"The stream is unsubscribed")}r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this._session.unsubscribe(e)];case 2:return r.sent(),e.status=v._ENUM_SUBSCRIBE_STATUS.unsubscribe,[3,4];case 3:throw t=r.sent(),e.status=v._ENUM_SUBSCRIBE_STATUS.subscribed,h.default.warn("unsubscribe "+e.id4Log+" error ",t),h.default.report("unsubscribe "+e.id4Log+" error ",t),t;case 4:return this._logReporter.reportOperationLog(m._ENUM_LOG_OPERATION_TYPE.unsubscribe,{streamId:e.id,userId:e.userId,stype:e.streamType,mtype:e.mediaType}),[2]}}))}))},e.prototype.setRole=function(e){var t;if(!this._session)throw f.createError(f.RtcError.NOT_JOIN,"Please join room first");var r=p._ENUM_ROLE_TYPE.allStream;switch(e){case"audience":case"pull":r=p._ENUM_ROLE_TYPE.pullStream;break;case"speaker":case"push":case"push-and-pull":default:r=p._ENUM_ROLE_TYPE.allStream}null===(t=this._session)||void 0===t||t.setRole(r)},e.prototype.logoff=function(e,t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:switch(e){case"reconnect":r=p._ENUM_LOGOFF_TYPE.reconnect;break;case"switch":r=p._ENUM_LOGOFF_TYPE.switch;break;case"refresh":r=p._ENUM_LOGOFF_TYPE.refresh;break;case"quit":default:r=p._ENUM_LOGOFF_TYPE.quit}if(!this._session)throw f.createError(f.RtcError.NOT_JOIN,"Please join room first");return[4,this._session.logoff(r,t)];case 1:return n.sent(),[2]}}))}))},e.plugins={},n.__decorate([l.nowe(),n.__metadata("design:type",Object)],e.prototype,"_logReporter",void 0),n.__decorate([l.nowe(),n.__metadata("design:type",Object)],e.prototype,"_eventManager",void 0),n.__decorate([l.nowe(),n.__metadata("design:type",Object)],e.prototype,"_streamManager",void 0),n.__decorate([l.nowe(),n.__metadata("design:type",Object)],e.prototype,"_networkQualityEvaluator",void 0),n.__decorate([l.nowe(),n.__metadata("design:type",Object)],e.prototype,"_userManager",void 0),n.__decorate([l.noenumerable(),n.__metadata("design:type",u.Session)],e.prototype,"_session",void 0),n.__decorate([l.nowe(),n.__metadata("design:type",Object)],e.prototype,"__handleUnload",void 0),n.__decorate([l.nowe(),n.__metadata("design:type",Object)],e.prototype,"handleKickOut",void 0),n.__decorate([l.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[u.Session]),n.__metadata("design:returntype",void 0)],e.prototype,"bindSession",null),n.__decorate([l.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],e.prototype,"unbindSession",null),n.__decorate([l.readonly(),n.__metadata("design:type",String)],e.prototype,"appId",void 0),n.__decorate([l.noenumerable(),n.__metadata("design:type",String)],e.prototype,"audioCodec",void 0),n.__decorate([l.noenumerable(),n.__metadata("design:type",String)],e.prototype,"videoCodec",void 0),n.__decorate([l.nowe(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],e.prototype,"initPlugins",null),n.__decorate([l.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Array)],e.prototype,"getRemoteUsers",null),n.__decorate([l.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Array)],e.prototype,"getLocalStreams",null),n.__decorate([l.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Array)],e.prototype,"getRemoteStreams",null),n.__decorate([l.log(),g.validate(!0),n.__param(0,g.validateParameter(g.isValidString)),n.__param(1,g.validateParameter(g.isValidString)),n.__param(2,g.validateParameter(g.isValidString)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,String,String,Object]),n.__metadata("design:returntype",Promise)],e.prototype,"join",null),n.__decorate([l.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Promise)],e.prototype,"leave",null),n.__decorate([l.log(),g.validate(!1),n.__param(0,g.validateParameter(i.isValidEventType)),n.__param(1,g.validateParameter(g.isValidFunction)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",["function"==typeof(t="undefined"!=typeof T&&T)?t:Object,Function]),n.__metadata("design:returntype",e)],e.prototype,"on",null),n.__decorate([l.nowe(),n.__metadata("design:type",Object)],e.prototype,"onDeviceChanged",void 0),n.__decorate([l.log(),g.validate(!1),n.__param(0,g.validateParameter(i.isValidEventTypeCrazy)),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",["function"==typeof(r="undefined"!=typeof T&&T)?r:Object,Function]),n.__metadata("design:returntype",e)],e.prototype,"off",null),n.__decorate([l.log(),g.validate(!0),n.__param(0,g.validateParameter((function(e){return e.isLocal?!e.isConnected||(h.default.warn("The stream has not been published"),!1):(h.default.warn("The stream is not a local stream"),!1)}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[s.LocalStream]),n.__metadata("design:returntype",Promise)],e.prototype,"publish",null),n.__decorate([l.log(),g.validate(!0),n.__param(0,g.validateParameter((function(e){return e.isLocal?!!e.isConnected||(h.default.warn("The stream has not been published"),!1):(h.default.warn("The stream is not a local stream"),!1)}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[s.LocalStream]),n.__metadata("design:returntype",Promise)],e.prototype,"unpublish",null),n.__decorate([l.log(),g.validate(!0),n.__param(0,g.validateParameter((function(e){return e.isLocal?(h.default.warn("The stream is not a remote stream"),!1):!e.isConnected||(h.default.warn("The stream has already been subscribed"),!1)}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[c.RemoteStream]),n.__metadata("design:returntype",Promise)],e.prototype,"subscribe",null),n.__decorate([l.log(),g.validate(!0),n.__param(0,g.validateParameter((function(e){return e.isLocal?(h.default.warn("The stream is not a remote stream"),!1):!!e.isConnected||(h.default.warn("The stream has not been subscribed"),!1)}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[c.RemoteStream]),n.__metadata("design:returntype",Promise)],e.prototype,"unsubscribe",null),n.__decorate([l.log(),g.validate(!1),n.__param(0,g.validateParameter((function(e){return S.includes(e)}))),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String]),n.__metadata("design:returntype",void 0)],e.prototype,"setRole",null),n.__decorate([l.log(),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[String,Array]),n.__metadata("design:returntype",Promise)],e.prototype,"logoff",null),e}();t.Client=E},function(e,t,r){"use strict";function n(e){return t.RtcEventTypes.includes(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isValidEventTypeCrazy=t.isValidEventType=t.RtcEventTypes=void 0,t.RtcEventTypes=["user-joined","user-left","stream-added","stream-removed","stream-subscribed","stream-published","stream-reconnecting","stream-reconnected","mute-audio","unmute-audio","mute-video","unmute-video","connection-state-changed","kick-off","screen-sharing-stopped","audio-track-ended","first-key-frame","player-status-change","network-quality","logoff","device-changed","error"],t.isValidEventType=n,t.isValidEventTypeCrazy=function(e){return"*"===e||n(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this.cache=[]}return e.prototype.setFlushCallback=function(e){this._cb=e},e.prototype.push=function(e){var t=new Date;this.cache.push("[cached-log] "+t+" ["+t.getTime()+"] :: "+e)},e.prototype.flush=function(){var e=this;if(this._cb){var t=this.cache;this.cache=[],t.forEach((function(t){e._cb&&e._cb(t)}))}},e}();t.default=new n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateToken=t.encode=t.decode=void 0;var n=r(54),i=r(55),o=r(2),a=r(13),s=r(6);t.decode=function(e){return JSON.parse(n.Base64.decode(e))},t.encode=function(e){return n.Base64.encode(JSON.stringify(e))},t.generateToken=function(e,t,r,c){if(!s.isValidString(e))throw o.createError(o.RtcError.INVALID_PARAMETER,"appId isn't a valid string");if(!s.isValidString(t))throw o.createError(o.RtcError.INVALID_PARAMETER,"appKey isn't a valid string");if(!s.isValidString(r))throw o.createError(o.RtcError.INVALID_PARAMETER,"roomId isn't a valid string");if(!s.isValidString(c))throw o.createError(o.RtcError.INVALID_PARAMETER,"userId isn't a valid string");var d=e,u=r,p=c,l=n.Base64.encode(JSON.stringify({user_id:p,room_id:u,app_id:d})),f=Math.round(Date.now()/1e3),h=a.randNum(8),m=p+d+f+h+u,v=new i("SHA-1","TEXT");return v.setHMACKey(t,"TEXT"),v.update(m),l+"."+v.getHMAC("HEX")+f+h}},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getId=t.resetSeq=t.setAgentInfo=t.getAgentInfo=void 0;var n=r(5),i=r(13),o=1e7,a="web_"+n.getBrowserInfo().name+n.getBrowserInfo().version,s=o,c=a;t.getAgentInfo=function(){return c},t.setAgentInfo=function(e){c=e},t.resetSeq=function(){s=o},t.getId=function(){return c+"_"+i.formatTime(new Date,"YYYYMMDDHHmmss")+"_"+s++}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SignalManager=t.Signal=t.SignalStatus=void 0;var n,i=r(0),o=r(4),a=r(1);!function(e){e[e.unconnected=0]="unconnected",e[e.connecting=1]="connecting",e[e.connected=2]="connected"}(n=t.SignalStatus||(t.SignalStatus={}));var s,c=function(){function e(e,t,r){this.status=n.unconnected,this.grade=100,this.url=e,this.port=t,this.ssl=r}return Object.defineProperty(e.prototype,"wss",{get:function(){return"wss://"+this.url+":"+this.port+"/ws"},enumerable:!1,configurable:!0}),e}();t.Signal=c,function(e){e[e.G1=1]="G1",e[e.G2=2]="G2",e[e.G3=3]="G3",e[e.G4=4]="G4"}(s||(s={}));var d=function(e){function t(){var t=e.call(this)||this;return t.signals=[],t}return i.__extends(t,e),Object.defineProperty(t.prototype,"current",{get:function(){return this._signal},enumerable:!1,configurable:!0}),t.prototype.getLevel=function(e){return e>80&&e<=100?s.G1:e>60&&e<=80?s.G2:e>40&&e<=60?s.G3:s.G4},t.prototype.judge=function(e,t){var r=this,i=this.getLevel(e),o=this.getLevel(t);if(i!==o&&i<o){var s=this.signals.find((function(e){return e!==r._signal&&r.getLevel(e.grade)<o}));if(a.default.debug("judge signal "+(s&&s.wss)+"}"),s){a.default.debug("judge signal "+(s&&this.signals.indexOf(s)));var c=this._signal;this._signal=s,c&&(c.status=n.unconnected),this.emit("change-signal",c,this._signal)}}},t.prototype.switch=function(e){var t,r=this;if(e)t=this.signals.find((function(t){return t.wss===e}));else{var i=-1;this.signals.forEach((function(e,n){e!==r._signal&&e.grade>0&&(t?r.getLevel(e.grade)<=r.getLevel(t.grade)&&(t=e,i=n):(t=e,i=n))})),t&&i>=0&&(this.signals.splice(i,1),this.signals.unshift(t))}if(t){a.default.debug("change signal "+(t&&t.wss)+"}"),a.default.report("change signal "+(t&&t.wss)+"}");var o=this._signal;this._signal=t,o&&(o.status=n.unconnected),this.emit("change-signal",o,this._signal)}else this.reconnect()},t.prototype.award=function(e){var t;if(this._signal&&this._signal.status===n.connected&&this._signal.grade<100){var r=this._signal.grade,i=void 0;i="number"==typeof e?e:(10*this._signal.grade+10)/10,this._signal.grade=i,a.default.debug("signal "+(null===(t=this._signal)||void 0===t?void 0:t.url)+" "+r+" -> "+i)}},t.prototype.punish=function(e){var t;if(this._signal&&this._signal.status===n.connected&&this._signal.grade>0){var r=this._signal.grade,i=void 0;"number"==typeof e?i=e:(i=(10*this._signal.grade-10)/10)<0&&(i=0),this._signal.grade=i,a.default.debug("signal "+(null===(t=this._signal)||void 0===t?void 0:t.url)+" "+r+" -> "+i),this.judge(r,i)}},t.prototype.add=function(e){this.signals.push(e),this._signal||(this._signal=e)},t.prototype.remove=function(e){var t=this.signals.findIndex((function(t){return t===e}));t>=0&&this.signals.splice(t,1)},t.prototype.destroy=function(){this.signals=[],this._signal=void 0},t.prototype.reconnect=function(){var e=this._signal;e&&(e.status=n.unconnected),this.emit("change-signal",e,this._signal)},t.prototype.rearrange=function(){var e=this;this.signals.length>1&&(this._signal=this.signals.find((function(t){return t!==e._signal})))},t.prototype.refresh=function(e){var t=this;if(e.length>0){var r=this._signal;this.signals=[],e.forEach((function(e){t.signals.push(e)})),this._signal=this.signals[0],r&&(r.status=n.unconnected),this.emit("change-signal",r,this._signal)}},t}(o.InnerEventEmitter);t.SignalManager=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.post=t.get=t.query=void 0;var n=r(61),i=r(78),o=r(42),a=r(15),s=function(e){return new o(e).origin!==window.location.origin};function c(e){var t=e.url,r=void 0===t?a.SERVER_CONFIG.gateway+"/uteach":t,c=e.method,d=void 0===c?"GET":c,u=e.responseType,p=void 0===u?"json":u,l=e.data,f=void 0===l?{}:l,h=e.crossOrigin,m=void 0!==h&&h,v=e.needVerifyResponse,g=void 0===v||v;return new Promise((function(e,t){!m&&s(r)?i(r,{param:o.qs.stringify(f)+"&callback",timeout:1e4},(function(r,n){return r?t(r):g&&0!==n.err?t("["+n.err+"]: "+n.msg):void e(n)})):n.default.request({url:r,method:d,responseType:p,data:f}).then((function(r){var n=r.data;if(g&&0!==n.err)return t("["+n.err+"]: "+n.msg);e(n)})).catch((function(e){t(e)}))}))}t.query=c,t.get=function(e){return c(Object.assign(e,{method:"GET"}))},t.post=function(e){return c(Object.assign(e,{method:"POST"}))}},function(e,t,r){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}}},function(e,t,r){"use strict";var n=r(3);function i(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var o;if(r)o=r(t);else if(n.isURLSearchParams(t))o=t.toString();else{var a=[];n.forEach(t,(function(e,t){null!=e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),a.push(i(t)+"="+i(e))})))})),o=a.join("&")}if(o){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}},function(e,t,r){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,r){"use strict";(function(t){var n=r(3),i=r(68),o={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var s,c={adapter:(void 0!==t&&"[object process]"===Object.prototype.toString.call(t)?s=r(38):"undefined"!=typeof XMLHttpRequest&&(s=r(38)),s),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)?(a(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};c.headers={common:{Accept:"application/json, text/plain, */*"}},n.forEach(["delete","get","head"],(function(e){c.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){c.headers[e]=n.merge(o)})),e.exports=c}).call(this,r(37))},function(e,t){var r,n,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var c,d=[],u=!1,p=-1;function l(){u&&c&&(u=!1,c.length?d=c.concat(d):p=-1,d.length&&f())}function f(){if(!u){var e=s(l);u=!0;for(var t=d.length;t;){for(c=d,d=[];++p<t;)c&&c[p].run();p=-1,t=d.length}c=null,u=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];d.push(new h(e,t)),1!==d.length||u||s(f)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,r){"use strict";var n=r(3),i=r(69),o=r(34),a=r(71),s=r(72),c=r(39);e.exports=function(e){return new Promise((function(t,d){var u=e.data,p=e.headers;n.isFormData(u)&&delete p["Content-Type"];var l=new XMLHttpRequest;if(e.auth){var f=e.auth.username||"",h=e.auth.password||"";p.Authorization="Basic "+btoa(f+":"+h)}if(l.open(e.method.toUpperCase(),o(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l.onreadystatechange=function(){if(l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in l?a(l.getAllResponseHeaders()):null,n={data:e.responseType&&"text"!==e.responseType?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:r,config:e,request:l};i(t,d,n),l=null}},l.onabort=function(){l&&(d(c("Request aborted",e,"ECONNABORTED",l)),l=null)},l.onerror=function(){d(c("Network Error",e,null,l)),l=null},l.ontimeout=function(){d(c("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",l)),l=null},n.isStandardBrowserEnv()){var m=r(73),v=(e.withCredentials||s(e.url))&&e.xsrfCookieName?m.read(e.xsrfCookieName):void 0;v&&(p[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&n.forEach(p,(function(e,t){void 0===u&&"content-type"===t.toLowerCase()?delete p[t]:l.setRequestHeader(t,e)})),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){l&&(l.abort(),d(e),l=null)})),void 0===u&&(u=null),l.send(u)}))}},function(e,t,r){"use strict";var n=r(70);e.exports=function(e,t,r,i,o){var a=new Error(e);return n(a,t,r,i,o)}},function(e,t,r){"use strict";var n=r(3);e.exports=function(e,t){t=t||{};var r={};return n.forEach(["url","method","params","data"],(function(e){void 0!==t[e]&&(r[e]=t[e])})),n.forEach(["headers","auth","proxy"],(function(i){n.isObject(t[i])?r[i]=n.deepMerge(e[i],t[i]):void 0!==t[i]?r[i]=t[i]:n.isObject(e[i])?r[i]=n.deepMerge(e[i]):void 0!==e[i]&&(r[i]=e[i])})),n.forEach(["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"],(function(n){void 0!==t[n]?r[n]=t[n]:void 0!==e[n]&&(r[n]=e[n])})),r}},function(e,t,r){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,r){"use strict";(function(t){var n=r(82),i=r(83),o=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,a=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i,s=new RegExp("^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+");function c(e){return(e||"").toString().replace(s,"")}var d=[["#","hash"],["?","query"],function(e){return e.replace("\\","/")},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d+)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],u={hash:1,query:1};function p(e){var r,n=("undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{}).location||{},i={},a=typeof(e=e||n);if("blob:"===e.protocol)i=new f(unescape(e.pathname),{});else if("string"===a)for(r in i=new f(e,{}),u)delete i[r];else if("object"===a){for(r in e)r in u||(i[r]=e[r]);void 0===i.slashes&&(i.slashes=o.test(e.href))}return i}function l(e){e=c(e);var t=a.exec(e);return{protocol:t[1]?t[1].toLowerCase():"",slashes:!!t[2],rest:t[3]}}function f(e,t,r){if(e=c(e),!(this instanceof f))return new f(e,t,r);var o,a,s,u,h,m,v=d.slice(),g=typeof t,_=this,y=0;for("object"!==g&&"string"!==g&&(r=t,t=null),r&&"function"!=typeof r&&(r=i.parse),t=p(t),o=!(a=l(e||"")).protocol&&!a.slashes,_.slashes=a.slashes||o&&t.slashes,_.protocol=a.protocol||t.protocol||"",e=a.rest,a.slashes||(v[3]=[/(.*)/,"pathname"]);y<v.length;y++)"function"!=typeof(u=v[y])?(s=u[0],m=u[1],s!=s?_[m]=e:"string"==typeof s?~(h=e.indexOf(s))&&("number"==typeof u[2]?(_[m]=e.slice(0,h),e=e.slice(h+u[2])):(_[m]=e.slice(h),e=e.slice(0,h))):(h=s.exec(e))&&(_[m]=h[1],e=e.slice(0,h.index)),_[m]=_[m]||o&&u[3]&&t[m]||"",u[4]&&(_[m]=_[m].toLowerCase())):e=u(e);r&&(_.query=r(_.query)),o&&t.slashes&&"/"!==_.pathname.charAt(0)&&(""!==_.pathname||""!==t.pathname)&&(_.pathname=function(e,t){if(""===e)return t;for(var r=(t||"/").split("/").slice(0,-1).concat(e.split("/")),n=r.length,i=r[n-1],o=!1,a=0;n--;)"."===r[n]?r.splice(n,1):".."===r[n]?(r.splice(n,1),a++):a&&(0===n&&(o=!0),r.splice(n,1),a--);return o&&r.unshift(""),"."!==i&&".."!==i||r.push(""),r.join("/")}(_.pathname,t.pathname)),n(_.port,_.protocol)||(_.host=_.hostname,_.port=""),_.username=_.password="",_.auth&&(u=_.auth.split(":"),_.username=u[0]||"",_.password=u[1]||""),_.origin=_.protocol&&_.host&&"file:"!==_.protocol?_.protocol+"//"+_.host:"null",_.href=_.toString()}f.prototype={set:function(e,t,r){var o=this;switch(e){case"query":"string"==typeof t&&t.length&&(t=(r||i.parse)(t)),o[e]=t;break;case"port":o[e]=t,n(t,o.protocol)?t&&(o.host=o.hostname+":"+t):(o.host=o.hostname,o[e]="");break;case"hostname":o[e]=t,o.port&&(t+=":"+o.port),o.host=t;break;case"host":o[e]=t,/:\d+$/.test(t)?(t=t.split(":"),o.port=t.pop(),o.hostname=t.join(":")):(o.hostname=t,o.port="");break;case"protocol":o.protocol=t.toLowerCase(),o.slashes=!r;break;case"pathname":case"hash":if(t){var a="pathname"===e?"/":"#";o[e]=t.charAt(0)!==a?a+t:t}else o[e]=t;break;default:o[e]=t}for(var s=0;s<d.length;s++){var c=d[s];c[4]&&(o[c[1]]=o[c[1]].toLowerCase())}return o.origin=o.protocol&&o.host&&"file:"!==o.protocol?o.protocol+"//"+o.host:"null",o.href=o.toString(),o},toString:function(e){e&&"function"==typeof e||(e=i.stringify);var t,r=this,n=r.protocol;n&&":"!==n.charAt(n.length-1)&&(n+=":");var o=n+(r.slashes?"//":"");return r.username&&(o+=r.username,r.password&&(o+=":"+r.password),o+="@"),o+=r.host+r.pathname,(t="object"==typeof r.query?e(r.query):r.query)&&(o+="?"!==t.charAt(0)?"?"+t:t),r.hash&&(o+=r.hash),o}},f.extractProtocol=l,f.location=p,f.trimLeft=c,f.qs=i,e.exports=f}).call(this,r(29))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertRawCommonStream2RawVideoTrackSTData=t.convertRawCommonStream2RawAudioTrackSTData=t.extractRawCommonStream=void 0;var n=r(8),i=r(9),o=r(1);t.extractRawCommonStream=function(e){var t;if(e.uid)t=Object.assign({},e,{stream_type:i._ENUM_STREAM_TYPE.subscribe});else if(e.user_id)t=Object.assign({},e.stream,{uid:e.user_id});else{var r=e;o.default.warn("extract common stream ",r),t=Object.assign({},e)}return t},t.convertRawCommonStream2RawAudioTrackSTData=function(e){return{track_type:n._ENUM_TRACK_TYPE.audio,media_type:e.media_type,user_id:e.uid,mute:e.muteaudio,stream_id:e.sid}},t.convertRawCommonStream2RawVideoTrackSTData=function(e){return{track_type:n._ENUM_TRACK_TYPE.video,media_type:e.media_type,user_id:e.uid,mute:e.mutevideo,stream_id:e.sid}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._ENUM_LOG_OPERATION_TYPE=t._ENUM_LOG_EXCEPTION_TYPE=t._ENUM_LOG_TYPE=void 0,function(e){e[e.join=10]="join",e[e.stats=2]="stats",e[e.leave=3]="leave",e[e.exception=4]="exception",e[e.operation=5]="operation"}(t._ENUM_LOG_TYPE||(t._ENUM_LOG_TYPE={})),function(e){e[e.publish=1]="publish",e[e.subscribe=2]="subscribe",e[e.getCameras=3]="getCameras",e[e.getMicrophones=4]="getMicrophones",e[e.getLoudspeakers=5]="getLoudspeakers",e[e.highCPU=6]="highCPU",e[e.highLoss=7]="highLoss",e[e.highDelay=8]="highDelay",e[e.record=9]="record",e[e.storage=10]="storage",e[e.im=11]="im",e[e.whiteboard=12]="whiteboard",e[e.others=13]="others",e[e.joinRoom=14]="joinRoom",e[e.relay=15]="relay",e[e.reconnect=16]="reconnect"}(t._ENUM_LOG_EXCEPTION_TYPE||(t._ENUM_LOG_EXCEPTION_TYPE={})),function(e){e[e.joinRoom=1]="joinRoom",e[e.leaveRoom=2]="leaveRoom",e[e.publish=3]="publish",e[e.unpublish=4]="unpublish",e[e.subscribe=5]="subscribe",e[e.unsubscribe=6]="unsubscribe",e[e.unmuteVideo=7]="unmuteVideo",e[e.muteVideo=8]="muteVideo",e[e.unmuteAudio=9]="unmuteAudio",e[e.muteAudio=10]="muteAudio",e[e.startRecord=11]="startRecord",e[e.stopRecord=12]="stopRecord",e[e.startRelay=13]="startRelay",e[e.stopRelay=14]="stopRelay",e[e.updateMix=15]="updateMix",e[e.updateVP=16]="updateVP"}(t._ENUM_LOG_OPERATION_TYPE||(t._ENUM_LOG_OPERATION_TYPE={}))},function(e,t,r){"use strict";var n,i="object"==typeof Reflect?Reflect:null,o=i&&"function"==typeof i.apply?i.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};n=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function d(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function u(e,t,r,n){var i,o,a,s;if("function"!=typeof r)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r);if(void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),a=o[t]),void 0===a)a=o[t]=r,++e._eventsCount;else if("function"==typeof a?a=o[t]=n?[r,a]:[a,r]:n?a.unshift(r):a.push(r),(i=d(e))>0&&a.length>i&&!a.warned){a.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=a.length,s=c,console&&console.warn&&console.warn(s)}return e}function p(){for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);this.fired||(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,o(this.listener,this.target,e))}function l(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=p.bind(n);return i.listener=r,n.wrapFn=i,i}function f(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(i):m(i,i.length)}function h(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function m(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if("number"!=typeof e||e<0||a(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");c=e}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||a(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return d(this)},s.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var n="error"===e,i=this._events;if(void 0!==i)n=n&&void 0===i.error;else if(!n)return!1;if(n){var a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=i[e];if(void 0===c)return!1;if("function"==typeof c)o(c,this,t);else{var d=c.length,u=m(c,d);for(r=0;r<d;++r)o(u[r],this,t)}return!0},s.prototype.addListener=function(e,t){return u(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return u(this,e,t,!0)},s.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.on(e,l(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.prependListener(e,l(this,e,t)),this},s.prototype.removeListener=function(e,t){var r,n,i,o,a;if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);if(void 0===(n=this._events))return this;if(void 0===(r=n[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,i),1===r.length&&(n[e]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",e,a||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var i,o=Object.keys(r);for(n=0;n<o.length;++n)"removeListener"!==(i=o[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return f(this,e,!0)},s.prototype.rawListeners=function(e){return f(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clearAutoPlay=t.keepAutoPlay=void 0;var n,i=r(87),o=r(1),a=function(){function e(e){this.element=document.createElement("video"),this.element.setAttribute("style","width: 1px; height: 0px;"),this.element.setAttribute("playsinline",""),this.element.setAttribute("webkit-playsinline","true"),this.element.loop=!0,this.element.style.visibility="hidden",this.element.style.zIndex="-1",this.source=URL.createObjectURL(e),this.element.src=this.source}return e.prototype.run=function(e){this.element.play().then((function(){o.default.debug("[PlayHolder] played")})).catch((function(t){o.default.debug("[PlayHolder] play failed",t),e&&o.default.report("[PlayHolder] play failed",t)}))},e.prototype.destroy=function(){try{this.element.pause(),URL.revokeObjectURL(this.source),this.element.srcObject=null,this.element.remove()}catch(e){o.default.debug("[PlayHolder] destroy error",e),o.default.report("[PlayHolder] destroy error",e)}},e}();t.keepAutoPlay=function(e){n||(n=new a(i.VIDEO)),n.run(e)},t.clearAutoPlay=function(){n&&(n.destroy(),n=void 0)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(0);n.__exportStar(r(23),t),n.__exportStar(r(89),t),n.__exportStar(r(90),t)},function(e,t,r){
  15. /*!
  16. * A getStats API of peerconnection with 'Standardized' and 'Legacy Non-Standard' reports.
  17. *
  18. * @author poplark <https://github.com/poplark>
  19. * @license MIT
  20. */
  21. window,e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(e,t,r){"use strict";function n(e,t,r){var n=e.match(t);return n&&n.length>=r&&parseInt(n[r],10)}function i(e){var t=e.navigator,r={browser:null,version:null};if(void 0===e||!e.navigator)return r.browser="Not a browser.",r;if(t.mozGetUserMedia)r.browser="firefox",r.version=n(t.userAgent,/Firefox\/(\d+)\./,1);else if(t.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)r.browser="chrome",r.version=n(t.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(t.mediaDevices&&t.userAgent.match(/Edge\/(\d+).(\d+)$/))r.browser="edge",r.version=n(t.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!e.RTCPeerConnection||!t.userAgent.match(/AppleWebKit\/(\d+)\./))return r.browser="Not a supported browser.",r;r.browser="safari",r.version=n(t.userAgent,/AppleWebKit\/(\d+)\./,1)}return r}Object.defineProperty(t,"__esModule",{value:!0}),t.detectBrowser=void 0,t.detectBrowser=i;var o=i(window);t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Reports=void 0;var n=r(4),i=r(5),o=function(){function e(e){this.originalReports=e}return e.prototype.find=function(e,t){var r=[];return this.originalReports.forEach((function(i){var o=!0;if(t)for(var a in t)if(!(o=n.isUndefined(t[a])?i.has(a):t[a]===i.get(a)))break;o&&i.has(e)&&r.push({key:e,value:i.get(e),origin:i})})),r},e.prototype._find=function(e,t){var r=this.find(e,t);return r.length>0?r.reduce((function(e,t){return e+i.parse(""+t.value)}),0):-1},e}();t.Reports=o},function(e,t,r){"use strict";r.r(t),r.d(t,"__extends",(function(){return i})),r.d(t,"__assign",(function(){return o})),r.d(t,"__rest",(function(){return a})),r.d(t,"__decorate",(function(){return s})),r.d(t,"__param",(function(){return c})),r.d(t,"__metadata",(function(){return d})),r.d(t,"__awaiter",(function(){return u})),r.d(t,"__generator",(function(){return p})),r.d(t,"__createBinding",(function(){return l})),r.d(t,"__exportStar",(function(){return f})),r.d(t,"__values",(function(){return h})),r.d(t,"__read",(function(){return m})),r.d(t,"__spread",(function(){return v})),r.d(t,"__spreadArrays",(function(){return g})),r.d(t,"__spreadArray",(function(){return _})),r.d(t,"__await",(function(){return y})),r.d(t,"__asyncGenerator",(function(){return b})),r.d(t,"__asyncDelegator",(function(){return w})),r.d(t,"__asyncValues",(function(){return S})),r.d(t,"__makeTemplateObject",(function(){return E})),r.d(t,"__importStar",(function(){return T})),r.d(t,"__importDefault",(function(){return C})),r.d(t,"__classPrivateFieldGet",(function(){return P})),r.d(t,"__classPrivateFieldSet",(function(){return O}));
  22. /*! *****************************************************************************
  23. Copyright (c) Microsoft Corporation.
  24. Permission to use, copy, modify, and/or distribute this software for any
  25. purpose with or without fee is hereby granted.
  26. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
  27. REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  28. AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
  29. INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  30. LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  31. OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  32. PERFORMANCE OF THIS SOFTWARE.
  33. ***************************************************************************** */
  34. var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var o=function(){return(o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function a(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r}function s(e,t,r,n){var i,o=arguments.length,a=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function c(e,t){return function(r,n){t(r,n,e)}}function d(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function u(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))}function p(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}var l=Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};function f(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||l(t,e,r)}function h(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}function v(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function g(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),i=0;for(t=0;t<r;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)n[i]=o[a];return n}function _(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||t)}function y(e){return this instanceof y?(this.v=e,this):new y(e)}function b(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,i=r.apply(e,t||[]),o=[];return n={},a("next"),a("throw"),a("return"),n[Symbol.asyncIterator]=function(){return this},n;function a(e){i[e]&&(n[e]=function(t){return new Promise((function(r,n){o.push([e,t,r,n])>1||s(e,t)}))})}function s(e,t){try{(r=i[e](t)).value instanceof y?Promise.resolve(r.value.v).then(c,d):u(o[0][2],r)}catch(e){u(o[0][3],e)}var r}function c(e){s("next",e)}function d(e){s("throw",e)}function u(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function w(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,i){t[n]=e[n]?function(t){return(r=!r)?{value:y(e[n](t)),done:"return"===n}:i?i(t):t}:i}}function S(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=h(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){!function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}(n,i,(t=e[r](t)).done,t.value)}))}}}function E(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var R=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function T(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&l(t,e,r);return R(t,e),t}function C(e){return e&&e.__esModule?e:{default:e}}function P(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)}function O(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.getLegacyStats=t.getStats=t.CandidatePairLegacyReports=t.CandidatePairReports=t.VideoOutputLegacyReports=t.VideoInputLegacyReports=t.VideoOutputReports=t.VideoInputReports=t.AudioOutputLegacyReports=t.AudioInputLegacyReports=t.AudioOutputReports=t.AudioInputReports=t.Reports=void 0;var n=r(0),i=r(1);Object.defineProperty(t,"Reports",{enumerable:!0,get:function(){return i.Reports}});var o=r(8);Object.defineProperty(t,"AudioInputReports",{enumerable:!0,get:function(){return o.AudioInputReports}}),Object.defineProperty(t,"AudioOutputReports",{enumerable:!0,get:function(){return o.AudioOutputReports}}),Object.defineProperty(t,"AudioInputLegacyReports",{enumerable:!0,get:function(){return o.AudioInputLegacyReports}}),Object.defineProperty(t,"AudioOutputLegacyReports",{enumerable:!0,get:function(){return o.AudioOutputLegacyReports}});var a=r(9);Object.defineProperty(t,"VideoInputReports",{enumerable:!0,get:function(){return a.VideoInputReports}}),Object.defineProperty(t,"VideoOutputReports",{enumerable:!0,get:function(){return a.VideoOutputReports}}),Object.defineProperty(t,"VideoInputLegacyReports",{enumerable:!0,get:function(){return a.VideoInputLegacyReports}}),Object.defineProperty(t,"VideoOutputLegacyReports",{enumerable:!0,get:function(){return a.VideoOutputLegacyReports}});var s=r(10);function c(e){return e.getStats().then((function(e){var t=[];return e.forEach((function(e){var r=new Map;for(var n in e)r.set(n,e[n]);t.push(r)})),t}))}Object.defineProperty(t,"CandidatePairReports",{enumerable:!0,get:function(){return s.CandidatePairReports}}),Object.defineProperty(t,"CandidatePairLegacyReports",{enumerable:!0,get:function(){return s.CandidatePairLegacyReports}}),t.getStats=c,t.getLegacyStats=function(e){return"chrome"!==n.default.browser?Promise.reject(new Error("Only chrome/chromium style browsers can use this function")):new Promise((function(t,r){var n=[];e.getStats((function(e){e.result().forEach((function(e){var t=new Map;t.set("id",e.id),t.set("type",e.type),e.names().forEach((function(r){t.set(r,e.stat(r))})),n.push(t)})),t(n)})).catch(r)}))},t.version="1.1.0",t.default=c},function(e,t,r){"use strict";function n(e){return Object.prototype.toString.call(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isNull=t.isUndefined=void 0,t.isUndefined=function(e){return"[object Undefined]"===n(e)},t.isNull=function(e){return"[object Null]"===n(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;var n=r(6),i=r(7);t.parse=function(e){return e+="",i.isBoolean(e)?i.parseBoolean(e):n.isNumber(e)?n.parseNumber(e):e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseNumber=t.isNumber=t.isFloat=t.isInt=void 0;var n=/^-?(?:0|[1-9][0-9]*)$/,i=/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/;function o(e){return e+="",n.test(e)}function a(e){return e+="",i.test(e)}t.isInt=o,t.isFloat=a,t.isNumber=function(e){return o(e+="")||a(e)},t.parseNumber=function(e){var t;if(o(e+=""))t=parseInt(e,10);else{if(!a(e))throw new Error("parameter invalid");t=parseFloat(e)}return t}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseBoolean=t.isBoolean=void 0;var n=/^true|false$/;function i(e){return e+="",n.test(e)}t.isBoolean=i,t.parseBoolean=function(e){if(!i(e+=""))throw new Error("parameter invalid");return"true"===e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AudioOutputLegacyReports=t.AudioInputLegacyReports=t.AudioOutputReports=t.AudioInputReports=void 0;var n=r(2),i=r(0),o=r(1),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"bytesReceived",{get:function(){return this._find("bytesReceived",{type:"inbound-rtp",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsReceived",{get:function(){return this._find("packetsReceived",{type:"inbound-rtp",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"jitter",{get:function(){return this._find("jitter",{type:"inbound-rtp",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsLost",{get:function(){return this._find("packetsLost",{type:"inbound-rtp",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"audioLevel",{get:function(){switch(i.default.browser){case"chrome":return this._find("audioLevel",{type:"track",kind:"audio"});case"safari":return this._find("audioLevel",{type:"track"});default:return this._find("audioLevel")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"totalAudioEnergy",{get:function(){switch(i.default.browser){case"chrome":return this._find("totalAudioEnergy",{type:"track",kind:"audio"});default:return this._find("totalAudioEnergy")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ssrc",{get:function(){return this._find("ssrc",{type:"inbound-rtp",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"jitterBufferDelay",{get:function(){switch(i.default.browser){case"chrome":return this._find("jitterBufferDelay",{type:"track",kind:"audio"});default:return this._find("jitterBufferDelay")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"jitterBufferEmittedCount",{get:function(){switch(i.default.browser){case"chrome":return this._find("jitterBufferEmittedCount",{type:"track",kind:"audio"});default:return this._find("jitterBufferEmittedCount")}},enumerable:!1,configurable:!0}),t}(o.Reports);t.AudioInputReports=a;var s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"bytesSent",{get:function(){return this._find("bytesSent",{type:"outbound-rtp",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsSent",{get:function(){return this._find("packetsSent",{type:"outbound-rtp",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"jitter",{get:function(){switch(i.default.browser){case"chrome":case"firefox":return this._find("jitter",{type:"remote-inbound-rtp",kind:"audio"});default:return this._find("jitter",{mediaType:"audio"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsLost",{get:function(){switch(i.default.browser){case"chrome":case"firefox":return this._find("packetsLost",{type:"remote-inbound-rtp",kind:"audio"});default:return this._find("packetsLost",{mediaType:"audio"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"roundTripTime",{get:function(){switch(i.default.browser){case"chrome":case"firefox":return this._find("roundTripTime",{type:"remote-inbound-rtp",kind:"audio"});default:return this._find("roundTripTime",{mediaType:"audio"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"audioLevel",{get:function(){switch(i.default.browser){case"chrome":return this._find("audioLevel",{type:"media-source",kind:"audio"});default:return this._find("audioLevel")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"totalAudioEnergy",{get:function(){switch(i.default.browser){case"chrome":return this._find("totalAudioEnergy",{type:"media-source",kind:"audio"});default:return this._find("totalAudioEnergy")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ssrc",{get:function(){return this._find("ssrc",{type:"outbound-rtp",mediaType:"audio"})},enumerable:!1,configurable:!0}),t}(o.Reports);t.AudioOutputReports=s;var c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"bytesReceived",{get:function(){return this._find("bytesReceived",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsReceived",{get:function(){return this._find("packetsReceived",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsLost",{get:function(){return this._find("packetsLost",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"audioLevel",{get:function(){return this._find("audioOutputLevel",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"totalAudioEnergy",{get:function(){return this._find("totalAudioEnergy",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),t}(o.Reports);t.AudioInputLegacyReports=c;var d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"bytesSent",{get:function(){return this._find("bytesSent",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsSent",{get:function(){return this._find("packetsSent",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsLost",{get:function(){return this._find("packetsLost",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"roundTripTime",{get:function(){return this._find("googRtt",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"audioLevel",{get:function(){return this._find("audioInputLevel",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"totalAudioEnergy",{get:function(){return this._find("totalAudioEnergy",{type:"ssrc",mediaType:"audio"})},enumerable:!1,configurable:!0}),t}(o.Reports);t.AudioOutputLegacyReports=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VideoOutputLegacyReports=t.VideoInputLegacyReports=t.VideoOutputReports=t.VideoInputReports=void 0;var n=r(2),i=r(0),o=r(1),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"frameWidth",{get:function(){switch(i.default.browser){case"chrome":return this._find("frameWidth",{type:"track",kind:"video"});case"safari":return this._find("frameWidth",{type:"track"});default:return this._find("frameWidth")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"frameHeight",{get:function(){switch(i.default.browser){case"chrome":return this._find("frameHeight",{type:"track",kind:"video"});case"safari":return this._find("frameHeight",{type:"track"});default:return this._find("frameHeight")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"framesReceived",{get:function(){switch(i.default.browser){case"chrome":return this._find("framesReceived",{type:"track",kind:"video"});case"safari":return this._find("framesReceived",{type:"track"});default:return this._find("framesReceived")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"framesDropped",{get:function(){switch(i.default.browser){case"chrome":return this._find("framesDropped",{type:"track",kind:"video"});case"safari":return this._find("framesDropped",{type:"track"});default:return this._find("framesDropped")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bytesReceived",{get:function(){return this._find("bytesReceived",{type:"inbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsReceived",{get:function(){return this._find("packetsReceived",{type:"inbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsLost",{get:function(){return this._find("packetsLost",{type:"inbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"nackCount",{get:function(){return this._find("nackCount",{type:"inbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pliCount",{get:function(){return this._find("pliCount",{type:"inbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"firCount",{get:function(){return this._find("firCount",{type:"inbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"framesDecoded",{get:function(){switch(i.default.browser){case"chrome":return this._find("framesDecoded",{type:"track",kind:"video"});case"firefox":return this._find("framesDecoded",{type:"inbound-rtp",kind:"video"});case"safari":return this._find("framesDecoded",{type:"track"});default:return this._find("framesDecoded")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"jitter",{get:function(){switch(i.default.browser){case"firefox":return this._find("jitter",{type:"inbound-rtp",kind:"video"});default:return this._find("jitter",{mediaType:"video"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ssrc",{get:function(){return this._find("ssrc",{type:"inbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"jitterBufferDelay",{get:function(){switch(i.default.browser){case"chrome":return this._find("jitterBufferDelay",{type:"track",kind:"video"});default:return this._find("jitterBufferDelay")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"jitterBufferEmittedCount",{get:function(){switch(i.default.browser){case"chrome":return this._find("jitterBufferEmittedCount",{type:"track",kind:"video"});default:return this._find("jitterBufferEmittedCount")}},enumerable:!1,configurable:!0}),t}(o.Reports);t.VideoInputReports=a;var s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"width",{get:function(){switch(i.default.browser){case"chrome":return this._find("width",{type:"media-source",kind:"video"});default:return this._find("width")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){switch(i.default.browser){case"chrome":return this._find("height",{type:"media-source",kind:"video"});default:return this._find("height")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"framesPerSecond",{get:function(){switch(i.default.browser){case"chrome":return this._find("framesPerSecond",{type:"media-source",kind:"video"});default:return this._find("frames")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"frames",{get:function(){switch(i.default.browser){case"chrome":return this._find("frames",{type:"media-source",kind:"video"});default:return this._find("frames")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"frameWidth",{get:function(){switch(i.default.browser){case"chrome":return this._find("frameWidth",{type:"track",kind:"video"});case"safari":return this._find("frameWidth",{type:"track"});default:return this._find("frameWidth")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"frameHeight",{get:function(){switch(i.default.browser){case"chrome":return this._find("frameHeight",{type:"track",kind:"video"});case"safari":return this._find("frameHeight",{type:"track"});default:return this._find("frameHeight")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bytesSent",{get:function(){return this._find("bytesSent",{type:"outbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsSent",{get:function(){return this._find("packetsSent",{type:"outbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"nackCount",{get:function(){return this._find("nackCount",{type:"outbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pliCount",{get:function(){return this._find("pliCount",{type:"outbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"firCount",{get:function(){return this._find("firCount",{type:"outbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"framesEncoded",{get:function(){return this._find("framesEncoded",{type:"outbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsLost",{get:function(){switch(i.default.browser){case"chrome":case"firefox":return this._find("packetsLost",{type:"remote-inbound-rtp",kind:"video"});default:return this._find("packetsLost",{mediaType:"video"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"jitter",{get:function(){switch(i.default.browser){case"chrome":case"firefox":return this._find("jitter",{type:"remote-inbound-rtp",kind:"video"});default:return this._find("jitter",{mediaType:"video"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"roundTripTime",{get:function(){switch(i.default.browser){case"chrome":case"firefox":return this._find("roundTripTime",{type:"remote-inbound-rtp",kind:"video"});default:return this._find("roundTripTime",{mediaType:"video"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"framesSent",{get:function(){switch(i.default.browser){case"chrome":return this._find("framesSent",{type:"track",kind:"video"});case"safari":return this._find("framesSent",{type:"track"});default:return this._find("framesSent")}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ssrc",{get:function(){return this._find("ssrc",{type:"outbound-rtp",mediaType:"video"})},enumerable:!1,configurable:!0}),t}(o.Reports);t.VideoOutputReports=s;var c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"frameWidth",{get:function(){return this._find("googFrameWidthReceived",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"frameHeight",{get:function(){return this._find("googFrameHeightReceived",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bytesReceived",{get:function(){return this._find("bytesReceived",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsReceived",{get:function(){return this._find("packetsReceived",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsLost",{get:function(){return this._find("packetsLost",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"nackCount",{get:function(){return this._find("googNacksSent",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pliCount",{get:function(){return this._find("googPlisSent",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"firCount",{get:function(){return this._find("googFirsSent",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"framesDecoded",{get:function(){return this._find("framesDecoded",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),t}(o.Reports);t.VideoInputLegacyReports=c;var d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"frameWidth",{get:function(){return this._find("googFrameWidthSent",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"frameHeight",{get:function(){return this._find("googFrameHeightSent",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bytesSent",{get:function(){return this._find("bytesSent",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsSent",{get:function(){return this._find("packetsSent",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"nackCount",{get:function(){return this._find("googNacksReceived",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pliCount",{get:function(){return this._find("googPlisReceived",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"firCount",{get:function(){return this._find("googFirsReceived",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"framesEncoded",{get:function(){return this._find("framesEncoded",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsLost",{get:function(){return this._find("packetsLost",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"roundTripTime",{get:function(){return this._find("googRtt",{type:"ssrc",mediaType:"video"})},enumerable:!1,configurable:!0}),t}(o.Reports);t.VideoOutputLegacyReports=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CandidatePairLegacyReports=t.CandidatePairReports=void 0;var n=r(2),i=r(0),o=r(1),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"bytesSent",{get:function(){switch(i.default.browser){case"chrome":case"safari":return this._find("bytesSent",{type:"candidate-pair"});case"firefox":return this._find("bytesSent",{type:"candidate-pair",selected:!0});default:return this._find("bytesSent",{type:"candidate-pair"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bytesReceived",{get:function(){switch(i.default.browser){case"chrome":case"safari":return this._find("bytesReceived",{type:"candidate-pair"});case"firefox":return this._find("bytesReceived",{type:"candidate-pair",selected:!0});default:return this._find("bytesReceived",{type:"candidate-pair"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"currentRoundTripTime",{get:function(){switch(i.default.browser){case"chrome":case"safari":default:return this._find("currentRoundTripTime",{type:"candidate-pair"})}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"totalRoundTripTime",{get:function(){switch(i.default.browser){case"chrome":case"safari":default:return this._find("totalRoundTripTime",{type:"candidate-pair"})}},enumerable:!1,configurable:!0}),t}(o.Reports);t.CandidatePairReports=a;var s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),Object.defineProperty(t.prototype,"bytesReceived",{get:function(){return this._find("bytesReceived",{type:"googCandidatePair"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bytesSent",{get:function(){return this._find("bytesSent",{type:"googCandidatePair"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"packetsSent",{get:function(){return this._find("packetsSent",{type:"googCandidatePair"})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"currentRoundTripTime",{get:function(){return this._find("googRtt",{type:"googCandidatePair"})},enumerable:!1,configurable:!0}),t}(o.Reports);t.CandidatePairLegacyReports=s}])},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.User=void 0;var n=r(0),i=r(7),o=function(){function e(e){this.id=e}return n.__decorate([i.readonly(),n.__metadata("design:type",String)],e.prototype,"id",void 0),e}();t.User=o},function(e,t,r){"use strict";var n=r(11);function i(e,t,r,i,o){var a=n.writeRtpDescription(e.kind,t);if(a+=n.writeIceParameters(e.iceGatherer.getLocalParameters()),a+=n.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),"offer"===r?"actpass":o||"active"),a+="a=mid:"+e.mid+"\r\n",e.rtpSender&&e.rtpReceiver?a+="a=sendrecv\r\n":e.rtpSender?a+="a=sendonly\r\n":e.rtpReceiver?a+="a=recvonly\r\n":a+="a=inactive\r\n",e.rtpSender){var s=e.rtpSender._initialTrackId||e.rtpSender.track.id;e.rtpSender._initialTrackId=s;var c="msid:"+(i?i.id:"-")+" "+s+"\r\n";a+="a="+c,a+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+c,e.sendEncodingParameters[0].rtx&&(a+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+c,a+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+"\r\n")}return a+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+n.localCName+"\r\n",e.rtpSender&&e.sendEncodingParameters[0].rtx&&(a+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+n.localCName+"\r\n"),a}function o(e,t){var r={codecs:[],headerExtensions:[],fecMechanisms:[]},n=function(e,t){e=parseInt(e,10);for(var r=0;r<t.length;r++)if(t[r].payloadType===e||t[r].preferredPayloadType===e)return t[r]},i=function(e,t,r,i){var o=n(e.parameters.apt,r),a=n(t.parameters.apt,i);return o&&a&&o.name.toLowerCase()===a.name.toLowerCase()};return e.codecs.forEach((function(n){for(var o=0;o<t.codecs.length;o++){var a=t.codecs[o];if(n.name.toLowerCase()===a.name.toLowerCase()&&n.clockRate===a.clockRate){if("rtx"===n.name.toLowerCase()&&n.parameters&&a.parameters.apt&&!i(n,a,e.codecs,t.codecs))continue;(a=JSON.parse(JSON.stringify(a))).numChannels=Math.min(n.numChannels,a.numChannels),r.codecs.push(a),a.rtcpFeedback=a.rtcpFeedback.filter((function(e){for(var t=0;t<n.rtcpFeedback.length;t++)if(n.rtcpFeedback[t].type===e.type&&n.rtcpFeedback[t].parameter===e.parameter)return!0;return!1}));break}}})),e.headerExtensions.forEach((function(e){for(var n=0;n<t.headerExtensions.length;n++){var i=t.headerExtensions[n];if(e.uri===i.uri){r.headerExtensions.push(i);break}}})),r}function a(e,t,r){return-1!=={offer:{setLocalDescription:["stable","have-local-offer"],setRemoteDescription:["stable","have-remote-offer"]},answer:{setLocalDescription:["have-remote-offer","have-local-pranswer"],setRemoteDescription:["have-local-offer","have-remote-pranswer"]}}[t][e].indexOf(r)}function s(e,t){var r=e.getRemoteCandidates().find((function(e){return t.foundation===e.foundation&&t.ip===e.ip&&t.port===e.port&&t.priority===e.priority&&t.protocol===e.protocol&&t.type===e.type}));return r||e.addRemoteCandidate(t),!r}function c(e,t){var r=new Error(t);return r.name=e,r.code={NotSupportedError:9,InvalidStateError:11,InvalidAccessError:15,TypeError:void 0,OperationError:void 0}[e],r}e.exports=function(e,t){function r(t,r){r.addTrack(t),r.dispatchEvent(new e.MediaStreamTrackEvent("addtrack",{track:t}))}function d(t,r,n,i){var o=new Event("track");o.track=r,o.receiver=n,o.transceiver={receiver:n},o.streams=i,e.setTimeout((function(){t._dispatchEvent("track",o)}))}var u=function(r){var i=this,o=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach((function(e){i[e]=o[e].bind(o)})),this.canTrickleIceCandidates=null,this.needNegotiation=!1,this.localStreams=[],this.remoteStreams=[],this._localDescription=null,this._remoteDescription=null,this.signalingState="stable",this.iceConnectionState="new",this.connectionState="new",this.iceGatheringState="new",r=JSON.parse(JSON.stringify(r||{})),this.usingBundle="max-bundle"===r.bundlePolicy,"negotiate"===r.rtcpMuxPolicy)throw c("NotSupportedError","rtcpMuxPolicy 'negotiate' is not supported");switch(r.rtcpMuxPolicy||(r.rtcpMuxPolicy="require"),r.iceTransportPolicy){case"all":case"relay":break;default:r.iceTransportPolicy="all"}switch(r.bundlePolicy){case"balanced":case"max-compat":case"max-bundle":break;default:r.bundlePolicy="balanced"}if(r.iceServers=function(e,t){var r=!1;return(e=JSON.parse(JSON.stringify(e))).filter((function(e){if(e&&(e.urls||e.url)){var n=e.urls||e.url;e.url&&!e.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var i="string"==typeof n;return i&&(n=[n]),n=n.filter((function(e){return 0===e.indexOf("turn:")&&-1!==e.indexOf("transport=udp")&&-1===e.indexOf("turn:[")&&!r?(r=!0,!0):0===e.indexOf("stun:")&&t>=14393&&-1===e.indexOf("?transport=udp")})),delete e.url,e.urls=i?n[0]:n,!!n.length}}))}(r.iceServers||[],t),this._iceGatherers=[],r.iceCandidatePoolSize)for(var a=r.iceCandidatePoolSize;a>0;a--)this._iceGatherers.push(new e.RTCIceGatherer({iceServers:r.iceServers,gatherPolicy:r.iceTransportPolicy}));else r.iceCandidatePoolSize=0;this._config=r,this.transceivers=[],this._sdpSessionId=n.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(u.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(u.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),u.prototype.onicecandidate=null,u.prototype.onaddstream=null,u.prototype.ontrack=null,u.prototype.onremovestream=null,u.prototype.onsignalingstatechange=null,u.prototype.oniceconnectionstatechange=null,u.prototype.onconnectionstatechange=null,u.prototype.onicegatheringstatechange=null,u.prototype.onnegotiationneeded=null,u.prototype.ondatachannel=null,u.prototype._dispatchEvent=function(e,t){this._isClosed||(this.dispatchEvent(t),"function"==typeof this["on"+e]&&this["on"+e](t))},u.prototype._emitGatheringStateChange=function(){var e=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",e)},u.prototype.getConfiguration=function(){return this._config},u.prototype.getLocalStreams=function(){return this.localStreams},u.prototype.getRemoteStreams=function(){return this.remoteStreams},u.prototype._createTransceiver=function(e,t){var r=this.transceivers.length>0,n={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:e,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&r)n.iceTransport=this.transceivers[0].iceTransport,n.dtlsTransport=this.transceivers[0].dtlsTransport;else{var i=this._createIceAndDtlsTransports();n.iceTransport=i.iceTransport,n.dtlsTransport=i.dtlsTransport}return t||this.transceivers.push(n),n},u.prototype.addTrack=function(t,r){if(this._isClosed)throw c("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var n;if(this.transceivers.find((function(e){return e.track===t})))throw c("InvalidAccessError","Track already exists.");for(var i=0;i<this.transceivers.length;i++)this.transceivers[i].track||this.transceivers[i].kind!==t.kind||(n=this.transceivers[i]);return n||(n=this._createTransceiver(t.kind)),this._maybeFireNegotiationNeeded(),-1===this.localStreams.indexOf(r)&&this.localStreams.push(r),n.track=t,n.stream=r,n.rtpSender=new e.RTCRtpSender(t,n.dtlsTransport),n.rtpSender},u.prototype.addStream=function(e){var r=this;if(t>=15025)e.getTracks().forEach((function(t){r.addTrack(t,e)}));else{var n=e.clone();e.getTracks().forEach((function(e,t){var r=n.getTracks()[t];e.addEventListener("enabled",(function(e){r.enabled=e.enabled}))})),n.getTracks().forEach((function(e){r.addTrack(e,n)}))}},u.prototype.removeTrack=function(t){if(this._isClosed)throw c("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(t instanceof e.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var r=this.transceivers.find((function(e){return e.rtpSender===t}));if(!r)throw c("InvalidAccessError","Sender was not created by this connection.");var n=r.stream;r.rtpSender.stop(),r.rtpSender=null,r.track=null,r.stream=null,-1===this.transceivers.map((function(e){return e.stream})).indexOf(n)&&this.localStreams.indexOf(n)>-1&&this.localStreams.splice(this.localStreams.indexOf(n),1),this._maybeFireNegotiationNeeded()},u.prototype.removeStream=function(e){var t=this;e.getTracks().forEach((function(e){var r=t.getSenders().find((function(t){return t.track===e}));r&&t.removeTrack(r)}))},u.prototype.getSenders=function(){return this.transceivers.filter((function(e){return!!e.rtpSender})).map((function(e){return e.rtpSender}))},u.prototype.getReceivers=function(){return this.transceivers.filter((function(e){return!!e.rtpReceiver})).map((function(e){return e.rtpReceiver}))},u.prototype._createIceGatherer=function(t,r){var n=this;if(r&&t>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var i=new e.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(i,"state",{value:"new",writable:!0}),this.transceivers[t].bufferedCandidateEvents=[],this.transceivers[t].bufferCandidates=function(e){var r=!e.candidate||0===Object.keys(e.candidate).length;i.state=r?"completed":"gathering",null!==n.transceivers[t].bufferedCandidateEvents&&n.transceivers[t].bufferedCandidateEvents.push(e)},i.addEventListener("localcandidate",this.transceivers[t].bufferCandidates),i},u.prototype._gather=function(t,r){var i=this,o=this.transceivers[r].iceGatherer;if(!o.onlocalcandidate){var a=this.transceivers[r].bufferedCandidateEvents;this.transceivers[r].bufferedCandidateEvents=null,o.removeEventListener("localcandidate",this.transceivers[r].bufferCandidates),o.onlocalcandidate=function(e){if(!(i.usingBundle&&r>0)){var a=new Event("icecandidate");a.candidate={sdpMid:t,sdpMLineIndex:r};var s=e.candidate,c=!s||0===Object.keys(s).length;if(c)"new"!==o.state&&"gathering"!==o.state||(o.state="completed");else{"new"===o.state&&(o.state="gathering"),s.component=1,s.ufrag=o.getLocalParameters().usernameFragment;var d=n.writeCandidate(s);a.candidate=Object.assign(a.candidate,n.parseCandidate(d)),a.candidate.candidate=d,a.candidate.toJSON=function(){return{candidate:a.candidate.candidate,sdpMid:a.candidate.sdpMid,sdpMLineIndex:a.candidate.sdpMLineIndex,usernameFragment:a.candidate.usernameFragment}}}var u=n.getMediaSections(i._localDescription.sdp);u[a.candidate.sdpMLineIndex]+=c?"a=end-of-candidates\r\n":"a="+a.candidate.candidate+"\r\n",i._localDescription.sdp=n.getDescription(i._localDescription.sdp)+u.join("");var p=i.transceivers.every((function(e){return e.iceGatherer&&"completed"===e.iceGatherer.state}));"gathering"!==i.iceGatheringState&&(i.iceGatheringState="gathering",i._emitGatheringStateChange()),c||i._dispatchEvent("icecandidate",a),p&&(i._dispatchEvent("icecandidate",new Event("icecandidate")),i.iceGatheringState="complete",i._emitGatheringStateChange())}},e.setTimeout((function(){a.forEach((function(e){o.onlocalcandidate(e)}))}),0)}},u.prototype._createIceAndDtlsTransports=function(){var t=this,r=new e.RTCIceTransport(null);r.onicestatechange=function(){t._updateIceConnectionState(),t._updateConnectionState()};var n=new e.RTCDtlsTransport(r);return n.ondtlsstatechange=function(){t._updateConnectionState()},n.onerror=function(){Object.defineProperty(n,"state",{value:"failed",writable:!0}),t._updateConnectionState()},{iceTransport:r,dtlsTransport:n}},u.prototype._disposeIceAndDtlsTransports=function(e){var t=this.transceivers[e].iceGatherer;t&&(delete t.onlocalcandidate,delete this.transceivers[e].iceGatherer);var r=this.transceivers[e].iceTransport;r&&(delete r.onicestatechange,delete this.transceivers[e].iceTransport);var n=this.transceivers[e].dtlsTransport;n&&(delete n.ondtlsstatechange,delete n.onerror,delete this.transceivers[e].dtlsTransport)},u.prototype._transceive=function(e,r,i){var a=o(e.localCapabilities,e.remoteCapabilities);r&&e.rtpSender&&(a.encodings=e.sendEncodingParameters,a.rtcp={cname:n.localCName,compound:e.rtcpParameters.compound},e.recvEncodingParameters.length&&(a.rtcp.ssrc=e.recvEncodingParameters[0].ssrc),e.rtpSender.send(a)),i&&e.rtpReceiver&&a.codecs.length>0&&("video"===e.kind&&e.recvEncodingParameters&&t<15019&&e.recvEncodingParameters.forEach((function(e){delete e.rtx})),e.recvEncodingParameters.length?a.encodings=e.recvEncodingParameters:a.encodings=[{}],a.rtcp={compound:e.rtcpParameters.compound},e.rtcpParameters.cname&&(a.rtcp.cname=e.rtcpParameters.cname),e.sendEncodingParameters.length&&(a.rtcp.ssrc=e.sendEncodingParameters[0].ssrc),e.rtpReceiver.receive(a))},u.prototype.setLocalDescription=function(e){var t,r,i=this;if(-1===["offer","answer"].indexOf(e.type))return Promise.reject(c("TypeError",'Unsupported type "'+e.type+'"'));if(!a("setLocalDescription",e.type,i.signalingState)||i._isClosed)return Promise.reject(c("InvalidStateError","Can not set local "+e.type+" in state "+i.signalingState));if("offer"===e.type)t=n.splitSections(e.sdp),r=t.shift(),t.forEach((function(e,t){var r=n.parseRtpParameters(e);i.transceivers[t].localCapabilities=r})),i.transceivers.forEach((function(e,t){i._gather(e.mid,t)}));else if("answer"===e.type){t=n.splitSections(i._remoteDescription.sdp),r=t.shift();var s=n.matchPrefix(r,"a=ice-lite").length>0;t.forEach((function(e,t){var a=i.transceivers[t],c=a.iceGatherer,d=a.iceTransport,u=a.dtlsTransport,p=a.localCapabilities,l=a.remoteCapabilities;if(!(n.isRejected(e)&&0===n.matchPrefix(e,"a=bundle-only").length)&&!a.rejected){var f=n.getIceParameters(e,r),h=n.getDtlsParameters(e,r);s&&(h.role="server"),i.usingBundle&&0!==t||(i._gather(a.mid,t),"new"===d.state&&d.start(c,f,s?"controlling":"controlled"),"new"===u.state&&u.start(h));var m=o(p,l);i._transceive(a,m.codecs.length>0,!1)}}))}return i._localDescription={type:e.type,sdp:e.sdp},"offer"===e.type?i._updateSignalingState("have-local-offer"):i._updateSignalingState("stable"),Promise.resolve()},u.prototype.setRemoteDescription=function(i){var u=this;if(-1===["offer","answer"].indexOf(i.type))return Promise.reject(c("TypeError",'Unsupported type "'+i.type+'"'));if(!a("setRemoteDescription",i.type,u.signalingState)||u._isClosed)return Promise.reject(c("InvalidStateError","Can not set remote "+i.type+" in state "+u.signalingState));var p={};u.remoteStreams.forEach((function(e){p[e.id]=e}));var l=[],f=n.splitSections(i.sdp),h=f.shift(),m=n.matchPrefix(h,"a=ice-lite").length>0,v=n.matchPrefix(h,"a=group:BUNDLE ").length>0;u.usingBundle=v;var g=n.matchPrefix(h,"a=ice-options:")[0];return u.canTrickleIceCandidates=!!g&&g.substr(14).split(" ").indexOf("trickle")>=0,f.forEach((function(a,c){var d=n.splitLines(a),f=n.getKind(a),g=n.isRejected(a)&&0===n.matchPrefix(a,"a=bundle-only").length,_=d[0].substr(2).split(" ")[2],y=n.getDirection(a,h),b=n.parseMsid(a),w=n.getMid(a)||n.generateIdentifier();if(g||"application"===f&&("DTLS/SCTP"===_||"UDP/DTLS/SCTP"===_))u.transceivers[c]={mid:w,kind:f,protocol:_,rejected:!0};else{var S,E,R,T,C,P,O,M,k;!g&&u.transceivers[c]&&u.transceivers[c].rejected&&(u.transceivers[c]=u._createTransceiver(f,!0));var I,A,L=n.parseRtpParameters(a);g||(I=n.getIceParameters(a,h),(A=n.getDtlsParameters(a,h)).role="client"),O=n.parseRtpEncodingParameters(a);var N=n.parseRtcpParameters(a),x=n.matchPrefix(a,"a=end-of-candidates",h).length>0,j=n.matchPrefix(a,"a=candidate:").map((function(e){return n.parseCandidate(e)})).filter((function(e){return 1===e.component}));if(("offer"===i.type||"answer"===i.type)&&!g&&v&&c>0&&u.transceivers[c]&&(u._disposeIceAndDtlsTransports(c),u.transceivers[c].iceGatherer=u.transceivers[0].iceGatherer,u.transceivers[c].iceTransport=u.transceivers[0].iceTransport,u.transceivers[c].dtlsTransport=u.transceivers[0].dtlsTransport,u.transceivers[c].rtpSender&&u.transceivers[c].rtpSender.setTransport(u.transceivers[0].dtlsTransport),u.transceivers[c].rtpReceiver&&u.transceivers[c].rtpReceiver.setTransport(u.transceivers[0].dtlsTransport)),"offer"!==i.type||g){if("answer"===i.type&&!g){E=(S=u.transceivers[c]).iceGatherer,R=S.iceTransport,T=S.dtlsTransport,C=S.rtpReceiver,P=S.sendEncodingParameters,M=S.localCapabilities,u.transceivers[c].recvEncodingParameters=O,u.transceivers[c].remoteCapabilities=L,u.transceivers[c].rtcpParameters=N,j.length&&"new"===R.state&&(!m&&!x||v&&0!==c?j.forEach((function(e){s(S.iceTransport,e)})):R.setRemoteCandidates(j)),v&&0!==c||("new"===R.state&&R.start(E,I,"controlling"),"new"===T.state&&T.start(A)),!o(S.localCapabilities,S.remoteCapabilities).codecs.filter((function(e){return"rtx"===e.name.toLowerCase()})).length&&S.sendEncodingParameters[0].rtx&&delete S.sendEncodingParameters[0].rtx,u._transceive(S,"sendrecv"===y||"recvonly"===y,"sendrecv"===y||"sendonly"===y),!C||"sendrecv"!==y&&"sendonly"!==y?delete S.rtpReceiver:(k=C.track,b?(p[b.stream]||(p[b.stream]=new e.MediaStream),r(k,p[b.stream]),l.push([k,C,p[b.stream]])):(p.default||(p.default=new e.MediaStream),r(k,p.default),l.push([k,C,p.default])))}}else{(S=u.transceivers[c]||u._createTransceiver(f)).mid=w,S.iceGatherer||(S.iceGatherer=u._createIceGatherer(c,v)),j.length&&"new"===S.iceTransport.state&&(!x||v&&0!==c?j.forEach((function(e){s(S.iceTransport,e)})):S.iceTransport.setRemoteCandidates(j)),M=e.RTCRtpReceiver.getCapabilities(f),t<15019&&(M.codecs=M.codecs.filter((function(e){return"rtx"!==e.name}))),P=S.sendEncodingParameters||[{ssrc:1001*(2*c+2)}];var D,F=!1;if("sendrecv"===y||"sendonly"===y){if(F=!S.rtpReceiver,C=S.rtpReceiver||new e.RTCRtpReceiver(S.dtlsTransport,f),F)k=C.track,b&&"-"===b.stream||(b?(p[b.stream]||(p[b.stream]=new e.MediaStream,Object.defineProperty(p[b.stream],"id",{get:function(){return b.stream}})),Object.defineProperty(k,"id",{get:function(){return b.track}}),D=p[b.stream]):(p.default||(p.default=new e.MediaStream),D=p.default)),D&&(r(k,D),S.associatedRemoteMediaStreams.push(D)),l.push([k,C,D])}else S.rtpReceiver&&S.rtpReceiver.track&&(S.associatedRemoteMediaStreams.forEach((function(t){var r=t.getTracks().find((function(e){return e.id===S.rtpReceiver.track.id}));r&&function(t,r){r.removeTrack(t),r.dispatchEvent(new e.MediaStreamTrackEvent("removetrack",{track:t}))}(r,t)})),S.associatedRemoteMediaStreams=[]);S.localCapabilities=M,S.remoteCapabilities=L,S.rtpReceiver=C,S.rtcpParameters=N,S.sendEncodingParameters=P,S.recvEncodingParameters=O,u._transceive(u.transceivers[c],!1,F)}}})),void 0===u._dtlsRole&&(u._dtlsRole="offer"===i.type?"active":"passive"),u._remoteDescription={type:i.type,sdp:i.sdp},"offer"===i.type?u._updateSignalingState("have-remote-offer"):u._updateSignalingState("stable"),Object.keys(p).forEach((function(t){var r=p[t];if(r.getTracks().length){if(-1===u.remoteStreams.indexOf(r)){u.remoteStreams.push(r);var n=new Event("addstream");n.stream=r,e.setTimeout((function(){u._dispatchEvent("addstream",n)}))}l.forEach((function(e){var t=e[0],n=e[1];r.id===e[2].id&&d(u,t,n,[r])}))}})),l.forEach((function(e){e[2]||d(u,e[0],e[1],[])})),e.setTimeout((function(){u&&u.transceivers&&u.transceivers.forEach((function(e){e.iceTransport&&"new"===e.iceTransport.state&&e.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),e.iceTransport.addRemoteCandidate({}))}))}),4e3),Promise.resolve()},u.prototype.close=function(){this.transceivers.forEach((function(e){e.iceTransport&&e.iceTransport.stop(),e.dtlsTransport&&e.dtlsTransport.stop(),e.rtpSender&&e.rtpSender.stop(),e.rtpReceiver&&e.rtpReceiver.stop()})),this._isClosed=!0,this._updateSignalingState("closed")},u.prototype._updateSignalingState=function(e){this.signalingState=e;var t=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",t)},u.prototype._maybeFireNegotiationNeeded=function(){var t=this;"stable"===this.signalingState&&!0!==this.needNegotiation&&(this.needNegotiation=!0,e.setTimeout((function(){if(t.needNegotiation){t.needNegotiation=!1;var e=new Event("negotiationneeded");t._dispatchEvent("negotiationneeded",e)}}),0))},u.prototype._updateIceConnectionState=function(){var e,t={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(e){e.iceTransport&&!e.rejected&&t[e.iceTransport.state]++})),e="new",t.failed>0?e="failed":t.checking>0?e="checking":t.disconnected>0?e="disconnected":t.new>0?e="new":t.connected>0?e="connected":t.completed>0&&(e="completed"),e!==this.iceConnectionState){this.iceConnectionState=e;var r=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",r)}},u.prototype._updateConnectionState=function(){var e,t={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach((function(e){e.iceTransport&&e.dtlsTransport&&!e.rejected&&(t[e.iceTransport.state]++,t[e.dtlsTransport.state]++)})),t.connected+=t.completed,e="new",t.failed>0?e="failed":t.connecting>0?e="connecting":t.disconnected>0?e="disconnected":t.new>0?e="new":t.connected>0&&(e="connected"),e!==this.connectionState){this.connectionState=e;var r=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",r)}},u.prototype.createOffer=function(){var r=this;if(r._isClosed)return Promise.reject(c("InvalidStateError","Can not call createOffer after close"));var o=r.transceivers.filter((function(e){return"audio"===e.kind})).length,a=r.transceivers.filter((function(e){return"video"===e.kind})).length,s=arguments[0];if(s){if(s.mandatory||s.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==s.offerToReceiveAudio&&(o=!0===s.offerToReceiveAudio?1:!1===s.offerToReceiveAudio?0:s.offerToReceiveAudio),void 0!==s.offerToReceiveVideo&&(a=!0===s.offerToReceiveVideo?1:!1===s.offerToReceiveVideo?0:s.offerToReceiveVideo)}for(r.transceivers.forEach((function(e){"audio"===e.kind?--o<0&&(e.wantReceive=!1):"video"===e.kind&&--a<0&&(e.wantReceive=!1)}));o>0||a>0;)o>0&&(r._createTransceiver("audio"),o--),a>0&&(r._createTransceiver("video"),a--);var d=n.writeSessionBoilerplate(r._sdpSessionId,r._sdpSessionVersion++);r.transceivers.forEach((function(i,o){var a=i.track,s=i.kind,c=i.mid||n.generateIdentifier();i.mid=c,i.iceGatherer||(i.iceGatherer=r._createIceGatherer(o,r.usingBundle));var d=e.RTCRtpSender.getCapabilities(s);t<15019&&(d.codecs=d.codecs.filter((function(e){return"rtx"!==e.name}))),d.codecs.forEach((function(e){"H264"===e.name&&void 0===e.parameters["level-asymmetry-allowed"]&&(e.parameters["level-asymmetry-allowed"]="1"),i.remoteCapabilities&&i.remoteCapabilities.codecs&&i.remoteCapabilities.codecs.forEach((function(t){e.name.toLowerCase()===t.name.toLowerCase()&&e.clockRate===t.clockRate&&(e.preferredPayloadType=t.payloadType)}))})),d.headerExtensions.forEach((function(e){(i.remoteCapabilities&&i.remoteCapabilities.headerExtensions||[]).forEach((function(t){e.uri===t.uri&&(e.id=t.id)}))}));var u=i.sendEncodingParameters||[{ssrc:1001*(2*o+1)}];a&&t>=15019&&"video"===s&&!u[0].rtx&&(u[0].rtx={ssrc:u[0].ssrc+1}),i.wantReceive&&(i.rtpReceiver=new e.RTCRtpReceiver(i.dtlsTransport,s)),i.localCapabilities=d,i.sendEncodingParameters=u})),"max-compat"!==r._config.bundlePolicy&&(d+="a=group:BUNDLE "+r.transceivers.map((function(e){return e.mid})).join(" ")+"\r\n"),d+="a=ice-options:trickle\r\n",r.transceivers.forEach((function(e,t){d+=i(e,e.localCapabilities,"offer",e.stream,r._dtlsRole),d+="a=rtcp-rsize\r\n",!e.iceGatherer||"new"===r.iceGatheringState||0!==t&&r.usingBundle||(e.iceGatherer.getLocalCandidates().forEach((function(e){e.component=1,d+="a="+n.writeCandidate(e)+"\r\n"})),"completed"===e.iceGatherer.state&&(d+="a=end-of-candidates\r\n"))}));var u=new e.RTCSessionDescription({type:"offer",sdp:d});return Promise.resolve(u)},u.prototype.createAnswer=function(){var r=this;if(r._isClosed)return Promise.reject(c("InvalidStateError","Can not call createAnswer after close"));if("have-remote-offer"!==r.signalingState&&"have-local-pranswer"!==r.signalingState)return Promise.reject(c("InvalidStateError","Can not call createAnswer in signalingState "+r.signalingState));var a=n.writeSessionBoilerplate(r._sdpSessionId,r._sdpSessionVersion++);r.usingBundle&&(a+="a=group:BUNDLE "+r.transceivers.map((function(e){return e.mid})).join(" ")+"\r\n"),a+="a=ice-options:trickle\r\n";var s=n.getMediaSections(r._remoteDescription.sdp).length;r.transceivers.forEach((function(e,n){if(!(n+1>s)){if(e.rejected)return"application"===e.kind?"DTLS/SCTP"===e.protocol?a+="m=application 0 DTLS/SCTP 5000\r\n":a+="m=application 0 "+e.protocol+" webrtc-datachannel\r\n":"audio"===e.kind?a+="m=audio 0 UDP/TLS/RTP/SAVPF 0\r\na=rtpmap:0 PCMU/8000\r\n":"video"===e.kind&&(a+="m=video 0 UDP/TLS/RTP/SAVPF 120\r\na=rtpmap:120 VP8/90000\r\n"),void(a+="c=IN IP4 0.0.0.0\r\na=inactive\r\na=mid:"+e.mid+"\r\n");var c;if(e.stream)"audio"===e.kind?c=e.stream.getAudioTracks()[0]:"video"===e.kind&&(c=e.stream.getVideoTracks()[0]),c&&t>=15019&&"video"===e.kind&&!e.sendEncodingParameters[0].rtx&&(e.sendEncodingParameters[0].rtx={ssrc:e.sendEncodingParameters[0].ssrc+1});var d=o(e.localCapabilities,e.remoteCapabilities);!d.codecs.filter((function(e){return"rtx"===e.name.toLowerCase()})).length&&e.sendEncodingParameters[0].rtx&&delete e.sendEncodingParameters[0].rtx,a+=i(e,d,"answer",e.stream,r._dtlsRole),e.rtcpParameters&&e.rtcpParameters.reducedSize&&(a+="a=rtcp-rsize\r\n")}}));var d=new e.RTCSessionDescription({type:"answer",sdp:a});return Promise.resolve(d)},u.prototype.addIceCandidate=function(e){var t,r=this;return e&&void 0===e.sdpMLineIndex&&!e.sdpMid?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise((function(i,o){if(!r._remoteDescription)return o(c("InvalidStateError","Can not add ICE candidate without a remote description"));if(e&&""!==e.candidate){var a=e.sdpMLineIndex;if(e.sdpMid)for(var d=0;d<r.transceivers.length;d++)if(r.transceivers[d].mid===e.sdpMid){a=d;break}var u=r.transceivers[a];if(!u)return o(c("OperationError","Can not add ICE candidate"));if(u.rejected)return i();var p=Object.keys(e.candidate).length>0?n.parseCandidate(e.candidate):{};if("tcp"===p.protocol&&(0===p.port||9===p.port))return i();if(p.component&&1!==p.component)return i();if((0===a||a>0&&u.iceTransport!==r.transceivers[0].iceTransport)&&!s(u.iceTransport,p))return o(c("OperationError","Can not add ICE candidate"));var l=e.candidate.trim();0===l.indexOf("a=")&&(l=l.substr(2)),(t=n.getMediaSections(r._remoteDescription.sdp))[a]+="a="+(p.type?l:"end-of-candidates")+"\r\n",r._remoteDescription.sdp=n.getDescription(r._remoteDescription.sdp)+t.join("")}else for(var f=0;f<r.transceivers.length&&(r.transceivers[f].rejected||(r.transceivers[f].iceTransport.addRemoteCandidate({}),(t=n.getMediaSections(r._remoteDescription.sdp))[f]+="a=end-of-candidates\r\n",r._remoteDescription.sdp=n.getDescription(r._remoteDescription.sdp)+t.join(""),!r.usingBundle));f++);i()}))},u.prototype.getStats=function(t){if(t&&t instanceof e.MediaStreamTrack){var r=null;if(this.transceivers.forEach((function(e){e.rtpSender&&e.rtpSender.track===t?r=e.rtpSender:e.rtpReceiver&&e.rtpReceiver.track===t&&(r=e.rtpReceiver)})),!r)throw c("InvalidAccessError","Invalid selector.");return r.getStats()}var n=[];return this.transceivers.forEach((function(e){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach((function(t){e[t]&&n.push(e[t].getStats())}))})),Promise.all(n).then((function(e){var t=new Map;return e.forEach((function(e){e.forEach((function(e){t.set(e.id,e)}))})),t}))};["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"].forEach((function(t){var r=e[t];if(r&&r.prototype&&r.prototype.getStats){var n=r.prototype.getStats;r.prototype.getStats=function(){return n.apply(this).then((function(e){var t=new Map;return Object.keys(e).forEach((function(r){var n;e[r].type={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[(n=e[r]).type]||n.type,t.set(r,e[r])})),t}))}}}));var p=["createOffer","createAnswer"];return p.forEach((function(e){var t=u.prototype[e];u.prototype[e]=function(){var e=arguments;return"function"==typeof e[0]||"function"==typeof e[1]?t.apply(this,[arguments[2]]).then((function(t){"function"==typeof e[0]&&e[0].apply(null,[t])}),(function(t){"function"==typeof e[1]&&e[1].apply(null,[t])})):t.apply(this,arguments)}})),(p=["setLocalDescription","setRemoteDescription","addIceCandidate"]).forEach((function(e){var t=u.prototype[e];u.prototype[e]=function(){var e=arguments;return"function"==typeof e[1]||"function"==typeof e[2]?t.apply(this,arguments).then((function(){"function"==typeof e[1]&&e[1].apply(null)}),(function(t){"function"==typeof e[2]&&e[2].apply(null,[t])})):t.apply(this,arguments)}})),["getStats"].forEach((function(e){var t=u.prototype[e];u.prototype[e]=function(){var e=arguments;return"function"==typeof e[1]?t.apply(this,arguments).then((function(){"function"==typeof e[1]&&e[1].apply(null)})):t.apply(this,arguments)}})),u}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoteStream=t.LocalStream=t.Client=t.generateToken=t.disableUploadLog=t.enableUploadLog=t.setLogLevel=t.createStream=t.createClient=void 0;var n=r(0),i=r(25);Object.defineProperty(t,"Client",{enumerable:!0,get:function(){return i.Client}});var o=r(19),a=r(12);Object.defineProperty(t,"LocalStream",{enumerable:!0,get:function(){return a.LocalStream}});var s=r(18);Object.defineProperty(t,"RemoteStream",{enumerable:!0,get:function(){return s.RemoteStream}});var c=r(28);Object.defineProperty(t,"generateToken",{enumerable:!0,get:function(){return c.generateToken}});var d=r(1),u=r(10),p=r(6),l=r(2);t.createClient=function(e,t){if(!p.isValidString(e))throw l.createError(l.RtcError.INVALID_PARAMETER,"The appId - "+e+" is invalid");return new i.Client(e,t)},t.createStream=function(e){var t=l.createError(l.RtcError.INVALID_PARAMETER,"The argument: ("+JSON.stringify(e)+") is invalid");if(p.isNil(e))throw t;var r=Object.keys(e);if(!(r.includes("audio")&&r.includes("video")&&r.includes("screen")))throw t;var n=e.audio,i=e.microphoneId,a=e.video,s=e.cameraId,c=e.screen,d=e.screenAudio,u=e.facingMode,f=e.file,h=e.id,m=e.userId,v=e.audioSource,g=e.videoSource;if(!p.isValidBoolean(n)||!p.isValidBoolean(a)||!p.isValidBoolean(c))throw t;if(!p.isNil(i)&&!p.isValidString(i))throw t;if(!p.isNil(s)&&!p.isValidString(s))throw t;if(!p.isNil(d)&&!p.isValidBoolean(d))throw t;if(!p.isNil(u)&&!["user","environment"].includes(u))throw t;if(!p.isNil(f)&&!p.isValidFile(f))throw t;if(!p.isNil(h)&&!p.isValidString(h))throw t;if(!p.isNil(m)&&!p.isValidString(m))throw t;if(!(p.isNil(v)||v instanceof MediaStreamTrack))throw t;if(!(p.isNil(g)||g instanceof MediaStreamTrack))throw t;return o.StreamManager.createLocalStream(e)},t.setLogLevel=function(e){if(!["debug","info","warn","error"].includes(e))throw l.createError(l.RtcError.INVALID_PARAMETER,"The argument: ("+e+") is invalid");d.default.setLogLevel(e)},t.enableUploadLog=function(){u.getLogReporterInstance().enable()},t.disableUploadLog=function(){u.getLogReporterInstance().disable()},n.__exportStar(r(24),t),n.__exportStar(r(25),t),n.__exportStar(r(96),t),n.__exportStar(r(26),t),n.__exportStar(r(2),t),n.__exportStar(r(49),t),n.__exportStar(r(20),t),n.__exportStar(r(12),t),n.__exportStar(r(18),t),n.__exportStar(r(15),t),n.__exportStar(r(17),t),n.__exportStar(r(21),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isValidContainer=t.Player=void 0;var n,i,o,a=r(0),s=r(4),c=r(1),d=r(2),u=r(5);!function(e){e[e.initing=0]="initing",e[e.paused=1]="paused",e[e.playing=2]="playing"}(n||(n={})),function(e){e[e.played=1]="played",e[e.playing=2]="playing",e[e.paused=3]="paused"}(i||(i={})),function(e){e[e.played=1]="played",e[e.playing=2]="playing",e[e.paused=3]="paused"}(o||(o={}));var p=function(e){function t(r,a){var s=e.call(this)||this;s.stream=a,s.controls="auto",s.mute=!1,s._status=n.initing,s.isPlayVideoLocked=!1,s.audioPlayStatus=i.paused,s.videoPlayStatus=o.paused;var c=r.id,d=r.container,u=r.audioTrack,p=r.videoTrack;s.container=d;var l=r.mute,f=void 0!==l&&l,h=r.mirror,m=void 0!==h&&h,v=r.controls,g=r.fit,_=void 0===g?"cover":g;return v&&(s.controls=v),s.mute=f,s._audioTrack=u,s._videoTrack=p,s.wrapper=t.createWrapper(!!p),"screen"===a.getMediaType()&&(_="contain"),s.video=t.createVideoElement(c,m,_),s.wrapper.appendChild(s.video),s.audio=t.createAudioElement(c,f,a.isLocal),s.wrapper.appendChild(s.audio),s.container.appendChild(s.wrapper),s.bindEvent(),s}return a.__extends(t,e),Object.defineProperty(t.prototype,"status",{get:function(){return this._status},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"audioTrack",{get:function(){return this._audioTrack},set:function(e){var t=this;this._audioTrack=e,this.playAudio().catch((function(e){c.default.warn("play audio failed when update audio track "+e),c.default.report(t.stream.id4Log+" play audio failed when update audio track "+e)}))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"videoTrack",{get:function(){return this._videoTrack},set:function(e){var t=this;this._videoTrack=e,this.playVideo().catch((function(e){c.default.warn("play video failed when update video track "+e),c.default.report(t.stream.id4Log+" play video failed when update video track "+e)}))},enumerable:!1,configurable:!0}),t.prototype.bindEvent=function(){var e=this;this.audio.addEventListener("play",(function(){c.default.debug("audio played"),e.updateControls(e.audio,!0)})),this.audio.addEventListener("playing",(function(){c.default.debug("audio playing"),e.videoTrack||e.emit("playing"),e.audioPlayStatus!==i.playing&&e.emit("audio-playing"),e.videoTrack&&!e.isPlayVideoLocked&&e.playVideo().catch((function(t){c.default.debug("audio trigger autoplay video "+t),c.default.report(e.stream.id4Log+" audio trigger autoplay video "+t)})),e.audioPlayStatus=i.playing})),this.audio.addEventListener("pause",(function(){c.default.debug("audio paused"),e.videoTrack||e.emit("paused"),e.audioPlayStatus!==i.paused&&e.emit("audio-paused"),e.audioPlayStatus=i.paused,e.updateControls(e.audio,!1)})),this.audio.addEventListener("stalled",(function(){c.default.info("audio stalled"),c.default.report(e.stream.id4Log+" audio stalled - Failed to fetch data, but trying.")})),this.video.addEventListener("play",(function(){c.default.debug("video played")})),this.video.addEventListener("playing",(function(){c.default.debug("video playing"),e.emit("playing"),e.videoPlayStatus!==o.playing&&e.emit("video-playing"),e.videoPlayStatus=o.playing,e.video.controls=!1})),this.video.addEventListener("pause",(function(){c.default.debug("video paused"),e.emit("paused"),e.videoPlayStatus!==o.paused&&e.emit("video-paused"),e.videoPlayStatus=o.paused})),this.video.addEventListener("stalled",(function(){c.default.debug("video stalled"),c.default.report(e.stream.id4Log+" video stalled - Failed to fetch data, but trying.")})),this.video.addEventListener("canplay",(function(){c.default.debug("video canplay")})),this.video.addEventListener("suspend",(function(){c.default.debug("video suspend")})),this.video.addEventListener("timer",(function(){c.default.debug("video timer")})),this.video.addEventListener("waiting",(function(){c.default.debug("video waiting")})),this.video.addEventListener("seeking",(function(){c.default.debug("video seeking")})),this.video.onloadeddata=function(t){e.emit("first-key-frame",t),e.video.onloadeddata=null}},t.prototype.updateControls=function(e,t){switch(this.controls){case"hide":e.style.display="none",e.controls=!1;break;case"show":e.style.display="inline-block",e.controls=!0;break;case"auto":default:t?(e.style.display="none",e.controls=!1):(e.style.display="inline-block",e.controls=!0)}},t.prototype.playAudio=function(){var e=this;if(!this.audioTrack)return Promise.resolve();var t=new MediaStream([this.audioTrack]);return this.audio.srcObject=t,this.mute?Promise.resolve():new Promise((function(t,r){return a.__awaiter(e,void 0,void 0,(function(){var e,n,i,o,s=this;return a.__generator(this,(function(a){switch(a.label){case 0:e=window.setTimeout((function(){r(d.createError(d.RtcError.PLAY_PENDING,"the play() request of audio was pending")),s.audio.pause()}),5e3),n=function(){window.clearTimeout(e),t()},i=function(t){window.clearTimeout(e),s.updateControls(s.audio,!1),r(t)},a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.audio.play()];case 2:return a.sent(),n(),[3,4];case 3:return(o=a.sent())&&o.toString().toLowerCase().includes("the play() request was interrupted by a")?n():o&&o.toString().toLowerCase().includes("the operation was aborted")?n():i(o),[3,4];case 4:return[2]}}))}))}))},t.prototype.playVideo=function(){var e=this;if(!this.videoTrack)return Promise.resolve();var t=new MediaStream([this.videoTrack]);return this.video.srcObject=t,new Promise((function(t,r){return a.__awaiter(e,void 0,void 0,(function(){var e,n,i,o,s=this;return a.__generator(this,(function(a){switch(a.label){case 0:e=this.stream.videoMuted||this.stream.sourceVideoMuted?window.setTimeout((function(){t()}),1e3):window.setTimeout((function(){r(d.createError(d.RtcError.PLAY_PENDING,"the play() request of video was pending")),s.video.pause()}),5e3),n=function(){window.clearTimeout(e),t()},i=function(t){window.clearTimeout(e),r(t)},a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.video.play()];case 2:return a.sent(),n(),[3,4];case 3:return(o=a.sent())&&o.toString().toLowerCase().includes("the play() request was interrupted by a")?n():o&&o.toString().toLowerCase().includes("the operation was aborted")?n():i(o),[3,4];case 4:return[2]}}))}))}))},t.prototype.play=function(){return a.__awaiter(this,void 0,void 0,(function(){var e,t;return a.__generator(this,(function(r){switch(r.label){case 0:this.isPlayVideoLocked=!0,r.label=1;case 1:return r.trys.push([1,3,,4]),c.default.debug("player - before play audio "+this.stream.id),[4,this.playAudio()];case 2:return r.sent(),c.default.debug("player - play audio "+this.stream.id),[3,4];case 3:throw e=r.sent(),c.default.warn("player - play audio error "+e),c.default.report("player - play "+this.stream.id4Log+" audio error "+e),this.isPlayVideoLocked=!1,e;case 4:return r.trys.push([4,6,,7]),c.default.debug("player - before play video "+this.stream.id),[4,this.playVideo()];case 5:return r.sent(),c.default.debug("player - play video "+this.stream.id),[3,7];case 6:throw t=r.sent(),u.isIOS()&&u.isWeChat()&&!this.audioTrack&&"NotAllowedError"===t.name&&"hide"!==this.controls&&(this.video.controlsList="nodownload nofullscreen noremoteplayback",this.video.controls=!0),c.default.warn("player - play video error "+t),c.default.report("player - play "+this.stream.id4Log+" video error "+t),this.isPlayVideoLocked=!1,t;case 7:return this.isPlayVideoLocked=!1,[2]}}))}))},t.prototype.resume=function(){return this.play()},t.prototype.pause=function(){this.audio.pause(),this.video.pause()},t.prototype.destroy=function(){this.pause(),this.audio.srcObject=null,this.audio.remove&&this.audio.remove(),this.video.srcObject=null,this.video.remove&&this.video.remove(),this.container.removeChild(this.wrapper)},t.createWrapper=function(e){var t=document.createElement("div");return t.setAttribute("style","width: 100%; height: 100%; position: relative; text-align: left; overflow: hidden;"),e&&(t.style.backgroundColor="black"),t},t.createAudioElement=function(e,t,r){var n=new Audio;return n.setAttribute("id","audio-"+e),n.setAttribute("playsinline","true"),n.setAttribute("webkit-playsinline","true"),t&&(n.setAttribute("muted","muted"),n.muted=!0,n.volume=0),n.setAttribute("style","position: absolute; bottom: 0; width: 100%; opacity: 0.5;"),u.isChrome()&&(n.style.maxHeight="20%",u.isMobile()||(n.style.backgroundColor="#eee")),r&&(n.style.visibility="hidden",n.style.zIndex="-1"),n},t.createVideoElement=function(e,t,r){var n=document.createElement("video");return n.setAttribute("id","video-"+e),n.setAttribute("style","width: 100%; height: 100%; position: absolute;"),n.setAttribute("playsinline","true"),n.setAttribute("webkit-playsinline","true"),n.setAttribute("muted","muted"),n.muted=!0,n.volume=0,n.style.transform="rotateY("+(t?180:0)+"deg)",n.style.objectFit=r,n},t.prototype.updateVideoMirror=function(e){this.video.style.transform="rotateY("+(e?180:0)+"deb)"},t.prototype.updateVideoFitType=function(e){this.video.style.objectFit=e},t.prototype.setAudioVolume=function(e){e/=100,this.audio.volume=e},t}(s.InnerEventEmitter);t.Player=p,t.isValidContainer=function(e){return"string"==typeof e?!!document.getElementById(e)||(c.default.warn("cannot find container element by ID "+e),!1):e instanceof HTMLElement}},function(e,t,r){e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=90)}({17:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||""},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||""},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";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,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),o=e.getVersionPrecision(r),a=Math.max(i,o),s=0,c=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(".0");return e.map(n.split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));for(n&&(s=a-Math.min(i,o)),a-=1;a>=s;){if(c[0][a]>c[1][a])return 1;if(c[0][a]===c[1][a]){if(a===s)return 0;a-=1}else if(c[0][a]<c[1][a])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var i=e[r];if(t(i,r))return i}},e.assign=function(e){for(var t,r,n=e,i=arguments.length,o=new Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];if(Object.assign)return Object.assign.apply(Object,[e].concat(o));var s=function(){var e=o[t];"object"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=o.length;t<r;t+=1)s();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||""},e}();t.default=i,e.exports=t.default},18:function(e,t,r){"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,r){"use strict";t.__esModule=!0,t.default=void 0;var n,i=(n=r(91))&&n.__esModule?n:{default:n},o=r(18);function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var s=function(){function e(){}var t,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 o.BROWSER_MAP}},{key:"ENGINE_MAP",get:function(){return o.ENGINE_MAP}},{key:"OS_MAP",get:function(){return o.OS_MAP}},{key:"PLATFORMS_MAP",get:function(){return o.PLATFORMS_MAP}}])&&a(t,r),e}();t.default=s,e.exports=t.default},91:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n=c(r(92)),i=c(r(93)),o=c(r(94)),a=c(r(95)),s=c(r(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=s.default.find(n.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=s.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=s.default.find(o.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=s.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.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 s.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,i={},o=0;if(Object.keys(e).forEach((function(t){var a=e[t];"string"==typeof a?(i[t]=a,o+=1):"object"==typeof a&&(r[t]=a,n+=1)})),n>0){var a=Object.keys(r),c=s.default.find(a,(function(e){return t.isOS(e)}));if(c){var d=this.satisfies(r[c]);if(void 0!==d)return d}var u=s.default.find(a,(function(e){return t.isPlatform(e)}));if(u){var p=this.satisfies(r[u]);if(void 0!==p)return p}}if(o>0){var l=Object.keys(i),f=s.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==f)return this.compareVersion(i[f])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=s.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if("string"==typeof i)return">"===e[0]||"<"===e[0]?(r=e.substr(1),"="===e[1]?(n=!0,r=e.substr(2)):t=[],">"===e[0]?t.push(1):t.push(-1)):"="===e[0]?r=e.substr(1):"~"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(s.default.compareVersions(i,r,n))>-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,r){"use strict";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},o=/version\/(\d+(\.?_?\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:"Googlebot"},r=i.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:"Opera"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\/|opios/i],describe:function(e){var t={name:"Opera"},r=i.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:"Samsung Internet for Android"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:"NAVER Whale Browser"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:"MZ Browser"},r=i.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:"Focus"},r=i.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:"Swing"},r=i.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:"Opera Coast"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(e){var t={name:"Opera Touch"},r=i.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:"Yandex Browser"},r=i.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:"UC Browser"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:"Maxthon"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:"Epiphany"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:"Puffin"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:"Sleipnir"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:"K-Meleon"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:"WeChat"},r=i.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:"Internet Explorer"},r=i.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\sedg\//i],describe:function(e){var t={name:"Microsoft Edge"},r=i.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:"Microsoft Edge"},r=i.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:"Vivaldi"},r=i.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:"SeaMonkey"},r=i.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:"Sailfish"},r=i.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:"Amazon Silk"},r=i.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:"PhantomJS"},r=i.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:"SlimerJS"},r=i.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(e){var t={name:"BlackBerry"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:"WebOS Browser"},r=i.default.getFirstMatch(o,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:"Bada"},r=i.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:"Tizen"},r=i.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:"QupZilla"},r=i.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:"Firefox"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:"Electron"},r=i.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:"Miui"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:"Chromium"},r=i.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:"Chrome"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:"Google Search"},r=i.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:"Android Browser"},r=i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:"PlayStation 4"},r=i.default.getFirstMatch(o,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:"Safari"},r=i.default.getFirstMatch(o,e);return r&&(t.version=r),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=a,e.exports=t.default},93:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},o=r(18),a=[{test:[/Roku\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:o.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:o.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:o.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(e){var t={name:o.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),r=i.default.getMacOSVersionName(t),n={name:o.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{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:o.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:o.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),r={name:o.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{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:o.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:o.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:o.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:o.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},o=r(18),a=[{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",r={type:o.PLATFORMS_MAP.mobile,vendor:"Huawei"};return t&&(r.model=t),r}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:o.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:o.PLATFORMS_MAP.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"blackberry"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(e){return"bada"===e.getBrowserName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"windows phone"===e.getBrowserName()},describe:function(){return{type:o.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:o.PLATFORMS_MAP.tablet}}},{test:function(e){return"android"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.mobile}}},{test:function(e){return"macos"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(e){return"windows"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"linux"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.desktop}}},{test:function(e){return"playstation 4"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}},{test:function(e){return"roku"===e.getOSName(!0)},describe:function(){return{type:o.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},o=r(18),a=[{test:function(e){return"microsoft edge"===e.getBrowserName(!0)},describe:function(e){if(/\sedg\//i.test(e))return{name:o.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:o.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:o.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:o.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:o.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:o.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:o.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})},function(module,exports,__webpack_require__){(function(global){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;!function(e,t){module.exports=t(e)}("undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==global?global:this,(function(global){"use strict";global=global||{};var _Base64=global.Base64,version="2.5.1",buffer;if(module.exports)try{buffer=eval("require('buffer').Buffer")}catch(e){buffer=void 0}var b64chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b64tab=function(e){for(var t={},r=0,n=e.length;r<n;r++)t[e.charAt(r)]=r;return t}(b64chars),fromCharCode=String.fromCharCode,cb_utob=function(e){if(e.length<2)return(t=e.charCodeAt(0))<128?e:t<2048?fromCharCode(192|t>>>6)+fromCharCode(128|63&t):fromCharCode(224|t>>>12&15)+fromCharCode(128|t>>>6&63)+fromCharCode(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return fromCharCode(240|t>>>18&7)+fromCharCode(128|t>>>12&63)+fromCharCode(128|t>>>6&63)+fromCharCode(128|63&t)},re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,utob=function(e){return e.replace(re_utob,cb_utob)},cb_encode=function(e){var t=[0,2,1][e.length%3],r=e.charCodeAt(0)<<16|(e.length>1?e.charCodeAt(1):0)<<8|(e.length>2?e.charCodeAt(2):0);return[b64chars.charAt(r>>>18),b64chars.charAt(r>>>12&63),t>=2?"=":b64chars.charAt(r>>>6&63),t>=1?"=":b64chars.charAt(63&r)].join("")},btoa=global.btoa?function(e){return global.btoa(e)}:function(e){return e.replace(/[\s\S]{1,3}/g,cb_encode)},_encode=buffer?buffer.from&&Uint8Array&&buffer.from!==Uint8Array.from?function(e){return(e.constructor===buffer.constructor?e:buffer.from(e)).toString("base64")}:function(e){return(e.constructor===buffer.constructor?e:new buffer(e)).toString("base64")}:function(e){return btoa(utob(e))},encode=function(e,t){return t?_encode(String(e)).replace(/[+\/]/g,(function(e){return"+"==e?"-":"_"})).replace(/=/g,""):_encode(String(e))},encodeURI=function(e){return encode(e,!0)},re_btou=new RegExp(["[À-ß][€-¿]","[à-ï][€-¿]{2}","[ð-÷][€-¿]{3}"].join("|"),"g"),cb_btou=function(e){switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return fromCharCode(55296+(t>>>10))+fromCharCode(56320+(1023&t));case 3:return fromCharCode((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return fromCharCode((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},btou=function(e){return e.replace(re_btou,cb_btou)},cb_decode=function(e){var t=e.length,r=t%4,n=(t>0?b64tab[e.charAt(0)]<<18:0)|(t>1?b64tab[e.charAt(1)]<<12:0)|(t>2?b64tab[e.charAt(2)]<<6:0)|(t>3?b64tab[e.charAt(3)]:0),i=[fromCharCode(n>>>16),fromCharCode(n>>>8&255),fromCharCode(255&n)];return i.length-=[0,0,2,1][r],i.join("")},_atob=global.atob?function(e){return global.atob(e)}:function(e){return e.replace(/\S{1,4}/g,cb_decode)},atob=function(e){return _atob(String(e).replace(/[^A-Za-z0-9\+\/]/g,""))},_decode=buffer?buffer.from&&Uint8Array&&buffer.from!==Uint8Array.from?function(e){return(e.constructor===buffer.constructor?e:buffer.from(e,"base64")).toString()}:function(e){return(e.constructor===buffer.constructor?e:new buffer(e,"base64")).toString()}:function(e){return btou(_atob(e))},decode=function(e){return _decode(String(e).replace(/[-_]/g,(function(e){return"-"==e?"+":"/"})).replace(/[^A-Za-z0-9\+\/]/g,""))},noConflict=function(){var e=global.Base64;return global.Base64=_Base64,e};if(global.Base64={VERSION:version,atob:atob,btoa:btoa,fromBase64:decode,toBase64:encode,utob:utob,encode:encode,encodeURI:encodeURI,btou:btou,decode:decode,noConflict:noConflict,__buffer__:buffer},"function"==typeof Object.defineProperty){var noEnum=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}};global.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",noEnum((function(){return decode(this)}))),Object.defineProperty(String.prototype,"toBase64",noEnum((function(e){return encode(this,e)}))),Object.defineProperty(String.prototype,"toBase64URI",noEnum((function(){return encode(this,!0)})))}}return global.Meteor&&(Base64=global.Base64),module.exports?module.exports.Base64=global.Base64:(__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_RESULT__=function(){return global.Base64}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)),{Base64:global.Base64}}))}).call(this,__webpack_require__(29))},function(e,t,r){"use strict";var n;!function(i){function o(e,t,r){var n,i,o,a,f,h,m,v,g,_=0,y=[],b=0,w=!1,S=[],E=[],R=!1,T=!1,C=-1;if(n=(r=r||{}).encoding||"UTF8",(g=r.numRounds||1)!==parseInt(g,10)||1>g)throw Error("numRounds must a integer >= 1");if("SHA-1"===e)f=512,h=F,m=U,a=160,v=function(e){return e.slice()};else if(0===e.lastIndexOf("SHA-",0))if(h=function(t,r){return V(t,r,e)},m=function(t,r,n,i){var o,a;if("SHA-224"===e||"SHA-256"===e)o=15+(r+65>>>9<<4),a=16;else{if("SHA-384"!==e&&"SHA-512"!==e)throw Error("Unexpected error in SHA-2 implementation");o=31+(r+129>>>10<<5),a=32}for(;t.length<=o;)t.push(0);for(t[r>>>5]|=128<<24-r%32,r+=n,t[o]=4294967295&r,t[o-1]=r/4294967296|0,n=t.length,r=0;r<n;r+=a)i=V(t.slice(r,r+a),i,e);if("SHA-224"===e)t=[i[0],i[1],i[2],i[3],i[4],i[5],i[6]];else if("SHA-256"===e)t=i;else if("SHA-384"===e)t=[i[0].a,i[0].b,i[1].a,i[1].b,i[2].a,i[2].b,i[3].a,i[3].b,i[4].a,i[4].b,i[5].a,i[5].b];else{if("SHA-512"!==e)throw Error("Unexpected error in SHA-2 implementation");t=[i[0].a,i[0].b,i[1].a,i[1].b,i[2].a,i[2].b,i[3].a,i[3].b,i[4].a,i[4].b,i[5].a,i[5].b,i[6].a,i[6].b,i[7].a,i[7].b]}return t},v=function(e){return e.slice()},"SHA-224"===e)f=512,a=224;else if("SHA-256"===e)f=512,a=256;else if("SHA-384"===e)f=1024,a=384;else{if("SHA-512"!==e)throw Error("Chosen SHA variant is not supported");f=1024,a=512}else{if(0!==e.lastIndexOf("SHA3-",0)&&0!==e.lastIndexOf("SHAKE",0))throw Error("Chosen SHA variant is not supported");var P=6;if(h=B,v=function(e){var t,r=[];for(t=0;5>t;t+=1)r[t]=e[t].slice();return r},C=1,"SHA3-224"===e)f=1152,a=224;else if("SHA3-256"===e)f=1088,a=256;else if("SHA3-384"===e)f=832,a=384;else if("SHA3-512"===e)f=576,a=512;else if("SHAKE128"===e)f=1344,a=-1,P=31,T=!0;else{if("SHAKE256"!==e)throw Error("Chosen SHA variant is not supported");f=1088,a=-1,P=31,T=!0}m=function(e,t,r,n,i){var o,a=P,s=[],c=(r=f)>>>5,d=0,u=t>>>5;for(o=0;o<u&&t>=r;o+=c)n=B(e.slice(o,o+c),n),t-=r;for(e=e.slice(o),t%=r;e.length<c;)e.push(0);for(e[(o=t>>>3)>>2]^=a<<o%4*8,e[c-1]^=2147483648,n=B(e,n);32*s.length<i&&(e=n[d%5][d/5|0],s.push(e.b),!(32*s.length>=i));)s.push(e.a),0==64*(d+=1)%r&&B(null,n);return s}}o=l(t,n,C),i=D(e),this.setHMACKey=function(t,r,o){var s;if(!0===w)throw Error("HMAC key already set");if(!0===R)throw Error("Cannot set HMAC key after calling update");if(!0===T)throw Error("SHAKE is not supported for HMAC");if(t=(r=l(r,n=(o||{}).encoding||"UTF8",C)(t)).binLen,r=r.value,o=(s=f>>>3)/4-1,s<t/8){for(r=m(r,t,0,D(e),a);r.length<=o;)r.push(0);r[o]&=4294967040}else if(s>t/8){for(;r.length<=o;)r.push(0);r[o]&=4294967040}for(t=0;t<=o;t+=1)S[t]=909522486^r[t],E[t]=1549556828^r[t];i=h(S,i),_=f,w=!0},this.update=function(e){var t,r,n,a=0,s=f>>>5;for(e=(t=o(e,y,b)).binLen,r=t.value,t=e>>>5,n=0;n<t;n+=s)a+f<=e&&(i=h(r.slice(n,n+s),i),a+=f);_+=a,y=r.slice(a>>>5),b=e%f,R=!0},this.getHash=function(t,r){var n,o,l,f;if(!0===w)throw Error("Cannot call getHash after setting HMAC key");if(l=p(r),!0===T){if(-1===l.shakeLen)throw Error("shakeLen must be specified in options");a=l.shakeLen}switch(t){case"HEX":n=function(e){return s(e,a,C,l)};break;case"B64":n=function(e){return c(e,a,C,l)};break;case"BYTES":n=function(e){return d(e,a,C)};break;case"ARRAYBUFFER":try{o=new ArrayBuffer(0)}catch(e){throw Error("ARRAYBUFFER not supported by this environment")}n=function(e){return u(e,a,C)};break;default:throw Error("format must be HEX, B64, BYTES, or ARRAYBUFFER")}for(f=m(y.slice(),b,_,v(i),a),o=1;o<g;o+=1)!0===T&&0!=a%32&&(f[f.length-1]&=16777215>>>24-a%32),f=m(f,a,0,D(e),a);return n(f)},this.getHMAC=function(t,r){var n,o,l,g;if(!1===w)throw Error("Cannot call getHMAC without first setting HMAC key");switch(l=p(r),t){case"HEX":n=function(e){return s(e,a,C,l)};break;case"B64":n=function(e){return c(e,a,C,l)};break;case"BYTES":n=function(e){return d(e,a,C)};break;case"ARRAYBUFFER":try{n=new ArrayBuffer(0)}catch(e){throw Error("ARRAYBUFFER not supported by this environment")}n=function(e){return u(e,a,C)};break;default:throw Error("outputFormat must be HEX, B64, BYTES, or ARRAYBUFFER")}return o=m(y.slice(),b,_,v(i),a),g=h(E,D(e)),n(g=m(o,a,f,g,a))}}function a(e,t){this.a=e,this.b=t}function s(e,t,r,n){var i,o,a,s="";for(t/=8,a=-1===r?3:0,i=0;i<t;i+=1)o=e[i>>>2]>>>8*(a+i%4*r),s+="0123456789abcdef".charAt(o>>>4&15)+"0123456789abcdef".charAt(15&o);return n.outputUpper?s.toUpperCase():s}function c(e,t,r,n){var i,o,a,s,c="",d=t/8;for(s=-1===r?3:0,i=0;i<d;i+=3)for(o=i+1<d?e[i+1>>>2]:0,a=i+2<d?e[i+2>>>2]:0,a=(e[i>>>2]>>>8*(s+i%4*r)&255)<<16|(o>>>8*(s+(i+1)%4*r)&255)<<8|a>>>8*(s+(i+2)%4*r)&255,o=0;4>o;o+=1)c+=8*i+6*o<=t?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(a>>>6*(3-o)&63):n.b64Pad;return c}function d(e,t,r){var n,i,o,a="";for(t/=8,o=-1===r?3:0,n=0;n<t;n+=1)i=e[n>>>2]>>>8*(o+n%4*r)&255,a+=String.fromCharCode(i);return a}function u(e,t,r){t/=8;var n,i,o,a=new ArrayBuffer(t);for(o=new Uint8Array(a),i=-1===r?3:0,n=0;n<t;n+=1)o[n]=e[n>>>2]>>>8*(i+n%4*r)&255;return a}function p(e){var t={outputUpper:!1,b64Pad:"=",shakeLen:-1};if(e=e||{},t.outputUpper=e.outputUpper||!1,!0===e.hasOwnProperty("b64Pad")&&(t.b64Pad=e.b64Pad),!0===e.hasOwnProperty("shakeLen")){if(0!=e.shakeLen%8)throw Error("shakeLen must be a multiple of 8");t.shakeLen=e.shakeLen}if("boolean"!=typeof t.outputUpper)throw Error("Invalid outputUpper formatting option");if("string"!=typeof t.b64Pad)throw Error("Invalid b64Pad formatting option");return t}function l(e,t,r){switch(t){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(e){case"HEX":e=function(e,t,n){var i,o,a,s,c,d,u=e.length;if(0!=u%2)throw Error("String of HEX type must be in byte increments");for(t=t||[0],c=(n=n||0)>>>3,d=-1===r?3:0,i=0;i<u;i+=2){if(o=parseInt(e.substr(i,2),16),isNaN(o))throw Error("String of HEX type contains invalid characters");for(a=(s=(i>>>1)+c)>>>2;t.length<=a;)t.push(0);t[a]|=o<<8*(d+s%4*r)}return{value:t,binLen:4*u+n}};break;case"TEXT":e=function(e,n,i){var o,a,s,c,d,u,p,l,f=0;if(n=n||[0],d=(i=i||0)>>>3,"UTF8"===t)for(l=-1===r?3:0,s=0;s<e.length;s+=1)for(a=[],128>(o=e.charCodeAt(s))?a.push(o):2048>o?(a.push(192|o>>>6),a.push(128|63&o)):55296>o||57344<=o?a.push(224|o>>>12,128|o>>>6&63,128|63&o):(s+=1,o=65536+((1023&o)<<10|1023&e.charCodeAt(s)),a.push(240|o>>>18,128|o>>>12&63,128|o>>>6&63,128|63&o)),c=0;c<a.length;c+=1){for(u=(p=f+d)>>>2;n.length<=u;)n.push(0);n[u]|=a[c]<<8*(l+p%4*r),f+=1}else if("UTF16BE"===t||"UTF16LE"===t)for(l=-1===r?2:0,a="UTF16LE"===t&&1!==r||"UTF16LE"!==t&&1===r,s=0;s<e.length;s+=1){for(o=e.charCodeAt(s),!0===a&&(o=(c=255&o)<<8|o>>>8),u=(p=f+d)>>>2;n.length<=u;)n.push(0);n[u]|=o<<8*(l+p%4*r),f+=2}return{value:n,binLen:8*f+i}};break;case"B64":e=function(e,t,n){var i,o,a,s,c,d,u,p,l=0;if(-1===e.search(/^[a-zA-Z0-9=+\/]+$/))throw Error("Invalid character in base-64 string");if(o=e.indexOf("="),e=e.replace(/\=/g,""),-1!==o&&o<e.length)throw Error("Invalid '=' found in base-64 string");for(t=t||[0],d=(n=n||0)>>>3,p=-1===r?3:0,o=0;o<e.length;o+=4){for(c=e.substr(o,4),a=s=0;a<c.length;a+=1)s|=(i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(c[a]))<<18-6*a;for(a=0;a<c.length-1;a+=1){for(i=(u=l+d)>>>2;t.length<=i;)t.push(0);t[i]|=(s>>>16-8*a&255)<<8*(p+u%4*r),l+=1}}return{value:t,binLen:8*l+n}};break;case"BYTES":e=function(e,t,n){var i,o,a,s,c,d;for(t=t||[0],a=(n=n||0)>>>3,d=-1===r?3:0,o=0;o<e.length;o+=1)i=e.charCodeAt(o),s=(c=o+a)>>>2,t.length<=s&&t.push(0),t[s]|=i<<8*(d+c%4*r);return{value:t,binLen:8*e.length+n}};break;case"ARRAYBUFFER":try{e=new ArrayBuffer(0)}catch(e){throw Error("ARRAYBUFFER not supported by this environment")}e=function(e,t,n){var i,o,a,s,c,d;for(t=t||[0],o=(n=n||0)>>>3,c=-1===r?3:0,d=new Uint8Array(e),i=0;i<e.byteLength;i+=1)a=(s=i+o)>>>2,t.length<=a&&t.push(0),t[a]|=d[i]<<8*(c+s%4*r);return{value:t,binLen:8*e.byteLength+n}};break;default:throw Error("format must be HEX, TEXT, B64, BYTES, or ARRAYBUFFER")}return e}function f(e,t){return e<<t|e>>>32-t}function h(e,t){return 32<t?(t-=32,new a(e.b<<t|e.a>>>32-t,e.a<<t|e.b>>>32-t)):0!==t?new a(e.a<<t|e.b>>>32-t,e.b<<t|e.a>>>32-t):e}function m(e,t){return e>>>t|e<<32-t}function v(e,t){var r=null;r=new a(e.a,e.b);return 32>=t?new a(r.a>>>t|r.b<<32-t&4294967295,r.b>>>t|r.a<<32-t&4294967295):new a(r.b>>>t-32|r.a<<64-t&4294967295,r.a>>>t-32|r.b<<64-t&4294967295)}function g(e,t){return 32>=t?new a(e.a>>>t,e.b>>>t|e.a<<32-t&4294967295):new a(0,e.a>>>t-32)}function _(e,t,r){return e&t^~e&r}function y(e,t,r){return new a(e.a&t.a^~e.a&r.a,e.b&t.b^~e.b&r.b)}function b(e,t,r){return e&t^e&r^t&r}function w(e,t,r){return new a(e.a&t.a^e.a&r.a^t.a&r.a,e.b&t.b^e.b&r.b^t.b&r.b)}function S(e){return m(e,2)^m(e,13)^m(e,22)}function E(e){var t=v(e,28),r=v(e,34);return e=v(e,39),new a(t.a^r.a^e.a,t.b^r.b^e.b)}function R(e){return m(e,6)^m(e,11)^m(e,25)}function T(e){var t=v(e,14),r=v(e,18);return e=v(e,41),new a(t.a^r.a^e.a,t.b^r.b^e.b)}function C(e){return m(e,7)^m(e,18)^e>>>3}function P(e){var t=v(e,1),r=v(e,8);return e=g(e,7),new a(t.a^r.a^e.a,t.b^r.b^e.b)}function O(e){return m(e,17)^m(e,19)^e>>>10}function M(e){var t=v(e,19),r=v(e,61);return e=g(e,6),new a(t.a^r.a^e.a,t.b^r.b^e.b)}function k(e,t){var r=(65535&e)+(65535&t);return((e>>>16)+(t>>>16)+(r>>>16)&65535)<<16|65535&r}function I(e,t,r,n){var i=(65535&e)+(65535&t)+(65535&r)+(65535&n);return((e>>>16)+(t>>>16)+(r>>>16)+(n>>>16)+(i>>>16)&65535)<<16|65535&i}function A(e,t,r,n,i){var o=(65535&e)+(65535&t)+(65535&r)+(65535&n)+(65535&i);return((e>>>16)+(t>>>16)+(r>>>16)+(n>>>16)+(i>>>16)+(o>>>16)&65535)<<16|65535&o}function L(e,t){var r,n,i;return r=(65535&e.b)+(65535&t.b),i=(65535&(n=(e.b>>>16)+(t.b>>>16)+(r>>>16)))<<16|65535&r,r=(65535&e.a)+(65535&t.a)+(n>>>16),new a((65535&(n=(e.a>>>16)+(t.a>>>16)+(r>>>16)))<<16|65535&r,i)}function N(e,t,r,n){var i,o,s;return i=(65535&e.b)+(65535&t.b)+(65535&r.b)+(65535&n.b),s=(65535&(o=(e.b>>>16)+(t.b>>>16)+(r.b>>>16)+(n.b>>>16)+(i>>>16)))<<16|65535&i,i=(65535&e.a)+(65535&t.a)+(65535&r.a)+(65535&n.a)+(o>>>16),new a((65535&(o=(e.a>>>16)+(t.a>>>16)+(r.a>>>16)+(n.a>>>16)+(i>>>16)))<<16|65535&i,s)}function x(e,t,r,n,i){var o,s,c;return o=(65535&e.b)+(65535&t.b)+(65535&r.b)+(65535&n.b)+(65535&i.b),c=(65535&(s=(e.b>>>16)+(t.b>>>16)+(r.b>>>16)+(n.b>>>16)+(i.b>>>16)+(o>>>16)))<<16|65535&o,o=(65535&e.a)+(65535&t.a)+(65535&r.a)+(65535&n.a)+(65535&i.a)+(s>>>16),new a((65535&(s=(e.a>>>16)+(t.a>>>16)+(r.a>>>16)+(n.a>>>16)+(i.a>>>16)+(o>>>16)))<<16|65535&o,c)}function j(e,t){return new a(e.a^t.a,e.b^t.b)}function D(e){var t,r=[];if("SHA-1"===e)r=[1732584193,4023233417,2562383102,271733878,3285377520];else if(0===e.lastIndexOf("SHA-",0))switch(r=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],t=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],e){case"SHA-224":break;case"SHA-256":r=t;break;case"SHA-384":r=[new a(3418070365,r[0]),new a(1654270250,r[1]),new a(2438529370,r[2]),new a(355462360,r[3]),new a(1731405415,r[4]),new a(41048885895,r[5]),new a(3675008525,r[6]),new a(1203062813,r[7])];break;case"SHA-512":r=[new a(t[0],4089235720),new a(t[1],2227873595),new a(t[2],4271175723),new a(t[3],1595750129),new a(t[4],2917565137),new a(t[5],725511199),new a(t[6],4215389547),new a(t[7],327033209)];break;default:throw Error("Unknown SHA variant")}else{if(0!==e.lastIndexOf("SHA3-",0)&&0!==e.lastIndexOf("SHAKE",0))throw Error("No SHA variants supported");for(e=0;5>e;e+=1)r[e]=[new a(0,0),new a(0,0),new a(0,0),new a(0,0),new a(0,0)]}return r}function F(e,t){var r,n,i,o,a,s,c,d=[];for(r=t[0],n=t[1],i=t[2],o=t[3],a=t[4],c=0;80>c;c+=1)d[c]=16>c?e[c]:f(d[c-3]^d[c-8]^d[c-14]^d[c-16],1),s=20>c?A(f(r,5),n&i^~n&o,a,1518500249,d[c]):40>c?A(f(r,5),n^i^o,a,1859775393,d[c]):60>c?A(f(r,5),b(n,i,o),a,2400959708,d[c]):A(f(r,5),n^i^o,a,3395469782,d[c]),a=o,o=i,i=f(n,30),n=r,r=s;return t[0]=k(r,t[0]),t[1]=k(n,t[1]),t[2]=k(i,t[2]),t[3]=k(o,t[3]),t[4]=k(a,t[4]),t}function U(e,t,r,n){var i;for(i=15+(t+65>>>9<<4);e.length<=i;)e.push(0);for(e[t>>>5]|=128<<24-t%32,t+=r,e[i]=4294967295&t,e[i-1]=t/4294967296|0,t=e.length,i=0;i<t;i+=16)n=F(e.slice(i,i+16),n);return n}function V(e,t,r){var n,i,o,s,c,d,u,p,l,f,h,m,v,g,j,D,F,U,V,B,Y,W,J,z=[];if("SHA-224"===r||"SHA-256"===r)f=64,m=1,W=Number,v=k,g=I,j=A,D=C,F=O,U=S,V=R,Y=b,B=_,J=G;else{if("SHA-384"!==r&&"SHA-512"!==r)throw Error("Unexpected error in SHA-2 implementation");f=80,m=2,W=a,v=L,g=N,j=x,D=P,F=M,U=E,V=T,Y=w,B=y,J=H}for(r=t[0],n=t[1],i=t[2],o=t[3],s=t[4],c=t[5],d=t[6],u=t[7],h=0;h<f;h+=1)16>h?(l=h*m,p=e.length<=l?0:e[l],l=e.length<=l+1?0:e[l+1],z[h]=new W(p,l)):z[h]=g(F(z[h-2]),z[h-7],D(z[h-15]),z[h-16]),p=j(u,V(s),B(s,c,d),J[h],z[h]),l=v(U(r),Y(r,n,i)),u=d,d=c,c=s,s=v(o,p),o=i,i=n,n=r,r=v(p,l);return t[0]=v(r,t[0]),t[1]=v(n,t[1]),t[2]=v(i,t[2]),t[3]=v(o,t[3]),t[4]=v(s,t[4]),t[5]=v(c,t[5]),t[6]=v(d,t[6]),t[7]=v(u,t[7]),t}function B(e,t){var r,n,i,o,s=[],c=[];if(null!==e)for(n=0;n<e.length;n+=2)t[(n>>>1)%5][(n>>>1)/5|0]=j(t[(n>>>1)%5][(n>>>1)/5|0],new a(e[n+1],e[n]));for(r=0;24>r;r+=1){for(o=D("SHA3-"),n=0;5>n;n+=1){i=t[n][0];var d=t[n][1],u=t[n][2],p=t[n][3],l=t[n][4];s[n]=new a(i.a^d.a^u.a^p.a^l.a,i.b^d.b^u.b^p.b^l.b)}for(n=0;5>n;n+=1)c[n]=j(s[(n+4)%5],h(s[(n+1)%5],1));for(n=0;5>n;n+=1)for(i=0;5>i;i+=1)t[n][i]=j(t[n][i],c[n]);for(n=0;5>n;n+=1)for(i=0;5>i;i+=1)o[i][(2*n+3*i)%5]=h(t[n][i],Y[n][i]);for(n=0;5>n;n+=1)for(i=0;5>i;i+=1)t[n][i]=j(o[n][i],new a(~o[(n+1)%5][i].a&o[(n+2)%5][i].a,~o[(n+1)%5][i].b&o[(n+2)%5][i].b));t[0][0]=j(t[0][0],W[r])}return t}var G,H,Y,W;H=[new a((G=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])[0],3609767458),new a(G[1],602891725),new a(G[2],3964484399),new a(G[3],2173295548),new a(G[4],4081628472),new a(G[5],3053834265),new a(G[6],2937671579),new a(G[7],3664609560),new a(G[8],2734883394),new a(G[9],1164996542),new a(G[10],1323610764),new a(G[11],3590304994),new a(G[12],4068182383),new a(G[13],991336113),new a(G[14],633803317),new a(G[15],3479774868),new a(G[16],2666613458),new a(G[17],944711139),new a(G[18],2341262773),new a(G[19],2007800933),new a(G[20],1495990901),new a(G[21],1856431235),new a(G[22],3175218132),new a(G[23],2198950837),new a(G[24],3999719339),new a(G[25],766784016),new a(G[26],2566594879),new a(G[27],3203337956),new a(G[28],1034457026),new a(G[29],2466948901),new a(G[30],3758326383),new a(G[31],168717936),new a(G[32],1188179964),new a(G[33],1546045734),new a(G[34],1522805485),new a(G[35],2643833823),new a(G[36],2343527390),new a(G[37],1014477480),new a(G[38],1206759142),new a(G[39],344077627),new a(G[40],1290863460),new a(G[41],3158454273),new a(G[42],3505952657),new a(G[43],106217008),new a(G[44],3606008344),new a(G[45],1432725776),new a(G[46],1467031594),new a(G[47],851169720),new a(G[48],3100823752),new a(G[49],1363258195),new a(G[50],3750685593),new a(G[51],3785050280),new a(G[52],3318307427),new a(G[53],3812723403),new a(G[54],2003034995),new a(G[55],3602036899),new a(G[56],1575990012),new a(G[57],1125592928),new a(G[58],2716904306),new a(G[59],442776044),new a(G[60],593698344),new a(G[61],3733110249),new a(G[62],2999351573),new a(G[63],3815920427),new a(3391569614,3928383900),new a(3515267271,566280711),new a(3940187606,3454069534),new a(4118630271,4000239992),new a(116418474,1914138554),new a(174292421,2731055270),new a(289380356,3203993006),new a(460393269,320620315),new a(685471733,587496836),new a(852142971,1086792851),new a(1017036298,365543100),new a(1126000580,2618297676),new a(1288033470,3409855158),new a(1501505948,4234509866),new a(1607167915,987167468),new a(1816402316,1246189591)],W=[new a(0,1),new a(0,32898),new a(2147483648,32906),new a(2147483648,2147516416),new a(0,32907),new a(0,2147483649),new a(2147483648,2147516545),new a(2147483648,32777),new a(0,138),new a(0,136),new a(0,2147516425),new a(0,2147483658),new a(0,2147516555),new a(2147483648,139),new a(2147483648,32905),new a(2147483648,32771),new a(2147483648,32770),new a(2147483648,128),new a(0,32778),new a(2147483648,2147483658),new a(2147483648,2147516545),new a(2147483648,32896),new a(0,2147483649),new a(2147483648,2147516424)],Y=[[0,36,3,41,18],[1,44,10,45,2],[62,6,43,15,61],[28,55,25,21,56],[27,20,39,8,14]],void 0===(n=function(){return o}.call(t,r,t,e))||(e.exports=n)}()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Connection=void 0;var n=r(0),i=r(57),o=r(4),a=r(1),s=r(31),c=r(2);function d(e){var t="CLOSED";switch(e){case i.w3cwebsocket.OPEN:t="OPEN";break;case i.w3cwebsocket.CONNECTING:t="CONNECTING";break;case i.w3cwebsocket.CLOSING:t="CLOSING";break;case i.w3cwebsocket.CLOSED:t="CLOSED"}return t}var u=function(e){function t(t){var r=e.call(this)||this;return r._state="CLOSED",r.connectId=1,r.reconnectTimes=0,r.signalManager=t,r.signalManager.on("change-signal",(function(e,t){a.default.debug("change signal "+e.wss+" => "+t.wss),r.reconnect()})),r}return n.__extends(t,e),Object.defineProperty(t.prototype,"state",{get:function(){return this._state},set:function(e){var r=this.state;a.default.debug("change connection state: "+r+" => "+e);var n=!1;switch(r){case"CLOSED":switch(e){case"CONNECTING":this._state=e,n=!0;break;default:a.default.debug("break change connection state: "+r+" => "+e)}break;case"CONNECTING":switch(e){case"OPEN":this._state=e,n=!0;break;default:a.default.debug("break change connection state: "+r+" => "+e)}break;case"OPEN":switch(e){case"RECONNECTING":case"CLOSING":this._state=e,n=!0;break;default:a.default.debug("break change connection state: "+r+" => "+e)}break;case"RECONNECTING":switch(e){case"OPEN":case"CLOSING":this._state=e,n=!0;break;case"CLOSED":this.reconnectTimes>=t.MAX_RECONNECT_TIMES&&(this._state=e,n=!0);break;default:a.default.debug("break change connection state: "+r+" => "+e)}break;case"CLOSING":switch(e){case"CLOSED":this._state=e,n=!0;break;default:a.default.debug("break change connection state: "+r+" => "+e)}break;default:a.default.debug("break change connection state: "+r+" => "+e)}n&&this.emit("state-changed",r,this.state)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isOpened",{get:function(){return"OPEN"===this.state},enumerable:!1,configurable:!0}),t.prototype.connect=function(e){var t=this;return new Promise((function(r,n){if(t.signalManager.current){e&&t.signalManager.rearrange(),t.connectId+=1;var o,u=t.signalManager.current,p=!1;try{t._websocket=o=new i.w3cwebsocket(u.wss),u.status=s.SignalStatus.connecting}catch(e){return a.default.warn("connection error "+e),void n(c.createError(c.RtcError.CONNECTION_FAILED,"Create Socket Error - "+e))}t.state===d(i.w3cwebsocket.CLOSED)&&(t.state=d(i.w3cwebsocket.CONNECTING)),o.onopen=function(){u.status=s.SignalStatus.connected,t.state!==d(i.w3cwebsocket.CONNECTING)&&"RECONNECTING"!==t.state||(t.state=d(i.w3cwebsocket.OPEN)),p||(p=!0,r())},o.onclose=function(){u.status=s.SignalStatus.unconnected,t.state!==d(i.w3cwebsocket.CLOSING)&&"RECONNECTING"!==t.state||(t.state=d(i.w3cwebsocket.CLOSED))},o.onmessage=function(e){t.emit("receive-message",e)},o.onerror=function(e){var r,d;a.default.debug("connection - onerror "+e),a.default.debug("connection - onerror state ",t.state,null===(r=t._websocket)||void 0===r?void 0:r.readyState),a.default.report("connection - onerror ",e,t.state,null===(d=t._websocket)||void 0===d?void 0:d.readyState),o.readyState===i.w3cwebsocket.CLOSED&&(u.status=s.SignalStatus.unconnected,o.onopen=function(){},o.onmessage=function(){},o.onclose=function(){}),p?t.emit("error",c.createError(c.RtcError.CONNECTION_FAILED,"Websocket onerror")):(p=!0,n(c.createError(c.RtcError.CONNECTION_FAILED,"Connection error")))}}else n(c.createError(c.RtcError.CONNECTION_FAILED,"Signal is blank"))}))},t.prototype.send=function(e){var t=this;return new Promise((function(r,n){var i;t.isOpened?(null===(i=t._websocket)||void 0===i||i.send(e),r()):n(c.createError(c.RtcError.CONNECTION_FAILED,"Connection isn't opened"))}))},t.prototype.close=function(e,t){if(void 0===e&&(e=1e3),this.state!==d(i.w3cwebsocket.OPEN)&&"RECONNECTING"!==this.state||(this.state=d(i.w3cwebsocket.CLOSING)),this._websocket&&this._websocket.readyState===i.w3cwebsocket.OPEN)try{this._websocket.close(e,t)}catch(e){a.default.warn("close websocket error: ",e),a.default.report("close websocket error: ",e)}else this.state=d(i.w3cwebsocket.CLOSED)},t.prototype.reconnect=function(){var e=this;if(a.default.debug("connection - reconnect ",this.state),this._websocket){var r=this._websocket;this._websocket=void 0;var n=function(){};r.onopen=n,r.onclose=n,r.onmessage=n,r.onerror=n;try{r.close(1e3,"reconnect")}catch(e){a.default.warn("reconnect - close websocket "+e)}}this.state!==d(i.w3cwebsocket.CLOSING)&&this.state!==d(i.w3cwebsocket.CLOSED)&&(this.state="RECONNECTING",this.reconnectTimes+=1,this.connect().then((function(){e.reconnectTimes=0})).catch((function(r){e.emit("reconnect-times",e.reconnectTimes),e.reconnectTimes>=t.MAX_RECONNECT_TIMES&&(e.state=d(i.w3cwebsocket.CLOSED)),a.default.report("websocket reconnect "+e.reconnectTimes+" failed ",r)})))},t.RETRY_INTERVAL=1e4,t.MAX_RECONNECT_TIMES=60,t}(o.InnerEventEmitter);t.Connection=u},function(e,t,r){var n;if("object"==typeof globalThis)n=globalThis;else try{n=r(58)}catch(e){}finally{if(n||"undefined"==typeof window||(n=window),!n)throw new Error("Could not determine global this")}var i=n.WebSocket||n.MozWebSocket,o=r(59);function a(e,t){return t?new i(e,t):new i(e)}i&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(a,e,{get:function(){return i[e]}})})),e.exports={w3cwebsocket:i?a:null,version:o}},function(e,t){var r=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"==typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return r()}try{return __global__||r()}finally{delete Object.prototype.__global__}}()},function(e,t,r){e.exports=r(60).version},function(e){e.exports=JSON.parse('{"name":"websocket","description":"Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.","keywords":["websocket","websockets","socket","networking","comet","push","RFC-6455","realtime","server","client"],"author":"Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)","contributors":["Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"],"version":"1.0.34","repository":{"type":"git","url":"https://github.com/theturtle32/WebSocket-Node.git"},"homepage":"https://github.com/theturtle32/WebSocket-Node","engines":{"node":">=4.0.0"},"dependencies":{"bufferutil":"^4.0.1","debug":"^2.2.0","es5-ext":"^0.10.50","typedarray-to-buffer":"^3.1.5","utf-8-validate":"^5.0.2","yaeti":"^0.0.6"},"devDependencies":{"buffer-equal":"^1.0.0","gulp":"^4.0.2","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1","jshint":"^2.0.0","tape":"^4.9.1"},"config":{"verbose":false},"scripts":{"test":"tape test/unit/*.js","gulp":"gulp"},"main":"index","directories":{"lib":"./lib"},"browser":"lib/browser.js","license":"Apache-2.0"}')},function(e,t,r){e.exports=r(62)},function(e,t,r){"use strict";var n=r(3),i=r(33),o=r(64),a=r(40);function s(e){var t=new o(e),r=i(o.prototype.request,t);return n.extend(r,o.prototype,t),n.extend(r,t),r}var c=s(r(36));c.Axios=o,c.create=function(e){return s(a(c.defaults,e))},c.Cancel=r(41),c.CancelToken=r(76),c.isCancel=r(35),c.all=function(e){return Promise.all(e)},c.spread=r(77),e.exports=c,e.exports.default=c},function(e,t){
  35. /*!
  36. * Determine if an object is a Buffer
  37. *
  38. * @author Feross Aboukhadijeh <https://feross.org>
  39. * @license MIT
  40. */
  41. e.exports=function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},function(e,t,r){"use strict";var n=r(3),i=r(34),o=r(65),a=r(66),s=r(40);function c(e){this.defaults=e,this.interceptors={request:new o,response:new o}}c.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=s(this.defaults,e)).method=e.method?e.method.toLowerCase():"get";var t=[a,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)r=r.then(t.shift(),t.shift());return r},c.prototype.getUri=function(e){return e=s(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){c.prototype[e]=function(t,r){return this.request(n.merge(r||{},{method:e,url:t}))}})),n.forEach(["post","put","patch"],(function(e){c.prototype[e]=function(t,r,i){return this.request(n.merge(i||{},{method:e,url:t,data:r}))}})),e.exports=c},function(e,t,r){"use strict";var n=r(3);function i(){this.handlers=[]}i.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},i.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},i.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=i},function(e,t,r){"use strict";var n=r(3),i=r(67),o=r(35),a=r(36),s=r(74),c=r(75);function d(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return d(e),e.baseURL&&!s(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||a.adapter)(e).then((function(t){return d(e),t.data=i(t.data,t.headers,e.transformResponse),t}),(function(t){return o(t)||(d(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},function(e,t,r){"use strict";var n=r(3);e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},function(e,t,r){"use strict";var n=r(3);e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},function(e,t,r){"use strict";var n=r(39);e.exports=function(e,t,r){var i=r.config.validateStatus;!i||i(r.status)?e(r):t(n("Request failed with status code "+r.status,r.config,null,r.request,r))}},function(e,t,r){"use strict";e.exports=function(e,t,r,n,i){return e.config=t,r&&(e.code=r),e.request=n,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},function(e,t,r){"use strict";var n=r(3),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,o,a={};return e?(n.forEach(e.split("\n"),(function(e){if(o=e.indexOf(":"),t=n.trim(e.substr(0,o)).toLowerCase(),r=n.trim(e.substr(o+1)),t){if(a[t]&&i.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([r]):a[t]?a[t]+", "+r:r}})),a):a}},function(e,t,r){"use strict";var n=r(3);e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function i(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=i(window.location.href),function(t){var r=n.isString(t)?i(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},function(e,t,r){"use strict";var n=r(3);e.exports=n.isStandardBrowserEnv()?{write:function(e,t,r,i,o,a){var s=[];s.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),n.isString(i)&&s.push("path="+i),n.isString(o)&&s.push("domain="+o),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,r){"use strict";var n=r(41);function i(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i((function(t){e=t})),cancel:e}},e.exports=i},function(e,t,r){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,r){var n=r(79)("jsonp");e.exports=function(e,t,r){"function"==typeof t&&(r=t,t={});t||(t={});var a,s,c=t.prefix||"__jp",d=t.name||c+i++,u=t.param||"callback",p=null!=t.timeout?t.timeout:6e4,l=encodeURIComponent,f=document.getElementsByTagName("script")[0]||document.head;p&&(s=setTimeout((function(){h(),r&&r(new Error("Timeout"))}),p));function h(){a.parentNode&&a.parentNode.removeChild(a),window[d]=o,s&&clearTimeout(s)}return window[d]=function(e){n("jsonp got",e),h(),r&&r(null,e)},e=(e+=(~e.indexOf("?")?"&":"?")+u+"="+l(d)).replace("?&","?"),n('jsonp req "%s"',e),(a=document.createElement("script")).src=e,f.parentNode.insertBefore(a,f),function(){window[d]&&h()}};var i=0;function o(){}},function(e,t,r){(function(n){function i(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==n&&"env"in n&&(e=n.env.DEBUG),e}(t=e.exports=r(80)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var r=this.useColors;if(e[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+e[0]+(r?"%c ":" ")+"+"+t.humanize(this.diff),!r)return;var n="color: "+this.color;e.splice(1,0,n,"color: inherit");var i=0,o=0;e[0].replace(/%[a-zA-Z%]/g,(function(e){"%%"!==e&&(i++,"%c"===e&&(o=i))})),e.splice(o,0,n)},t.save=function(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}},t.load=i,t.useColors=function(){if("undefined"!=typeof window&&window.process&&"renderer"===window.process.type)return!0;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(i())}).call(this,r(37))},function(e,t,r){var n;function i(e){function r(){if(r.enabled){var e=r,i=+new Date,o=i-(n||i);e.diff=o,e.prev=n,e.curr=i,n=i;for(var a=new Array(arguments.length),s=0;s<a.length;s++)a[s]=arguments[s];a[0]=t.coerce(a[0]),"string"!=typeof a[0]&&a.unshift("%O");var c=0;a[0]=a[0].replace(/%([a-zA-Z%])/g,(function(r,n){if("%%"===r)return r;c++;var i=t.formatters[n];if("function"==typeof i){var o=a[c];r=i.call(e,o),a.splice(c,1),c--}return r})),t.formatArgs.call(e,a),(r.log||t.log||console.log.bind(console)).apply(e,a)}}return r.namespace=e,r.enabled=t.enabled(e),r.useColors=t.useColors(),r.color=function(e){var r,n=0;for(r in e)n=(n<<5)-n+e.charCodeAt(r),n|=0;return t.colors[Math.abs(n)%t.colors.length]}(e),"function"==typeof t.init&&t.init(r),r}(t=e.exports=i.debug=i.default=i).coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable("")},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var r=("string"==typeof e?e:"").split(/[\s,]+/),n=r.length,i=0;i<n;i++)r[i]&&("-"===(e=r[i].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.substr(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){var r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(81),t.names=[],t.skips=[],t.formatters={}},function(e,t){var r=1e3,n=60*r,i=60*n,o=24*i,a=365.25*o;function s(e,t,r){if(!(e<t))return e<1.5*t?Math.floor(e/t)+" "+r:Math.ceil(e/t)+" "+r+"s"}e.exports=function(e,t){t=t||{};var c,d=typeof e;if("string"===d&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(!t)return;var s=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return s*a;case"days":case"day":case"d":return s*o;case"hours":case"hour":case"hrs":case"hr":case"h":return s*i;case"minutes":case"minute":case"mins":case"min":case"m":return s*n;case"seconds":case"second":case"secs":case"sec":case"s":return s*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}(e);if("number"===d&&!1===isNaN(e))return t.long?s(c=e,o,"day")||s(c,i,"hour")||s(c,n,"minute")||s(c,r,"second")||c+" ms":function(e){if(e>=o)return Math.round(e/o)+"d";if(e>=i)return Math.round(e/i)+"h";if(e>=n)return Math.round(e/n)+"m";if(e>=r)return Math.round(e/r)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,r){"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},function(e,t,r){"use strict";var n,i=Object.prototype.hasOwnProperty;function o(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}t.stringify=function(e,t){t=t||"";var r,o,a=[];for(o in"string"!=typeof t&&(t="?"),e)if(i.call(e,o)){if((r=e[o])||null!==r&&r!==n&&!isNaN(r)||(r=""),o=encodeURIComponent(o),r=encodeURIComponent(r),null===o||null===r)continue;a.push(o+"="+r)}return a.length?t+a.join("&"):""},t.parse=function(e){for(var t,r=/([^=?&]+)=?([^&]*)/g,n={};t=r.exec(e);){var i=o(t[1]),a=o(t[2]);null===i||null===a||i in n||(n[i]=a)}return n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReportWorker=void 0;var n=r(1),i=function(){function e(e){var t=this;if(!!!Worker)throw new Error("Web Worker is Not Enabled");var r=e.toString().replace(/^[^{]*{\s*/,"").replace(/\s*}[^}]*$/,"");this.worker=new Worker(URL.createObjectURL(new Blob([r],{type:"text/javascript"}))),this.worker.onmessage=function(e){t.onmessage(e)},this.worker.onerror=function(e){t.onerror(e)}}return e.prototype.postMessage=function(e){this.worker.postMessage(e)},e.prototype.onmessage=function(e){n.default.debug("onmessage ",e)},e.prototype.onerror=function(e){n.default.debug("onerror ",e)},e.prototype.terminate=function(){var e;null===(e=this.worker)||void 0===e||e.terminate()},e.isUsable=function(){return!!window.Worker},e}();t.ReportWorker=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AudioTrackManager=void 0;var n=r(0),i=r(45),o=r(2),a=r(1),s=r(5),c=window.AudioContext||window.webkitAudioContext||window.mozAudioContext||window.msAudioContext||window.oAudioContext,d=s.getSystemInfo(),u="ios"===d.name.toLowerCase()&&d.version.indexOf("14.2")>=0,p=s.getBrowserInfo(),l="macos"===d.name.toLowerCase()&&"safari"===p.name.toLowerCase()&&"14.0.1"===p.version,f="huawei"===s.getPlatformVender().toLocaleLowerCase()&&s.isMobile()&&s.isWeChat();var h=function(e){function t(t,r){void 0===r&&(r=48e3);var n=e.call(this)||this;return n.sources=[],a.default.debug("audio context sample rate "+r),n.usePureMediaStream=t||(u||l?(a.default.warn("iOS 14.2 and macOS Safari 14.0.1 has bug on AudioContext, some features cannot be used."),a.default.report("iOS 14.2 and macOS Safari 14.0.1 has bug on AudioContext, some features cannot be used. [userAgent] - "+navigator.userAgent),!0):f?(a.default.warn("Huawei wechat has bug on AudioContext, some features cannot be used."),a.default.report("Huawei wechat has bug on AudioContext, some features cannot be used. [userAgent] - "+navigator.userAgent),!0):c?"function"!=typeof c.prototype.createMediaStreamDestination?(a.default.warn("no createMediaStreamDestination function, some features cannot be used."),a.default.report("no createMediaStreamDestination function, some features cannot be used. [userAgent] - "+navigator.userAgent),!0):"function"!=typeof c.prototype.createGain?(a.default.warn("no createGain function, some features cannot be used."),a.default.report("no createGain function, some features cannot be used. [userAgent] - "+navigator.userAgent),!0):"function"!=typeof c.prototype.createMediaStreamSource&&(a.default.warn("no createMediaStreamSource function, some features cannot be used."),a.default.report("no createMediaStreamSource function, some features cannot be used. [userAgent] - "+navigator.userAgent),!0):(a.default.warn("no AudioContext, some features cannot be used."),a.default.report("no AudioContext, some features cannot be used. [userAgent] - "+navigator.userAgent),!0)),n.mediaStream=new MediaStream,n}return n.__extends(t,e),Object.defineProperty(t.prototype,"sourceTracks",{get:function(){return this.sources.map((function(e){return e.track}))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"destinationTrack",{get:function(){var e;return this.usePureMediaStream?this.mediaStream.getAudioTracks()[0]:null===(e=this.destinationNode)||void 0===e?void 0:e.stream.getAudioTracks()[0]},enumerable:!1,configurable:!0}),t.prototype.triggerAC=function(){var e=this;if(!this.usePureMediaStream&&!this.audioContext){try{if(this.audioContext=new c,!this.audioContext)throw o.createError(o.RtcError.NOT_SUPPORT,"Cannot create AudioContext")}catch(e){return this.usePureMediaStream=!0,this.mediaStream=new MediaStream,a.default.warn(e),void a.default.report(e+" [userAgent] - "+navigator.userAgent+" ")}this.audioContext.onstatechange=function(t){var r,n,i;a.default.debug("audio context state changed ",t,e.sourceTracks.map((function(e){return e.label}))),e.audioContext&&"running"!=e.audioContext.state&&"closed"!=e.audioContext.state&&a.default.report("audio context state changed ",null===(r=e.audioContext)||void 0===r?void 0:r.state,e.sourceTracks.map((function(e){return e.label})),navigator.userAgent),"interrupted"===(null===(n=e.audioContext)||void 0===n?void 0:n.state)&&e.resume().catch((function(e){a.default.warn("audio context resume after interrupted ",e),a.default.report("audio context resume after interrupted [userAgent] - "+navigator.userAgent+" ",e)})),"suspended"===(null===(i=e.audioContext)||void 0===i?void 0:i.state)&&e.resume().catch((function(e){a.default.warn("audio context resume after suspended ",e),a.default.report("audio context resume after suspended [userAgent] - "+navigator.userAgent+" ",e)}))},s.isIOS()&&document.addEventListener("visibilitychange",(function(t){a.default.debug("document visibility ",document.visibilityState,t),"visible"===document.visibilityState&&e.resume().catch((function(e){a.default.report("audio context resume failed after document visible",e,navigator.userAgent)}))})),this.gainNode=this.audioContext.createGain(),this.destinationNode=this.audioContext.createMediaStreamDestination(),this.gainNode.connect(this.destinationNode),this.mediaStream=this.destinationNode.stream}},t.prototype.resume=function(){return this.audioContext?this.audioContext.resume():Promise.resolve()},t.prototype.addTrack=function(e,t){var r,n,i=this;if(this.triggerAC(),e.onmute=function(e){i.emit("audio-track-muted",e)},e.onunmute=function(e){i.resume().catch((function(t){a.default.report("audio context resume failed when track unmute ",t,e.target.label,navigator.userAgent)})),i.emit("audio-track-unmuted",e)},e.onended=function(e){i.emit("audio-track-ended",e)},this.usePureMediaStream){if(this.sources.length>0){var o="This browser or stream not support add 2 or more tracks.";return a.default.warn(o),void a.default.report(o+" [userAgent] - "+navigator.userAgent)}this.mediaStream.addTrack(e)}var s=new MediaStream;s.addTrack(e);var c={track:e,node:null===(r=this.audioContext)||void 0===r?void 0:r.createMediaStreamSource(s)};this.gainNode&&(null===(n=c.node)||void 0===n||n.connect(this.gainNode)),t?this.sources.unshift(c):this.sources.push(c)},t.prototype.removeTrack=function(e,t){var r;if(e.onmute=null,e.onended=null,this.usePureMediaStream){var n=this.mediaStream.getAudioTracks().find((function(t){return t.id===e.id}));n&&this.mediaStream.removeTrack(n)}var i=this.sources.find((function(t){return t.track.id===e.id}));i&&(this.gainNode&&(null===(r=i.node)||void 0===r||r.disconnect(this.gainNode)),this.sources=this.sources.filter((function(e){return e!==i})),t||i.track.stop())},t.prototype.getLevel=function(){var e=0;if(this.usePureMediaStream)return 0;if(!this.analyserNode)try{var t=this.audioContext.createMediaStreamSource(this.mediaStream);this.analyserNode=this.audioContext.createAnalyser(),this.timeDomainData=new Uint8Array(this.analyserNode.frequencyBinCount),t.connect(this.analyserNode)}catch(e){var r="Get audio level error: "+e+".";a.default.warn(r),a.default.report(r+" [userAgent] - "+navigator.userAgent)}return this.analyserNode&&(this.analyserNode.getByteTimeDomainData(this.timeDomainData),this.timeDomainData.forEach((function(t){e=Math.max(e,Math.abs(t-128))}))),e/128},t.prototype.setLevel=function(e){if(this.usePureMediaStream)a.default.warn("this browser or stream not support setVolume method");else if(this.gainNode)this.gainNode.gain.value=e/100;else{var t="Cannot find gain node.";a.default.warn(t),a.default.report(t+" [userAgent] - "+navigator.userAgent)}},t.prototype.reset=function(){var e=this;Array.from(this.sources).forEach((function(t){e.removeTrack(t.track)})),this.sources=[]},t.prototype.destroy=function(){var e;this.reset(),null===(e=this.audioContext)||void 0===e||e.close().catch((function(e){a.default.report("close audio context failed ",e)}))},t}(i.EventEmitter);t.AudioTrackManager=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VideoTrackManager=void 0;var n=r(2),i=r(1),o=function(){function e(){this.mediaStream=new MediaStream}return Object.defineProperty(e.prototype,"sourceTrack",{get:function(){return this.mediaStream.getVideoTracks()[0]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"destinationTrack",{get:function(){return this.mediaStream.getVideoTracks()[0]},enumerable:!1,configurable:!0}),e.prototype.addTrack=function(e){this.mediaStream.addTrack(e)},e.prototype.removeTrack=function(e,t){var r=this.mediaStream.getVideoTracks().find((function(t){return t.id===e.id}));r&&(this.mediaStream.removeTrack(r),t||r.stop())},e.prototype.snapshot=function(e){var t=this;return new Promise((function(r,o){var a=document.createElement("video");a.autoplay=!0,a.srcObject=t.mediaStream,a.onplay=function(){var t=document.createElement("canvas");t.width=a.videoWidth,t.height=a.videoHeight;var s=t.getContext("2d");if(!s){var c=n.createError(n.RtcError.NOT_SUPPORT,"Cannot create canvas context");return i.default.warn(c),i.default.report(c+" [userAgent] - "+navigator.userAgent+" "),void o(c)}s.drawImage(a,0,0);var d=t.toDataURL("image");if(a.srcObject=null,a.onplay=null,""!==e){var u=document.createElement("a");u.download=e,u.href=d,u.click()}r(d)}}))},e.prototype.reset=function(){var e=this;this.mediaStream.getVideoTracks().forEach((function(t){return e.removeTrack(t)}))},e.prototype.destroy=function(){this.reset()},e}();t.VideoTrackManager=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VIDEO=t.AUDIO=void 0,t.AUDIO=new Blob([new Uint8Array([255,227,24,196,0,0,0,3,72,1,64,0,0,4,132,16,31,227,192,225,76,255,67,12,255,221,27,255,228,97,73,63,255,195,131,69,192,232,223,255,255,207,102,239,255,255,255,101,158,206,70,20,59,255,254,95,70,149,66,4,16,128,0,2,2,32,240,138,255,36,106,183,255,227,24,196,59,11,34,62,80,49,135,40,0,253,29,191,209,200,141,71,7,255,252,152,74,15,130,33,185,6,63,255,252,195,70,203,86,53,15,255,255,247,103,76,121,64,32,47,255,34,227,194,209,138,76,65,77,69,51,46,57,55,170,170,170,170,170,170,170,170,170,170,255,227,24,196,73,13,153,210,100,81,135,56,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170])],{type:"audio/mpeg"}),t.VIDEO=new Blob([new Uint8Array([0,0,0,28,102,116,121,112,105,115,111,109,0,0,2,0,105,115,111,109,105,115,111,50,109,112,52,49,0,0,0,8,102,114,101,101,0,0,2,239,109,100,97,116,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,33,16,5,32,164,27,255,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,167,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,2,194,109,111,111,118,0,0,0,108,109,118,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,232,0,0,0,47,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,236,116,114,97,107,0,0,0,92,116,107,104,100,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,101,100,116,115,0,0,0,28,101,108,115,116,0,0,0,0,0,0,0,1,0,0,0,47,0,0,0,0,0,1,0,0,0,0,1,100,109,100,105,97,0,0,0,32,109,100,104,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,68,0,0,8,0,85,196,0,0,0,0,0,45,104,100,108,114,0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0,0,0,1,15,109,105,110,102,0,0,0,16,115,109,104,100,0,0,0,0,0,0,0,0,0,0,0,36,100,105,110,102,0,0,0,28,100,114,101,102,0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1,0,0,0,211,115,116,98,108,0,0,0,103,115,116,115,100,0,0,0,0,0,0,0,1,0,0,0,87,109,112,52,97,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,16,0,0,0,0,172,68,0,0,0,0,0,51,101,115,100,115,0,0,0,0,3,128,128,128,34,0,2,0,4,128,128,128,20,64,21,0,0,0,0,1,244,0,0,1,243,249,5,128,128,128,2,18,16,6,128,128,128,1,2,0,0,0,24,115,116,116,115,0,0,0,0,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,28,115,116,115,99,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,28,115,116,115,122,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,115,0,0,1,116,0,0,0,20,115,116,99,111,0,0,0,0,0,0,0,1,0,0,0,44,0,0,0,98,117,100,116,97,0,0,0,90,109,101,116,97,0,0,0,0,0,0,0,33,104,100,108,114,0,0,0,0,0,0,0,0,109,100,105,114,97,112,112,108,0,0,0,0,0,0,0,0,0,0,0,0,45,105,108,115,116,0,0,0,37,169,116,111,111,0,0,0,29,100,97,116,97,0,0,0,1,0,0,0,0,76,97,118,102,53,54,46,52,48,46,49,48,49])],{type:"video/mp4"})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StatsReports=void 0;var n=r(48),i=function(e){this.timestamp=Date.now(),this.reports=new n.Reports(e),this.audioInputReports=new n.AudioInputReports(e),this.audioOutputReports=new n.AudioOutputReports(e),this.videoInputReports=new n.VideoInputReports(e),this.videoOutputReports=new n.VideoOutputReports(e),this.candidatePairReports=new n.CandidatePairReports(e)};t.StatsReports=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._PublishConnection=void 0;var n=r(0),i=r(16),o=r(1),a=function(e){function t(t,r,n,i){return void 0===n&&(n="opus"),void 0===i&&(i="vp8"),e.call(this,t,r,n,i)||this}return n.__extends(t,e),t.prototype.addMediaStream=function(e){var t=this;e.getTracks().forEach((function(r){t.pc.addTrack(r,e)}))},t.prototype.createOffer=function(e,t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:return o.default.debug("create offer ",e,t),[4,this.pc.createOffer({offerToReceiveAudio:this.hasAudio,offerToReceiveVideo:this.hasVideo})];case 1:return(r=n.sent()).sdp&&this.hasVideo&&(r.sdp=i.replaceSDPVideoBW(r.sdp,this.videoCodec,t.minVideoBW,t.maxVideoBW),r.sdp=i.replaceSDPH264Part(r.sdp,this.videoCodec),r.sdp=i.setMediaBitrate(r.sdp,"video",t.maxVideoBW)),r.sdp&&this.hasVideo&&this.videoCodec&&(r.sdp=i.handleSDPVideoCodec(r.sdp,this.videoCodec)),r.sdp&&this.hasAudio&&(r.sdp=i.handleSDPAudioCodec(r.sdp),r.sdp=i.setMediaBitrate(r.sdp,"audio",e.bitrate)),[4,this.pc.setLocalDescription(r)];case 2:return n.sent(),[2,r.sdp]}}))}))},t.prototype.replaceTrack=function(e,t){this.pc.getSenders().forEach((function(r){var n;o.default.debug("local stream pc - replace track ",r.track,t,r.track===t),(null===(n=r.track)||void 0===n?void 0:n.kind)===e&&r.replaceTrack(t)}))},t}(r(23).default);t._PublishConnection=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t._SubscribeConnection=t._ConnectionTrackEventTypes=void 0;var n=r(0),i=r(16),o=r(1),a=r(23);t._ConnectionTrackEventTypes={trackAdded:"track-added"};var s=function(e){function r(r,n,i,a){void 0===i&&(i="opus"),void 0===a&&(a="vp8");var s=e.call(this,r,n,i,a)||this,c=s;return s.pc.addEventListener("track",(function(e){o.default.debug("remote - track event ",e),c.emit(t._ConnectionTrackEventTypes.trackAdded,e.track)})),s}return n.__extends(r,e),r.prototype.createOffer=function(){return n.__awaiter(this,void 0,void 0,(function(){var e;return n.__generator(this,(function(t){switch(t.label){case 0:return[4,this.pc.createOffer({offerToReceiveAudio:this.hasAudio,offerToReceiveVideo:this.hasVideo})];case 1:return(e=t.sent()).sdp&&this.hasVideo&&this.videoCodec&&(e.sdp=i.handleSDPVideoCodec(e.sdp,this.videoCodec)),e.sdp&&this.hasAudio&&(e.sdp=i.handleSDPAudioCodec(e.sdp)),[4,this.pc.setLocalDescription(e)];case 2:return t.sent(),[2,e.sdp]}}))}))},r}(a.default);t._SubscribeConnection=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCustomVideoResolution=t.isValidCustomVideoProfile=t.getScreenResolution=t.getVideoResolution=t.getAudioResolution=t.DEFAULT_SCREEN_PROFILE=t.DEFAULT_VIDEO_PROFILE=t.DEFAULT_AUDIO_PROFILE=t.isValidScreenProfile=t.isValidVideoProfile=t.isValidAudioProfile=t.Screen_Profiles=t.Video_Profiles=void 0;var n=r(6),i={standard:{sampleRate:48e3,channelCount:1,bitrate:40},middle:{sampleRate:48e3,channelCount:1,bitrate:96},high:{sampleRate:48e3,channelCount:1,bitrate:120}};t.Video_Profiles={"180p":{width:240,height:180,minFrameRate:15,maxFrameRate:15,minVideoBW:100,maxVideoBW:200},"180p_2":{width:320,height:180,minFrameRate:15,maxFrameRate:15,minVideoBW:100,maxVideoBW:300},"240p":{width:320,height:240,minFrameRate:15,maxFrameRate:15,minVideoBW:100,maxVideoBW:400},"360p":{width:480,height:360,minFrameRate:15,maxFrameRate:15,minVideoBW:100,maxVideoBW:400},"360p_2":{width:640,height:360,minFrameRate:15,maxFrameRate:15,minVideoBW:100,maxVideoBW:500},"480p":{width:640,height:480,minFrameRate:15,maxFrameRate:15,minVideoBW:100,maxVideoBW:600},"720p":{width:1280,height:720,minFrameRate:15,maxFrameRate:15,minVideoBW:120,maxVideoBW:1e3},"720p_2":{width:1280,height:720,minFrameRate:15,maxFrameRate:15,minVideoBW:120,maxVideoBW:1500},"720p_3":{width:1280,height:720,minFrameRate:25,maxFrameRate:30,minVideoBW:120,maxVideoBW:2e3},"1080p":{width:1920,height:1080,minFrameRate:15,maxFrameRate:15,minVideoBW:120,maxVideoBW:1500},"1080p_2":{width:1920,height:1080,minFrameRate:15,maxFrameRate:15,minVideoBW:120,maxVideoBW:2e3},"1080p_3":{width:1920,height:1080,minFrameRate:25,maxFrameRate:30,minVideoBW:120,maxVideoBW:2500}},t.Screen_Profiles={"480p":{width:640,height:480,minFrameRate:5,maxFrameRate:5,minVideoBW:100,maxVideoBW:600},"480p_2":{width:640,height:480,minFrameRate:25,maxFrameRate:30,minVideoBW:120,maxVideoBW:1e3},"720p":{width:1280,height:720,minFrameRate:5,maxFrameRate:5,minVideoBW:120,maxVideoBW:1e3},"720p_2":{width:1280,height:720,minFrameRate:25,maxFrameRate:30,minVideoBW:120,maxVideoBW:2e3},"1080p":{width:1920,height:1080,minFrameRate:5,maxFrameRate:5,minVideoBW:120,maxVideoBW:1500},"1080p_2":{width:1920,height:1080,minFrameRate:25,maxFrameRate:30,minVideoBW:120,maxVideoBW:2500}},t.isValidAudioProfile=function(e){return["standard","middle","high"].includes(e)},t.isValidVideoProfile=function(e){return["180p","180p_2","240p","360p","360p_2","480p","720p","720p_2","720p_3","1080p","1080p_2","1080p_3"].includes(e)},t.isValidScreenProfile=function(e){return["480p","480p_2","720p","720p_2","1080p","1080p_2"].includes(e)},t.DEFAULT_AUDIO_PROFILE="standard",t.DEFAULT_VIDEO_PROFILE="360p_2",t.DEFAULT_SCREEN_PROFILE="1080p",t.getAudioResolution=function(e){var r=i[e];return r?Object.freeze(r):Object.freeze(i[t.DEFAULT_AUDIO_PROFILE])},t.getVideoResolution=function(e){var r=t.Video_Profiles[e];return r?Object.freeze(r):Object.freeze(t.Video_Profiles[t.DEFAULT_VIDEO_PROFILE])},t.getScreenResolution=function(e){var r=t.Screen_Profiles[e];return r?Object.freeze(r):Object.freeze(t.Screen_Profiles[t.DEFAULT_SCREEN_PROFILE])},t.isValidCustomVideoProfile=function(e){var t=Object.keys({width:0,height:0,framerate:0,bitrate:0}).sort().toString();return Object.keys(e).sort().toString()===t&&(!!n.isValidNumber(e.width)&&(!!n.isValidNumber(e.height)&&(!!n.isValidNumber(e.framerate)&&!!n.isValidNumber(e.bitrate))))},t.getCustomVideoResolution=function(e){var t={width:e.width,height:e.height,minFrameRate:e.framerate,maxFrameRate:e.framerate,minVideoBW:e.bitrate,maxVideoBW:e.bitrate};return Object.freeze(t)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImageStream=void 0;var n=r(0),i=r(2),o=r(1),a=r(93),s=function(){function e(e,t,r,n){var s,c=this;void 0===t&&(t=640),void 0===r&&(r=480),void 0===n&&(n=20),this.width=640,this.height=480,this.frameRate=20,this.isOriginalRAF=!1,this.enable=!0,this.startRenderFrame=function(){var e;try{null===(e=c.ctx)||void 0===e||e.drawImage(c.image,0,0,c.width,c.height)}catch(e){throw e}c.drawTimer=c.raf(c.startRenderFrame)},this.stopRenderFrame=function(){c.caf(c.drawTimer),c.drawTimer=0},this.handleVisibilityChange=function(){var e,t;if(document.hidden){var r=a.getAF(c.frameRate,!0),n=r[0],i=r[1];(o=r[2])!==c.isOriginalRAF&&(c.stopRenderFrame(),e=[n,i,o],c.raf=e[0],c.caf=e[1],c.isOriginalRAF=e[2],c.startRenderFrame())}else{var o,s=a.getAF(c.frameRate);n=s[0],i=s[1];(o=s[2])!==c.isOriginalRAF&&(c.stopRenderFrame(),t=[n,i,o],c.raf=t[0],c.caf=t[1],c.isOriginalRAF=t[2],c.startRenderFrame())}},this.image=e,this.width=t,this.height=r,this.frameRate=n;var d=document.createElement("canvas");if(d.width=this.width,d.height=this.height,this.ctx=d.getContext("2d"),!this.ctx){var u=i.createError(i.RtcError.NOT_SUPPORT,"Cannot create canvas context");throw o.default.warn(u),o.default.report(u+" [userAgent] - "+navigator.userAgent+" "),u}s=a.getAF(this.frameRate),this.raf=s[0],this.caf=s[1],this.isOriginalRAF=s[2],this.startRenderFrame(),this.mediaStream=d.captureStream(this.frameRate),document.addEventListener("visibilitychange",this.handleVisibilityChange);var p=this.mediaStream.getVideoTracks()[0],l=this;p.onended=function(){l.destroy()}}return e.prototype.updateResolution=function(e,t,r){var n,i;void 0===e&&(e=640),void 0===t&&(t=480),void 0===r&&(r=20),n=[e,t,r],this.width=n[0],this.height=n[1],this.frameRate=n[2],this.stopRenderFrame(),i=a.getAF(this.frameRate),this.raf=i[0],this.caf=i[1],this.isOriginalRAF=i[2],this.startRenderFrame()},e.prototype.updateSource=function(e){return n.__awaiter(this,void 0,void 0,(function(){return n.__generator(this,(function(t){return this.image=e,[2]}))}))},e.prototype.destroy=function(){this.enable=!1,document.removeEventListener("visibilitychange",this.handleVisibilityChange),this.stopRenderFrame()},e.getImageByFile=function(t){return new Promise((function(r,n){var a=new FileReader;a.addEventListener("load",(function(t){o.default.debug("file reader loaded ",t),e.getImageByURL(this.result).then(r).catch(n)})),a.addEventListener("error",(function(e){o.default.debug("file reader load error ",e);var t=i.createError(i.RtcError.OTHERS,"File reader load error");n(t)})),a.readAsDataURL(t)}))},e.getImageByURL=function(e){return new Promise((function(t,r){var n=new Image;n.crossOrigin="anonymous",n.addEventListener("load",(function(e){o.default.debug("image loaded ",e),t(this)})),n.addEventListener("error",(function(e){o.default.debug("image load error ",e);var t=i.createError(i.RtcError.OTHERS,"Image load error");r(t)})),n.addEventListener("invalid",(function(e){o.default.debug("image load invalid ",e);var t=i.createError(i.RtcError.OTHERS,"Image is invalid");r(t)})),n.src=e}))},e.createImageElement=function(t){if("string"==typeof t)return e.getImageByURL(t);if(t instanceof File)return e.getImageByFile(t);var r=i.createError(i.RtcError.INVALID_PARAMETER,"File is invalid");return Promise.reject(r)},e}();t.ImageStream=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getAF=void 0;var n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame||window.oCancelAnimationFrame;t.getAF=function(e,t){void 0===e&&(e=20);var r=function(t){var r=1e3/e;return r<50&&(r=50),window.setTimeout(t,r)};r=t?r:n.bind(window)||r;var o=window.clearTimeout;return[r,o=t?o:i.bind(window)||o,!t&&!!n]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserManager=void 0;var n=r(0),i=r(49),o=r(14),a=r(4),s=r(7),c=function(){function e(t){var r=this;this.users=[],this.handleUserJoined=function(t){if(!r.findUserById(t.user_id)){var n=e.createUser(t);r.addUser(n)}},this.handleUserLeft=function(e){var t=r.findUserById(e.user_id);t&&r.removeUser(t)},this.handleRejoin=function(e){var t=[],n=[],i=[];e.forEach((function(e){r.findUserById(e.user_id)?t.push(e):n.push(e)})),r.users.forEach((function(e){t.findIndex((function(t){return t.user_id===e.id}))<0&&i.push(e)})),n.forEach((function(e){r.handleUserJoined(e)})),i.forEach((function(e){r.removeUser(e)}))},this.handleSync=function(e){r.handleRejoin(e)},this.eventManager=t}return e.prototype.bindSession=function(e){this._session=e,this._session.on("i-user-joined",this.handleUserJoined).on("i-user-left",this.handleUserLeft).on("i-rejoin-users",this.handleRejoin).on("i-sync-users",this.handleSync)},e.prototype.unbindSession=function(){var e;null===(e=this._session)||void 0===e||e.off("i-user-joined",this.handleUserJoined).off("i-user-left",this.handleUserLeft).off("i-rejoin-users",this.handleRejoin).off("i-sync-users",this.handleSync),this._session=void 0},e.prototype.addUser=function(e){var t=a.EventManager.createRtcEvent("user-joined",e);this.eventManager.emit(t.type,t),this.users.push(e)},e.prototype.removeUser=function(e){var t=this.users.findIndex((function(t){return t===e}));if(t>=0){var r=a.EventManager.createRtcEvent("user-left",e);this.eventManager.emit(r.type,r),this.users.splice(t,1)}},e.prototype.removeAll=function(){for(var e=0,t=this.users;e<t.length;e++){var r=t[e];this.removeUser(r)}},e.prototype.findUserById=function(e){return this.users.find((function(t){return t.id===e}))},e.createUser=function(e){var t=new i.User(e.user_id);return Object.freeze(t),t},n.__decorate([s.noenumerable(),n.__metadata("design:type",o.Session)],e.prototype,"_session",void 0),e}();t.UserManager=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NetworkQualityEvaluator=void 0;var n=r(0),i=r(45),o=r(4),a=function(e){function t(t,r){var n=e.call(this)||this;return n.streamManager=t,n.eventManager=r,n.timer=0,n._thresholds={upLossRate:70,downLossRate:70},n.lastUpEvaluateStats={isConnected:!1,bitrate:-1,lossRate:-1,rtt:-1},n.lastDownEvaluateStats={isConnected:!1,bitrate:-1,lossRate:-1,rtt:-1},n}return n.__extends(t,e),t.prototype.run=function(){var e=this;this.timer&&this.stop(),this.timer=window.setInterval((function(){var r,n,i=[];e.streamManager.localStreams.forEach((function(e){i.push(e)}));var a=[];e.streamManager.remoteStreams.forEach((function(e){a.push(e)}));var s=e.computeStreamsScore(i),c=e.computeStreamsScore(a);if(-1!==s||-1!==c){var d=o.EventManager.createRtcEvent("network-quality",{uplink:t.convert2Quality(s),downlink:t.convert2Quality(c)});e.eventManager.emit(d.type,d)}var u,p;u=(r=e.evaluate(e.getStreamsNetworkStats(i),e.lastUpEvaluateStats,e._thresholds.upLossRate))[0],e.lastUpEvaluateStats=r[1],p=(n=e.evaluate(e.getStreamsNetworkStats(a),e.lastDownEvaluateStats,e._thresholds.downLossRate))[0],e.lastDownEvaluateStats=n[1],e.emit("network-evaluation",[u,p])}),1e3)},t.prototype.stop=function(){window.clearInterval(this.timer),this.timer=0},t.prototype.computeUpStreamStats=function(e,t){var r,n,i=0,o=Math.round((t.timestamp-e.timestamp)/1e3),a=0,s=0,c=0;t.audioOutputReports&&e.audioOutputReports?(c=t.audioOutputReports.bytesSent-e.audioOutputReports.bytesSent,a=t.audioOutputReports.packetsSent-e.audioOutputReports.packetsSent,s=t.audioOutputReports.packetsLost-e.audioOutputReports.packetsLost):t.videoOutputReports&&e.videoOutputReports&&(c=t.videoOutputReports.bytesSent-e.videoOutputReports.bytesSent,a=t.videoOutputReports.packetsSent-e.videoOutputReports.packetsSent,s=t.videoOutputReports.packetsLost-e.videoOutputReports.packetsLost),r=s>=0&&a>0?Math.round(s/(a+s)*100):0,n=t.videoOutputReports.jitter,c>0&&(i=Math.round(8*c/o));var d=-1;return t.candidatePairReports&&-1!==t.candidatePairReports.currentRoundTripTime&&(d=Math.round(1e3*t.candidatePairReports.currentRoundTripTime)||0),[d,n,r,i]},t.prototype.computeDownStreamStats=function(e,t){var r,n,i=0,o=Math.round((t.timestamp-e.timestamp)/1e3),a=0,s=0,c=0;t.audioInputReports&&e.audioInputReports?(c=t.audioInputReports.bytesReceived-e.audioInputReports.bytesReceived,a=t.audioInputReports.packetsReceived-e.audioInputReports.packetsReceived,s=t.audioInputReports.packetsLost-e.audioInputReports.packetsLost):t.videoInputReports&&e.videoInputReports&&(c=t.videoInputReports.bytesReceived-e.videoInputReports.bytesReceived,a=t.videoInputReports.packetsReceived-e.videoInputReports.packetsReceived,s=t.videoInputReports.packetsLost-e.videoInputReports.packetsLost),r=s>=0&&a>0?Math.round(s/(a+s)*100):0,n=t.audioInputReports.jitter,c>0&&(i=Math.round(8*c/o));var d=-1;return t.candidatePairReports&&-1!==t.candidatePairReports.currentRoundTripTime&&(d=Math.round(1e3*t.candidatePairReports.currentRoundTripTime)||0),[d,n,r,i]},t.prototype.computeStreamStats=function(e){var t=-1,r=0,n=0;if(!e.connection)return[t,r,n];if(!e.connection.isEmitted)return[t,r,n];var i=e.connection.getLastStatsReport(),o=e.connection.getCurrentStatsReport();if(!i||!o)return[t,r,n];var a=0,s=0;if(e.isLocal?(o.audioOutputReports&&i.audioOutputReports?(a=o.audioOutputReports.packetsSent-i.audioOutputReports.packetsSent,s=o.audioOutputReports.packetsLost-i.audioOutputReports.packetsLost):o.videoOutputReports&&i.videoOutputReports&&(a=o.videoOutputReports.packetsSent-i.videoOutputReports.packetsSent,s=o.videoOutputReports.packetsLost-i.videoOutputReports.packetsLost),r=o.videoOutputReports.jitter):(o.audioInputReports&&i.audioInputReports?(a=o.audioInputReports.packetsReceived-i.audioInputReports.packetsReceived,s=o.audioInputReports.packetsLost-i.audioInputReports.packetsLost):o.videoInputReports&&i.videoInputReports&&(a=o.videoInputReports.packetsReceived-i.videoInputReports.packetsReceived,s=o.videoInputReports.packetsLost-i.videoInputReports.packetsLost),r=o.audioInputReports.jitter),n=s>=0&&a>0?Math.round(s/(a+s)*100):0,o.candidatePairReports&&-1!==o.candidatePairReports.currentRoundTripTime&&(t=Math.round(1e3*o.candidatePairReports.currentRoundTripTime)||0),e.connection.lastEmitTime){var c=Date.now();n=c-e.connection.lastEmitTime<=2e3?0:n,r=c-e.connection.lastEmitTime<=3e3?0:r}return[t,r,n]},t.prototype.computeStreamScore=function(e,t,r){var n=95,i=e+2*t+10;return i<200?n-=i/40:i>=200&&(n-=(i-120)/10),n-=2.5*r},t.prototype.computeStreamsScore=function(e){var t=this,r=-1;if(0===e.length)return r;var n=!1;if(e.forEach((function(e){if(e.connection)switch(e.connection.state){case"connected":n=!0}})),!n)return r=0;var i=e.map((function(e){var r=t.computeStreamStats(e),n=r[0],i=r[1],o=r[2];return t.computeStreamScore(n,i,o)})),o=i[0];return i.forEach((function(e){void 0!==e&&-1!==e&&(void 0===o||-1===o?o=e:o>e&&(o=e))})),void 0!==o&&(r=o),r},t.convert2Quality=function(e){return-1===e?"0":e>=90?"1":e>=80&&e<90?"2":e>=70&&e<80?"3":e>=60&&e<70?"4":e>=50&&e<60?"5":"6"},Object.defineProperty(t.prototype,"thresholds",{set:function(e){this._thresholds=e},enumerable:!1,configurable:!0}),t.prototype.getStreamsNetworkStats=function(e){var t=this,r=[];return 0===e.length?r:r=e.map((function(e){var r,n,i,o,a=!1;switch(null===(i=e.connection)||void 0===i?void 0:i.state){case"connected":a=!0}var s=-1,c=-1,d=-1,u=null===(o=e.connection)||void 0===o?void 0:o.getLastStatsReport();if(u){var p=e.connection.getCurrentStatsReport();e.isLocal?(s=(r=t.computeUpStreamStats(u,p))[0],c=r[2],d=r[3]):(s=(n=t.computeDownStreamStats(u,p))[0],c=n[2],d=n[3])}return{isConnected:a,rtt:s,lossRate:c,bitrate:d}}))},t.prototype.evaluate=function(e,t,r){void 0===e&&(e=[]),void 0===t&&(t={isConnected:!1,bitrate:-1,lossRate:-1,rtt:-1}),void 0===r&&(r=40);var n=!1,i={isConnected:!1,bitrate:-1,lossRate:-1,rtt:-1};if(e.length>0){var o=!!e.find((function(e){return e.isConnected})),a=e.filter((function(e){return e.lossRate>=0})),s=-1;a.length>0&&(s=a.reduce((function(e,t){return e+t.lossRate}),0)/a.length);var c=e.filter((function(e){return e.rtt>=5})),d=-1;c.length>0&&(d=c.reduce((function(e,t){return e+t.rtt}),0)/c.length),o||-1!==s||-1!==d||(n=!0),i.isConnected=o,s>r&&(n=!0),i.lossRate=s,t.rtt>0?(d>t.rtt&&(n=!0),d>0&&(i.rtt=.8*t.rtt+.2*d)):i.rtt=d}return[n,i]},t}(i.EventEmitter);t.NetworkQualityEvaluator=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(0);n.__exportStar(r(97),t),n.__exportStar(r(98),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";r.r(t);var n={};r.r(n),r.d(n,"shimGetUserMedia",(function(){return b})),r.d(n,"shimGetDisplayMedia",(function(){return w})),r.d(n,"shimMediaStream",(function(){return S})),r.d(n,"shimOnTrack",(function(){return E})),r.d(n,"shimGetSendersWithDtmf",(function(){return R})),r.d(n,"shimGetStats",(function(){return T})),r.d(n,"shimSenderReceiverGetStats",(function(){return C})),r.d(n,"shimAddTrackRemoveTrackWithNative",(function(){return P})),r.d(n,"shimAddTrackRemoveTrack",(function(){return O})),r.d(n,"shimPeerConnection",(function(){return M})),r.d(n,"fixNegotiationNeeded",(function(){return k}));var i={};r.r(i),r.d(i,"shimGetUserMedia",(function(){return L})),r.d(i,"shimGetDisplayMedia",(function(){return N})),r.d(i,"shimPeerConnection",(function(){return x})),r.d(i,"shimReplaceTrack",(function(){return j}));var o={};r.r(o),r.d(o,"shimGetUserMedia",(function(){return D})),r.d(o,"shimGetDisplayMedia",(function(){return F})),r.d(o,"shimOnTrack",(function(){return U})),r.d(o,"shimPeerConnection",(function(){return V})),r.d(o,"shimSenderGetStats",(function(){return B})),r.d(o,"shimReceiverGetStats",(function(){return G})),r.d(o,"shimRemoveStream",(function(){return H})),r.d(o,"shimRTCDataChannel",(function(){return Y})),r.d(o,"shimAddTransceiver",(function(){return W})),r.d(o,"shimGetParameters",(function(){return J})),r.d(o,"shimCreateOffer",(function(){return z})),r.d(o,"shimCreateAnswer",(function(){return q}));var a={};r.r(a),r.d(a,"shimLocalStreamsAPI",(function(){return K})),r.d(a,"shimRemoteStreamsAPI",(function(){return X})),r.d(a,"shimCallbacksAPI",(function(){return Q})),r.d(a,"shimGetUserMedia",(function(){return $})),r.d(a,"shimConstraints",(function(){return Z})),r.d(a,"shimRTCIceServerUrls",(function(){return ee})),r.d(a,"shimTrackEventTransceiver",(function(){return te})),r.d(a,"shimCreateOfferLegacy",(function(){return re})),r.d(a,"shimAudioContext",(function(){return ne}));var s={};r.r(s),r.d(s,"shimRTCIceCandidate",(function(){return ae})),r.d(s,"shimMaxMessageSize",(function(){return se})),r.d(s,"shimSendThrowTypeError",(function(){return ce})),r.d(s,"shimConnectionState",(function(){return de})),r.d(s,"removeExtmapAllowMixed",(function(){return ue})),r.d(s,"shimAddIceCandidateNullOrEmpty",(function(){return pe}));let c=!0,d=!0;function u(e,t,r){const n=e.match(t);return n&&n.length>=r&&parseInt(n[r],10)}function p(e,t,r){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,i=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return i.apply(this,arguments);const o=e=>{const t=r(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,o),i.apply(this,[e,o])};const o=n.removeEventListener;n.removeEventListener=function(e,r){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(r))return o.apply(this,arguments);const n=this._eventMap[t].get(r);return this._eventMap[t].delete(r),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,n])},Object.defineProperty(n,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function l(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(c=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function f(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(d=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function h(){if("object"==typeof window){if(c)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function m(e,t){d&&console.warn(e+" is deprecated, please use "+t+" instead.")}function v(e){return"[object Object]"===Object.prototype.toString.call(e)}function g(e){return v(e)?Object.keys(e).reduce((function(t,r){const n=v(e[r]),i=n?g(e[r]):e[r],o=n&&!Object.keys(i).length;return void 0===i||o?t:Object.assign(t,{[r]:i})}),{}):e}function _(e,t,r){const n=r?"outbound-rtp":"inbound-rtp",i=new Map;if(null===t)return i;const o=[];return e.forEach(e=>{"track"===e.type&&e.trackIdentifier===t.id&&o.push(e)}),o.forEach(t=>{e.forEach(r=>{r.type===n&&r.trackId===t.id&&function e(t,r,n){r&&!n.has(r.id)&&(n.set(r.id,r),Object.keys(r).forEach(i=>{i.endsWith("Id")?e(t,t.get(r[i]),n):i.endsWith("Ids")&&r[i].forEach(r=>{e(t,t.get(r),n)})}))}(e,r,i)})}),i}const y=h;function b(e,t){const r=e&&e.navigator;if(!r.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach(r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;const n="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[i("min",r)]=n.ideal,t.optional.push(e),(e={})[i("max",r)]=n.ideal,t.optional.push(e)):(e[i("",r)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[i("",r)]=n.exact):["min","max"].forEach(e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,r)]=n[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let o=e.video.facingMode;o=o&&("object"==typeof o?o:{ideal:o});const a=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!r.mediaDevices.getSupportedConstraints||!r.mediaDevices.getSupportedConstraints().facingMode||a)){let t;if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?t=["back","rear"]:"user"!==o.exact&&"user"!==o.ideal||(t=["front"]),t)return r.mediaDevices.enumerateDevices().then(r=>{let a=(r=r.filter(e=>"videoinput"===e.kind)).find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!a&&r.length&&t.includes("back")&&(a=r[r.length-1]),a&&(e.video.deviceId=o.exact?{exact:a.deviceId}:{ideal:a.deviceId}),e.video=n(e.video),y("chrome: "+JSON.stringify(e)),i(e)})}e.video=n(e.video)}return y("chrome: "+JSON.stringify(e)),i(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=function(e,t,n){i(e,e=>{r.webkitGetUserMedia(e,t,e=>{n&&n(o(e))})})}.bind(r),r.mediaDevices.getUserMedia){const e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(t){return i(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException("","NotFoundError");return e},e=>Promise.reject(o(e))))}}}function w(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&("function"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(r){return t(r).then(t=>{const n=r.video&&r.video.width,i=r.video&&r.video.height,o=r.video&&r.video.frameRate;return r.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:o||3}},n&&(r.video.mandatory.maxWidth=n),i&&(r.video.mandatory.maxHeight=i),e.navigator.mediaDevices.getUserMedia(r)})}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}function S(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function E(e){if("object"!=typeof e||!e.RTCPeerConnection||"ontrack"in e.RTCPeerConnection.prototype)p(e,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e));else{Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.track.id):{track:r.track};const i=new Event("track");i.track=r.track,i.receiver=n,i.transceiver={receiver:n},i.streams=[t.stream],this.dispatchEvent(i)}),t.stream.getTracks().forEach(r=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.id):{track:r};const i=new Event("track");i.track=r,i.receiver=n,i.transceiver={receiver:n},i.streams=[t.stream],this.dispatchEvent(i)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}}function R(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let i=r.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach(e=>{const t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function T(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,n]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof e))return t.apply(this,[]);const i=function(e){const t={};return e.result().forEach(e=>{const r={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach(t=>{r[t]=e.stat(t)}),t[r.id]=r}),t},o=function(e){return new Map(Object.keys(e).map(t=>[t,e[t]]))};if(arguments.length>=2){const n=function(e){r(o(i(e)))};return t.apply(this,[n,e])}return new Promise((e,r)=>{t.apply(this,[function(t){e(o(i(t)))},r])}).then(r,n)}}function C(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>_(t,e.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),p(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>_(t,e.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype&&"getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,r,n;return this.getSenders().forEach(r=>{r.track===e&&(t?n=!0:t=r)}),this.getReceivers().forEach(t=>(t.track===e&&(r?n=!0:r=t),t.track===e)),n||t&&r?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():r?r.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function P(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(n)&&this._shimmedLocalStreams[r.id].push(n):this._shimmedLocalStreams[r.id]=[r,n],n};const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")});const t=this.getSenders();r.apply(this,arguments);const n=this.getSenders().filter(e=>-1===t.indexOf(e));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{const r=this._shimmedLocalStreams[t].indexOf(e);-1!==r&&this._shimmedLocalStreams[t].splice(r,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]}),i.apply(this,arguments)}}function O(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return P(e);const r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[t.id]){const r=new e.MediaStream(t.getTracks());this._streams[t.id]=r,this._reverseStreams[r.id]=t,t=r}n.apply(this,[t])};const i=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(i.id,"g"),n.id)}),new RTCSessionDescription({type:t.type,sdp:r})}function a(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const n=e._reverseStreams[t],i=e._streams[n.id];r=r.replace(new RegExp(n.id,"g"),i.id)}),new RTCSessionDescription({type:t.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find(e=>e===t))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");const i=this.getSenders().find(e=>e.track===t);if(i)throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const o=this._streams[r.id];if(o)o.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const n=new e.MediaStream([t]);this._streams[r.id]=n,this._reverseStreams[n.id]=r,this.addStream(n)}return this.getSenders().find(e=>e.track===t)},["createOffer","createAnswer"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?r.apply(this,[t=>{const r=o(this,t);e[0].apply(null,[r])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):r.apply(this,arguments).then(e=>o(this,e))}};e.RTCPeerConnection.prototype[t]=n[t]}));const s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=a(this,arguments[0]),s.apply(this,arguments)):s.apply(this,arguments)};const c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=c.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(!(e._pc===this))throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach(r=>{this._streams[r].getTracks().find(t=>e.track===t)&&(t=this._streams[r])}),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function M(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function k(e,t){p(e,"negotiationneeded",e=>{const r=e.target;if(!(t.version<72||r.getConfiguration&&"plan-b"===r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e})}var I=r(50),A=r.n(I);function L(e){const t=e&&e.navigator,r=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(e){return r(e).catch(e=>Promise.reject(function(e){return{name:{PermissionDeniedError:"NotAllowedError"}[e.name]||e.name,message:e.message,constraint:e.constraint,toString(){return this.name}}}(e)))}}function N(e){"getDisplayMedia"in e.navigator&&e.navigator.mediaDevices&&(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=e.navigator.getDisplayMedia.bind(e.navigator)))}function x(e,t){if(e.RTCIceGatherer&&(e.RTCIceCandidate||(e.RTCIceCandidate=function(e){return e}),e.RTCSessionDescription||(e.RTCSessionDescription=function(e){return e}),t.version<15025)){const t=Object.getOwnPropertyDescriptor(e.MediaStreamTrack.prototype,"enabled");Object.defineProperty(e.MediaStreamTrack.prototype,"enabled",{set(e){t.set.call(this,e);const r=new Event("enabled");r.enabled=e,this.dispatchEvent(r)}})}!e.RTCRtpSender||"dtmf"in e.RTCRtpSender.prototype||Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=new e.RTCDtmfSender(this):"video"===this.track.kind&&(this._dtmf=null)),this._dtmf}}),e.RTCDtmfSender&&!e.RTCDTMFSender&&(e.RTCDTMFSender=e.RTCDtmfSender);const r=A()(e,t.version);e.RTCPeerConnection=function(e){return e&&e.iceServers&&(e.iceServers=function(e,t){let r=!1;return(e=JSON.parse(JSON.stringify(e))).filter(e=>{if(e&&(e.urls||e.url)){let t=e.urls||e.url;e.url&&!e.urls&&m("RTCIceServer.url","RTCIceServer.urls");const n="string"==typeof t;return n&&(t=[t]),t=t.filter(e=>{if(0===e.indexOf("stun:"))return!1;const t=e.startsWith("turn")&&!e.startsWith("turn:[")&&e.includes("transport=udp");return t&&!r?(r=!0,!0):t&&!r}),delete e.url,e.urls=n?t[0]:t,!!t.length}})}(e.iceServers,t.version),h("ICE servers after filtering:",e.iceServers)),new r(e)},e.RTCPeerConnection.prototype=r.prototype}function j(e){!e.RTCRtpSender||"replaceTrack"in e.RTCRtpSender.prototype||(e.RTCRtpSender.prototype.replaceTrack=e.RTCRtpSender.prototype.setTrack)}function D(e,t){const r=e&&e.navigator,n=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,n){m("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),r.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){const e=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},t=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(r=JSON.parse(JSON.stringify(r)),e(r.audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),t(r)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const r=t.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(r=JSON.parse(JSON.stringify(r)),e(r,"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[r])}}}}function F(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!r||!r.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})}function U(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function V(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const r=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,i,o]=arguments;return n.apply(this,[e||null]).then(e=>{if(t.version<53&&!i)try{e.forEach(e=>{e.type=r[e.type]||e.type})}catch(t){if("TypeError"!==t.name)throw t;e.forEach((t,n)=>{e.set(n,Object.assign({},t,{type:r[t.type]||t.type}))})}return e}).then(i,o)}}function B(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function G(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),p(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function H(e){!e.RTCPeerConnection||"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){m("removeStream","removeTrack"),this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function Y(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function W(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];const e=arguments[1],r=e&&"sendEncodings"in e;r&&e.sendEncodings.forEach(e=>{if("rid"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.")}if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});const n=t.apply(this,arguments);if(r){const{sender:t}=n,r=t.getParameters();"encodings"in r&&(1!==r.encodings.length||0!==Object.keys(r.encodings[0]).length)||(r.encodings=e.sendEncodings,t.sendEncodings=e.sendEncodings,this.setParametersPromises.push(t.setParameters(r).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return n})}function J(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function z(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function q(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function K(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(r=>t.call(this,r,e)),e.getVideoTracks().forEach(r=>t.call(this,r,e))},e.RTCPeerConnection.prototype.addTrack=function(e,...r){return r&&r.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const r=e.getTracks();this.getSenders().forEach(e=>{r.includes(e.track)&&this.removeTrack(e)})})}}function X(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)})})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const r=new Event("addstream");r.stream=t,e.dispatchEvent(r)})}),t.apply(e,arguments)}}}function Q(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,r=t.createOffer,n=t.createAnswer,i=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){const r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i};let s=function(e,t,r){const n=i.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n};t.setLocalDescription=s,s=function(e,t,r){const n=o.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.setRemoteDescription=s,s=function(e,t,r){const n=a.apply(this,[e]);return r?(n.then(t,r),Promise.resolve()):n},t.addIceCandidate=s}function $(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,r=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>r(Z(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,n){t.mediaDevices.getUserMedia(e).then(r,n)}.bind(t))}function Z(e){return e&&void 0!==e.video?Object.assign({},e,{video:g(e.video)}):e}function ee(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){const t=[];for(let r=0;r<e.iceServers.length;r++){let n=e.iceServers[r];!n.hasOwnProperty("urls")&&n.hasOwnProperty("url")?(m("RTCIceServer.url","RTCIceServer.urls"),(n=JSON.parse(JSON.stringify(n))).urls=n.url,delete n.url,t.push(n)):t.push(e.iceServers[r])}e.iceServers=t}return new t(e,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function te(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function re(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find(e=>"audio"===e.receiver.track.kind);!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio"),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const r=this.getTransceivers().find(e=>"video"===e.receiver.track.kind);!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video")}return t.apply(this,arguments)}}function ne(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var ie=r(11),oe=r.n(ie);function ae(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;const t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substr(2)),e.candidate&&e.candidate.length){const r=new t(e),n=oe.a.parseCandidate(e.candidate),i=Object.assign(r,n);return i.toJSON=function(){return{candidate:i.candidate,sdpMid:i.sdpMid,sdpMLineIndex:i.sdpMLineIndex,usernameFragment:i.usernameFragment}},i}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,p(e,"icecandidate",t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t))}function se(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const r=function(e){if(!e||!e.sdp)return!1;const t=oe.a.splitSections(e.sdp);return t.shift(),t.some(e=>{const t=oe.a.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")})},n=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const r=parseInt(t[1],10);return r!=r?-1:r},i=function(e){let r=65536;return"firefox"===t.browser&&(r=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),r},o=function(e,r){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const i=oe.a.matchPrefix(e.sdp,"a=max-message-size:");return i.length>0?n=parseInt(i[0].substr(19),10):"firefox"===t.browser&&-1!==r&&(n=2147483637),n},a=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(r(arguments[0])){const e=n(arguments[0]),t=i(e),r=o(arguments[0],e);let a;a=0===t&&0===r?Number.POSITIVE_INFINITY:0===t||0===r?Math.max(t,r):Math.min(t,r);const s={};Object.defineProperty(s,"maxMessageSize",{get:()=>a}),this._sctp=s}return a.apply(this,arguments)}}function ce(e){if(!(e.RTCPeerConnection&&"createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const r=e.send;e.send=function(){const n=arguments[0],i=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&i>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}const r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=r.apply(this,arguments);return t(e,this),e},p(e,"datachannel",e=>(t(e.channel,e.target),e))}function de(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(e=>{const r=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const r=new Event("connectionstatechange",e);t.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function ue(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t.version>=605)return;const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const r=t.sdp.split("\n").filter(e=>"a=extmap-allow-mixed"!==e.trim()).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:r}):t.sdp=r}return r.apply(this,arguments)}}function pe(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}const le=function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0}){const r=h,c=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.mozGetUserMedia)t.browser="firefox",t.version=u(r.userAgent,/Firefox\/(\d+)\./,1);else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection&&!e.RTCIceGatherer)t.browser="chrome",t.version=u(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(r.mediaDevices&&r.userAgent.match(/Edge\/(\d+).(\d+)$/))t.browser="edge",t.version=u(r.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=u(r.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}(e),d={browserDetails:c,commonShim:s,extractVersion:u,disableLog:l,disableWarnings:f};switch(c.browser){case"chrome":if(!n||!M||!t.shimChrome)return r("Chrome shim is not included in this adapter release."),d;if(null===c.version)return r("Chrome shim can not determine version, not shimming."),d;r("adapter.js shimming chrome."),d.browserShim=n,pe(e,c),b(e,c),S(e),M(e,c),E(e),O(e,c),R(e),T(e),C(e),k(e,c),ae(e),de(e),se(e,c),ce(e),ue(e,c);break;case"firefox":if(!o||!V||!t.shimFirefox)return r("Firefox shim is not included in this adapter release."),d;r("adapter.js shimming firefox."),d.browserShim=o,pe(e,c),D(e,c),V(e,c),U(e),H(e),B(e),G(e),Y(e),W(e),J(e),z(e),q(e),ae(e),de(e),se(e,c),ce(e);break;case"edge":if(!i||!x||!t.shimEdge)return r("MS edge shim is not included in this adapter release."),d;r("adapter.js shimming edge."),d.browserShim=i,L(e),N(e),x(e,c),j(e),se(e,c),ce(e);break;case"safari":if(!a||!t.shimSafari)return r("Safari shim is not included in this adapter release."),d;r("adapter.js shimming safari."),d.browserShim=a,pe(e,c),ee(e),re(e),Q(e),K(e),X(e),te(e),$(e),ne(e),ae(e),se(e,c),ce(e),ue(e,c);break;default:r("Unsupported browser!")}return d}({window:"undefined"==typeof window?void 0:window});t.default=le}])}));