@opentok/client 2.21.7 → 2.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license OpenTok.js 2.21.7 8db653cdf
2
+ * @license OpenTok.js 2.22.1 aec2e16be
3
3
  *
4
4
  * Copyright (c) 2010-2022 TokBox, Inc.
5
5
  * Subject to the applicable Software Development Kit (SDK) License Agreement:
6
6
  * https://www.vonage.com/legal/communications-apis/terms-of-use/
7
7
  *
8
- * Date: Tue, 01 Feb 2022 03:14:35 GMT
8
+ * Date: Tue, 22 Mar 2022 22:23:24 GMT
9
9
  */
10
10
 
11
11
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -1368,6 +1368,7 @@ var _global, _global$navigator, _global2, _global2$process, _global2$process$ver
1368
1368
  * @property isChromiumEdge Whether the client is isChromiumEdge (version >= 79)
1369
1369
  * @property isLegacyEdge Whether the client is isLegacyEdge (version < 79)
1370
1370
  * @property isLegacyElectron Whether the client is isLegacyElectron (version < 2)
1371
+ * @property isLegacyChrome Whether the client is isLegacyChrome (version < 50)
1371
1372
  * @property isAndroid Whether the client is an Android device
1372
1373
  * @property protocol The protocol property of the URL
1373
1374
  * @property hostName The domain of the URL
@@ -1462,6 +1463,7 @@ if (typeof ((_global2 = (typeof window !== undefined ? window : global)) == null
1462
1463
 
1463
1464
  env.isLegacyEdge = env.name === 'Edge' && env.version < 79;
1464
1465
  env.isLegacyElectron = env.isElectron && env.electronVersion < 2;
1466
+ env.isLegacyChrome = env.isChrome && env.version < 50;
1465
1467
  env.isAndroid = env.userAgent.indexOf('android') > -1;
1466
1468
  env.userAgent = (typeof window !== undefined ? window : global).navigator.userAgent;
1467
1469
  env.protocol = (typeof window !== undefined ? window : global).location.protocol;
@@ -2391,7 +2393,7 @@ module.exports = function otErrorFactory(deps) {
2391
2393
  /* 12 */
2392
2394
  /***/ (function(module, exports, __webpack_require__) {
2393
2395
 
2394
- module.exports = __webpack_require__(600);
2396
+ module.exports = __webpack_require__(601);
2395
2397
 
2396
2398
 
2397
2399
  /***/ }),
@@ -5060,7 +5062,7 @@ module.exports = function (deps) {
5060
5062
 
5061
5063
  const getNativeEnumerateDevices = deps.getNativeEnumerateDevices || __webpack_require__(286)();
5062
5064
 
5063
- const getNativeMediaDevices = deps.getNativeMediaDevices || __webpack_require__(624)();
5065
+ const getNativeMediaDevices = deps.getNativeMediaDevices || __webpack_require__(625)();
5064
5066
 
5065
5067
  const _ref = deps.currentAudioOutputDevice || __webpack_require__(105),
5066
5068
  getCurrentAudioOutputDeviceId = _ref.getCurrentAudioOutputDeviceId;
@@ -6792,7 +6794,7 @@ const _require = __webpack_require__(138),
6792
6794
  /** @type builtInConfig */
6793
6795
 
6794
6796
 
6795
- const builtInConfig = cloneDeep({"version":"v2.21.7","buildHash":"8db653cdf","minimumVersion":{"firefox":52,"chrome":49},"debug":"false","websiteURL":"http://www.tokbox.com","configURL":"https://config.opentok.com","ipWhitelistConfigURL":"","cdnURL":"https://static.opentok.com","loggingURL":"https://hlg.tokbox.com/prod","apiURL":"https://anvil.opentok.com"});
6797
+ const builtInConfig = cloneDeep({"version":"v2.22.1","buildHash":"aec2e16be","minimumVersion":{"firefox":52,"chrome":49},"debug":"false","websiteURL":"http://www.tokbox.com","configURL":"https://config.opentok.com","ipWhitelistConfigURL":"","cdnURL":"https://static.opentok.com","loggingURL":"https://hlg.tokbox.com/prod","apiURL":"https://anvil.opentok.com"});
6796
6798
  const whitelistAllowedRuntimeProperties = pick(['apiURL', 'assetURL', 'cdnURL', 'sessionInfoOverrides', 'loggingURL']);
6797
6799
  const liveConfigMap = {
6798
6800
  apiUrl: 'apiURL',
@@ -8259,7 +8261,7 @@ exports.once = once(() => exports.check());
8259
8261
  /* 61 */
8260
8262
  /***/ (function(module, exports, __webpack_require__) {
8261
8263
 
8262
- var createFind = __webpack_require__(596),
8264
+ var createFind = __webpack_require__(597),
8263
8265
  findIndex = __webpack_require__(272);
8264
8266
 
8265
8267
  /**
@@ -8909,7 +8911,7 @@ module.exports = IntervalRunner;
8909
8911
 
8910
8912
  const pick = __webpack_require__(47);
8911
8913
 
8912
- const mapValues = __webpack_require__(639);
8914
+ const mapValues = __webpack_require__(640);
8913
8915
 
8914
8916
  const isObject = __webpack_require__(9);
8915
8917
 
@@ -10027,33 +10029,33 @@ module.exports = function PeerConnectionFactory(deps) {
10027
10029
  deps = {};
10028
10030
  }
10029
10031
 
10030
- const hasValidPeerConnection = deps.hasValidPeerConnection || __webpack_require__(599);
10032
+ const hasValidPeerConnection = deps.hasValidPeerConnection || __webpack_require__(600);
10031
10033
 
10032
10034
  const applySdpTransform = deps.applySdpTransform || __webpack_require__(155);
10033
10035
 
10034
- const createPeerConnection = deps.createPeerConnection || __webpack_require__(602);
10036
+ const createPeerConnection = deps.createPeerConnection || __webpack_require__(603);
10035
10037
 
10036
10038
  const env = deps.env || __webpack_require__(2);
10037
10039
 
10038
- const sdpTransformDefaults = deps.sdpTransformDefaults || __webpack_require__(604);
10040
+ const sdpTransformDefaults = deps.sdpTransformDefaults || __webpack_require__(605);
10039
10041
 
10040
10042
  const getStatsAdapter = deps.getStatsAdapter || __webpack_require__(274);
10041
10043
 
10042
10044
  const getRtcStatsReportAdapter = deps.getRtcStatsReportAdapter || __webpack_require__(277);
10043
10045
 
10044
- const getSynchronizationSources = deps.getSynchronizationSources || __webpack_require__(608);
10046
+ const getSynchronizationSources = deps.getSynchronizationSources || __webpack_require__(609);
10045
10047
 
10046
- const IceCandidateProcessor = deps.IceCandidateProcessor || __webpack_require__(609);
10048
+ const IceCandidateProcessor = deps.IceCandidateProcessor || __webpack_require__(610);
10047
10049
 
10048
10050
  const createLog = deps.logging || __webpack_require__(1);
10049
10051
 
10050
- const offerProcessor = deps.offerProcessor || __webpack_require__(611);
10052
+ const offerProcessor = deps.offerProcessor || __webpack_require__(612);
10051
10053
 
10052
- const PeerConnectionChannels = deps.PeerConnectionChannels || __webpack_require__(613);
10054
+ const PeerConnectionChannels = deps.PeerConnectionChannels || __webpack_require__(614);
10053
10055
 
10054
- const subscribeProcessor = deps.subscribeProcessor || __webpack_require__(615);
10056
+ const subscribeProcessor = deps.subscribeProcessor || __webpack_require__(616);
10055
10057
 
10056
- const _ref = deps.changeMediaDirection || __webpack_require__(616),
10058
+ const _ref = deps.changeMediaDirection || __webpack_require__(617),
10057
10059
  changeMediaDirectionToInactive = _ref.changeMediaDirectionToInactive,
10058
10060
  changeMediaDirectionToRecvOnly = _ref.changeMediaDirectionToRecvOnly;
10059
10061
 
@@ -10061,9 +10063,9 @@ module.exports = function PeerConnectionFactory(deps) {
10061
10063
 
10062
10064
  const windowMock = deps.global || (typeof window !== undefined ? window : global);
10063
10065
 
10064
- const debounce = deps.debounce || __webpack_require__(620);
10066
+ const debounce = deps.debounce || __webpack_require__(621);
10065
10067
 
10066
- const needsToSwapH264Profiles = deps.needsToSwapH264Profiles || __webpack_require__(622).once;
10068
+ const needsToSwapH264Profiles = deps.needsToSwapH264Profiles || __webpack_require__(623).once;
10067
10069
 
10068
10070
  const futureIsPeerConnectionValid = () => hasValidPeerConnection(windowMock.RTCPeerConnection);
10069
10071
 
@@ -14296,6 +14298,10 @@ const logOnce = once(() => {
14296
14298
  }
14297
14299
  });
14298
14300
  });
14301
+ const logUserAgentParsingOnce = once(() => {
14302
+ __webpack_require__(587)(); // eslint-disable-line global-require
14303
+
14304
+ });
14299
14305
  let isDialogOpen = false;
14300
14306
  module.exports = {
14301
14307
  /**
@@ -14315,6 +14321,7 @@ module.exports = {
14315
14321
  logging.debug('OT.checkSystemRequirements()'); // We use Number here to coerce a Boolean to 1 or 0
14316
14322
 
14317
14323
  const systemRequirementsMet = Number(isWebSocketSupported && hasOpenTokSupport());
14324
+ logUserAgentParsingOnce();
14318
14325
 
14319
14326
  if (!systemRequirementsMet) {
14320
14327
  logOnce();
@@ -14379,9 +14386,9 @@ var _interopRequireDefault = __webpack_require__(3);
14379
14386
 
14380
14387
  var _inheritsLoose2 = _interopRequireDefault(__webpack_require__(59));
14381
14388
 
14382
- var _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(587));
14389
+ var _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(588));
14383
14390
 
14384
- const pFinally = __webpack_require__(591);
14391
+ const pFinally = __webpack_require__(592);
14385
14392
 
14386
14393
  let TimeoutError = /*#__PURE__*/function (_Error) {
14387
14394
  (0, _inheritsLoose2.default)(TimeoutError, _Error);
@@ -14726,11 +14733,11 @@ module.exports = function screenSharingFactory(deps) {
14726
14733
 
14727
14734
  const chromeExtensionHelper = deps.chromeExtensionHelper || __webpack_require__(280)();
14728
14735
 
14729
- const electronExtensionHelper = deps.electronExtensionHelper || __webpack_require__(627)();
14736
+ const electronExtensionHelper = deps.electronExtensionHelper || __webpack_require__(628)();
14730
14737
 
14731
14738
  const Errors = deps.Errors || __webpack_require__(4);
14732
14739
 
14733
- const firefoxExtensionHelper = deps.firefoxExtensionHelper || __webpack_require__(629);
14740
+ const firefoxExtensionHelper = deps.firefoxExtensionHelper || __webpack_require__(630);
14734
14741
 
14735
14742
  const getDisplayMediaExtensionHelper = deps.getDisplayMediaExtensionHelper || __webpack_require__(287);
14736
14743
 
@@ -15122,13 +15129,13 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(18));
15122
15129
  /* eslint-disable no-underscore-dangle */
15123
15130
  const eventing = __webpack_require__(6);
15124
15131
 
15125
- const hasPassiveCapability = __webpack_require__(643);
15132
+ const hasPassiveCapability = __webpack_require__(644);
15126
15133
 
15127
15134
  const defaultLogging = __webpack_require__(1)('WidgetView');
15128
15135
 
15129
15136
  const DefaultOTHelpers = __webpack_require__(5);
15130
15137
 
15131
- const defaultVersionGreaterThan = __webpack_require__(644);
15138
+ const defaultVersionGreaterThan = __webpack_require__(645);
15132
15139
 
15133
15140
  const defaultEnv = __webpack_require__(2);
15134
15141
 
@@ -15138,15 +15145,15 @@ const _require = __webpack_require__(165),
15138
15145
 
15139
15146
  const unblockAudio = __webpack_require__(166);
15140
15147
 
15141
- const waitForVideoResolution = __webpack_require__(646);
15148
+ const waitForVideoResolution = __webpack_require__(647);
15142
15149
 
15143
- const waitForVideoToBePlaying = __webpack_require__(647);
15150
+ const defaultWaitForVideoToBePlaying = __webpack_require__(648);
15144
15151
 
15145
- const fixMini = __webpack_require__(648);
15152
+ const fixMini = __webpack_require__(649);
15146
15153
 
15147
- const getOrCreateContainer = __webpack_require__(649);
15154
+ const getOrCreateContainer = __webpack_require__(650);
15148
15155
 
15149
- const ensureCSSUnit = __webpack_require__(650);
15156
+ const ensureCSSUnit = __webpack_require__(651);
15150
15157
 
15151
15158
  const eventHelper = __webpack_require__(62);
15152
15159
 
@@ -15171,6 +15178,8 @@ function WidgetViewFactory(_temp) {
15171
15178
  OTHelpers = _ref$OTHelpers === void 0 ? DefaultOTHelpers : _ref$OTHelpers,
15172
15179
  _ref$versionGreaterTh = _ref.versionGreaterThan,
15173
15180
  versionGreaterThan = _ref$versionGreaterTh === void 0 ? defaultVersionGreaterThan : _ref$versionGreaterTh,
15181
+ _ref$waitForVideoToBe = _ref.waitForVideoToBePlaying,
15182
+ waitForVideoToBePlaying = _ref$waitForVideoToBe === void 0 ? defaultWaitForVideoToBePlaying : _ref$waitForVideoToBe,
15174
15183
  _ref$VideoElementFaca = _ref.VideoElementFacade,
15175
15184
  VideoElementFacade = _ref$VideoElementFaca === void 0 ? DefaultVideoElementFacadeFactory() : _ref$VideoElementFaca,
15176
15185
  _ref$env = _ref.env,
@@ -15182,6 +15191,13 @@ function WidgetViewFactory(_temp) {
15182
15191
  const supportsPassive = hasPassiveCapability({
15183
15192
  window: (typeof window !== undefined ? window : global)
15184
15193
  });
15194
+
15195
+ const throwIfBindCancelled = cancellation => {
15196
+ if (cancellation.isCanceled()) {
15197
+ logging.debug('bindVideo bailing due to cancellation');
15198
+ throw new CancellationError('CANCEL');
15199
+ }
15200
+ };
15185
15201
  /**
15186
15202
  * WidgetView - A standard abstraction used by Subscriber and Publisher for
15187
15203
  * displaying the video and it's UI.
@@ -15192,6 +15208,7 @@ function WidgetViewFactory(_temp) {
15192
15208
  * @param {Object} properties
15193
15209
  */
15194
15210
 
15211
+
15195
15212
  let WidgetView = /*#__PURE__*/function () {
15196
15213
  /** @type {typeVideoElementFacade} */
15197
15214
 
@@ -15384,200 +15401,227 @@ function WidgetViewFactory(_temp) {
15384
15401
  if (this._videoElementFacade) {
15385
15402
  this._videoElementFacade._pauseAndPlay();
15386
15403
  }
15387
- }
15388
- /**
15389
- * Bind a video to a VideoElementFacade
15390
- *
15391
- * @param {MediaStream} webRTCStream the MediaStream to bind
15392
- * @param {Object} options
15393
- * @param {Function} options.error Error callback
15394
- * @param {Float} options.audioVolume The initial audioVolume
15395
- * @param {Boolean} options.muted The initial mute state
15396
- * @param {String} [options.fallbackText] The default fallbackText
15397
- *
15398
- * @return {Promise<undefined>}
15399
- */
15400
- ;
15401
-
15402
- _proto.bindVideo =
15403
- /*#__PURE__*/
15404
- function () {
15405
- var _bindVideo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(webRTCStream, _ref3) {
15406
- var audioVolume, muted, fallbackText, _inject, oldVideoFacade, tempContainer, cancellation, videoFacadeEvents, whenVideoPlaying, subscribingToAudioOnlyStream;
15407
-
15408
- return _regenerator.default.wrap(function _callee$(_context) {
15409
- while (1) switch (_context.prev = _context.next) {
15410
- case 0:
15411
- audioVolume = _ref3.audioVolume, muted = _ref3.muted, fallbackText = _ref3.fallbackText, _inject = _ref3._inject;
15412
- logging.debug('bindVideo ', {
15413
- webRTCStream
15414
- });
15415
- oldVideoFacade = this._videoElementFacade;
15416
- tempContainer = document.createElement('div');
15417
-
15418
- if (this._cancelBind) {
15419
- logging.debug('Cancelling last bindVideo request');
15420
-
15421
- this._cancelBind.cancel();
15422
- }
15423
-
15424
- this._cancelBind = new Cancellation();
15425
- cancellation = this._cancelBind;
15426
- this.once('destroy', () => cancellation.cancel());
15427
- this._videoElementFacade = new WidgetView.VideoElementFacade({
15428
- defaultAudioVolume: parseFloat(audioVolume, 100),
15429
- fallbackText,
15430
- fitMode: this._fitMode,
15431
- _inject,
15432
- muted,
15433
- widgetType: this._widgetType
15434
- });
15435
- videoFacadeEvents = eventHelper(this._videoElementFacade);
15436
-
15437
- if (this._videoFacadeEvents) {
15438
- logging.debug('Remove event listeners from old video facade');
15404
+ };
15439
15405
 
15440
- this._videoFacadeEvents.removeAll();
15441
- }
15406
+ _proto._createVideoElementFacade = function _createVideoElementFacade(_ref3) {
15407
+ let _inject = _ref3._inject,
15408
+ audioVolume = _ref3.audioVolume,
15409
+ fallbackText = _ref3.fallbackText,
15410
+ muted = _ref3.muted;
15411
+ this._videoElementFacade = new VideoElementFacade({
15412
+ defaultAudioVolume: parseFloat(audioVolume),
15413
+ fallbackText,
15414
+ fitMode: this._fitMode,
15415
+ _inject,
15416
+ muted,
15417
+ widgetType: this._widgetType
15418
+ });
15419
+ const videoFacadeEvents = eventHelper(this._videoElementFacade);
15420
+ this._videoFacadeEvents = videoFacadeEvents;
15421
+ videoFacadeEvents.on('error', () => {
15422
+ this.trigger('error');
15423
+ });
15424
+ videoFacadeEvents.on('videoDimensionsChanged', (oldValue, newValue) => {
15425
+ this.trigger('videoDimensionsChanged', oldValue, newValue);
15426
+ });
15427
+ videoFacadeEvents.on('mediaStopped', track => {
15428
+ this.trigger('mediaStopped', track);
15429
+ });
15430
+ videoFacadeEvents.on('audioBlocked', () => this.trigger('audioBlocked'));
15431
+ videoFacadeEvents.on('audioUnblocked', () => this.trigger('audioUnblocked')); // makes the incoming audio streams take priority (will impact only FF OS for now)
15442
15432
 
15443
- this._videoFacadeEvents = videoFacadeEvents;
15444
- videoFacadeEvents.on('error', () => {
15445
- this.trigger('error');
15446
- });
15447
- videoFacadeEvents.on('videoDimensionsChanged', (oldValue, newValue) => {
15448
- this.trigger('videoDimensionsChanged', oldValue, newValue);
15449
- });
15450
- videoFacadeEvents.on('mediaStopped', track => {
15451
- this.trigger('mediaStopped', track);
15452
- });
15453
- videoFacadeEvents.on('audioBlocked', () => this.trigger('audioBlocked'));
15454
- videoFacadeEvents.on('audioUnblocked', () => this.trigger('audioUnblocked')); // Initialize the audio volume
15455
-
15456
- if (typeof audioVolume !== 'undefined') {
15457
- try {
15458
- this._videoElementFacade.setAudioVolume(audioVolume);
15459
- } catch (e) {
15460
- logging.warn(`bindVideo ${e}`);
15461
- }
15462
- } // makes the incoming audio streams take priority (will impact only FF OS for now)
15433
+ this._videoElementFacade.audioChannelType('telephony');
15463
15434
 
15435
+ logging.debug('Appending the video facade');
15464
15436
 
15465
- this._videoElementFacade.audioChannelType('telephony');
15437
+ this._videoElementFacade.appendTo(this._widgetContainer); // Initialize the audio volume
15466
15438
 
15467
- if (!oldVideoFacade) {
15468
- logging.debug('Appending the video facade');
15469
15439
 
15470
- this._videoElementFacade.appendTo(this._widgetContainer);
15471
- } else {
15472
- this._videoElementFacade.appendTo(tempContainer);
15473
- }
15440
+ if (typeof audioVolume !== 'undefined') {
15441
+ try {
15442
+ this._videoElementFacade.setAudioVolume(audioVolume);
15443
+ } catch (e) {
15444
+ logging.warn(`bindVideo ${e}`);
15445
+ }
15446
+ }
15447
+ };
15474
15448
 
15475
- _context.prev = 20;
15476
- _context.next = 23;
15449
+ _proto._bindToStream = /*#__PURE__*/function () {
15450
+ var _bindToStream2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(webRTCStream, cancellation) {
15451
+ return _regenerator.default.wrap(function _callee$(_context) {
15452
+ while (1) switch (_context.prev = _context.next) {
15453
+ case 0:
15454
+ _context.prev = 0;
15455
+ _context.next = 3;
15477
15456
  return this._videoElementFacade.bindToStream(webRTCStream);
15478
15457
 
15479
- case 23:
15480
- _context.next = 34;
15458
+ case 3:
15459
+ _context.next = 14;
15481
15460
  break;
15482
15461
 
15483
- case 25:
15484
- _context.prev = 25;
15485
- _context.t0 = _context["catch"](20);
15462
+ case 5:
15463
+ _context.prev = 5;
15464
+ _context.t0 = _context["catch"](0);
15486
15465
 
15487
15466
  if (!cancellation.isCanceled()) {
15488
- _context.next = 32;
15467
+ _context.next = 12;
15489
15468
  break;
15490
15469
  }
15491
15470
 
15492
15471
  logging.debug('Refusing to destroyVideo as bindVideo was cancelled');
15493
15472
  throw new CancellationError('CANCEL');
15494
15473
 
15495
- case 32:
15474
+ case 12:
15496
15475
  this.destroyVideo();
15497
15476
  throw _context.t0;
15498
15477
 
15499
- case 34:
15500
- if (!oldVideoFacade) {
15501
- if (this._videoElementFacade.domElement()) {
15502
- this.trigger('videoElementCreated', this._videoElementFacade.domElement());
15503
- }
15478
+ case 14:
15479
+ case "end":
15480
+ return _context.stop();
15481
+ }
15482
+ }, _callee, this, [[0, 5]]);
15483
+ }));
15504
15484
 
15505
- videoFacadeEvents.on('videoElementCreated', element => {
15506
- this.trigger('videoElementCreated', element);
15507
- });
15508
- }
15485
+ function _bindToStream(_x, _x2) {
15486
+ return _bindToStream2.apply(this, arguments);
15487
+ }
15509
15488
 
15510
- if (!cancellation.isCanceled()) {
15511
- _context.next = 38;
15512
- break;
15513
- }
15489
+ return _bindToStream;
15490
+ }();
15514
15491
 
15515
- logging.debug('bindVideo bailing due to cancellation');
15516
- throw new CancellationError('CANCEL');
15492
+ _proto._getNewBindCancellation = function _getNewBindCancellation() {
15493
+ if (this._cancelBind) {
15494
+ logging.debug('Cancelling last bindVideo request');
15517
15495
 
15518
- case 38:
15519
- whenVideoPlaying = waitForVideoToBePlaying(this._videoElementFacade, 5000);
15496
+ this._cancelBind.cancel();
15497
+ }
15498
+
15499
+ const cancellation = new Cancellation();
15500
+ this._cancelBind = cancellation;
15501
+ this.once('destroy', () => cancellation.cancel());
15502
+ return cancellation;
15503
+ };
15504
+
15505
+ _proto._triggerVideoElementCreated = function _triggerVideoElementCreated() {
15506
+ const triggerVideoElementCreated = element => {
15507
+ this.trigger('videoElementCreated', element);
15508
+
15509
+ if (this._insertDefaultUI) {
15510
+ OTHelpers.addClass(element, 'OT_video-element');
15511
+ }
15512
+ };
15513
+
15514
+ if (this._videoElementFacade.domElement()) {
15515
+ triggerVideoElementCreated(this._videoElementFacade.domElement());
15516
+ } else {
15517
+ this._videoFacadeEvents.on('videoElementCreated', element => {
15518
+ triggerVideoElementCreated(element);
15519
+ });
15520
+ }
15521
+ };
15522
+
15523
+ _proto._waitForVideoResolution = /*#__PURE__*/function () {
15524
+ var _waitForVideoResolution2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(webRTCStream) {
15525
+ var subscribingToAudioOnlyStream;
15526
+ return _regenerator.default.wrap(function _callee2$(_context2) {
15527
+ while (1) switch (_context2.prev = _context2.next) {
15528
+ case 0:
15520
15529
  subscribingToAudioOnlyStream = this.audioOnly() && this._widgetType === 'subscriber';
15521
15530
 
15522
15531
  if (!(!subscribingToAudioOnlyStream && webRTCStream.getVideoTracks().length > 0)) {
15523
- _context.next = 45;
15532
+ _context2.next = 6;
15524
15533
  break;
15525
15534
  }
15526
15535
 
15527
15536
  logging.debug('Waiting for correct resolution');
15528
- _context.next = 44;
15537
+ _context2.next = 5;
15529
15538
  return waitForVideoResolution(this._videoElementFacade, 5000);
15530
15539
 
15531
- case 44:
15540
+ case 5:
15532
15541
  logging.debug(`Resolution: ${this._videoElementFacade.videoWidth()}x${this._videoElementFacade.videoHeight()}`);
15533
15542
 
15534
- case 45:
15535
- logging.debug('Waiting for video to be playing');
15536
- _context.next = 48;
15537
- return whenVideoPlaying;
15538
-
15539
- case 48:
15540
- logging.debug('Video is playing');
15543
+ case 6:
15544
+ case "end":
15545
+ return _context2.stop();
15546
+ }
15547
+ }, _callee2, this);
15548
+ }));
15541
15549
 
15542
- if (!cancellation.isCanceled()) {
15543
- _context.next = 52;
15544
- break;
15545
- }
15550
+ function _waitForVideoResolution(_x3) {
15551
+ return _waitForVideoResolution2.apply(this, arguments);
15552
+ }
15546
15553
 
15547
- logging.debug('bindVideo bailing due to cancellation');
15548
- throw new CancellationError('CANCEL');
15554
+ return _waitForVideoResolution;
15555
+ }()
15556
+ /**
15557
+ * Bind a video to a VideoElementFacade
15558
+ *
15559
+ * @param {MediaStream} webRTCStream the MediaStream to bind
15560
+ * @param {Object} options
15561
+ * @param {Function} options.error Error callback
15562
+ * @param {Float} options.audioVolume The initial audioVolume
15563
+ * @param {Boolean} options.muted The initial mute state
15564
+ * @param {String} [options.fallbackText] The default fallbackText
15565
+ *
15566
+ * @return {Promise<undefined>}
15567
+ */
15568
+ ;
15549
15569
 
15550
- case 52:
15551
- if (oldVideoFacade) {
15552
- // overview of the transition
15553
- // add new one to dom, give it a second
15554
- // remove old one
15555
- if (this._videoElementFacade.domElement()) {
15556
- this.trigger('videoElementCreated', this._videoElementFacade.domElement());
15557
- }
15570
+ _proto.bindVideo =
15571
+ /*#__PURE__*/
15572
+ function () {
15573
+ var _bindVideo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(webRTCStream, _ref4) {
15574
+ var audioVolume, muted, fallbackText, _inject, hasExistingElement, cancellation, whenVideoPlaying;
15558
15575
 
15559
- videoFacadeEvents.on('videoElementCreated', element => {
15560
- this.trigger('videoElementCreated', element);
15576
+ return _regenerator.default.wrap(function _callee3$(_context3) {
15577
+ while (1) switch (_context3.prev = _context3.next) {
15578
+ case 0:
15579
+ audioVolume = _ref4.audioVolume, muted = _ref4.muted, fallbackText = _ref4.fallbackText, _inject = _ref4._inject;
15580
+ logging.debug('bindVideo ', {
15581
+ webRTCStream
15582
+ });
15583
+ hasExistingElement = !!this._videoElementFacade;
15584
+ cancellation = this._getNewBindCancellation();
15585
+
15586
+ if (!hasExistingElement) {
15587
+ this._createVideoElementFacade({
15588
+ _inject,
15589
+ audioVolume,
15590
+ fallbackText,
15591
+ muted
15561
15592
  });
15562
- logging.debug('Destroy the old video facade');
15563
- oldVideoFacade.destroy();
15564
- logging.debug('Insert the new video facade');
15565
-
15566
- this._videoElementFacade.appendTo(this._widgetContainer);
15567
15593
  }
15568
15594
 
15569
- if (this._insertDefaultUI !== false) {
15570
- OTHelpers.addClass(this._videoElementFacade.domElement(), 'OT_video-element');
15595
+ _context3.next = 7;
15596
+ return this._bindToStream(webRTCStream, cancellation);
15597
+
15598
+ case 7:
15599
+ if (!hasExistingElement) {
15600
+ this._triggerVideoElementCreated();
15571
15601
  }
15572
15602
 
15573
- case 54:
15603
+ throwIfBindCancelled(cancellation);
15604
+ whenVideoPlaying = waitForVideoToBePlaying(this._videoElementFacade, 5000);
15605
+ _context3.next = 12;
15606
+ return this._waitForVideoResolution(webRTCStream);
15607
+
15608
+ case 12:
15609
+ logging.debug('Waiting for video to be playing');
15610
+ _context3.next = 15;
15611
+ return whenVideoPlaying;
15612
+
15613
+ case 15:
15614
+ logging.debug('Video is playing');
15615
+ throwIfBindCancelled(cancellation);
15616
+
15617
+ case 17:
15574
15618
  case "end":
15575
- return _context.stop();
15619
+ return _context3.stop();
15576
15620
  }
15577
- }, _callee, this, [[20, 25]]);
15621
+ }, _callee3, this);
15578
15622
  }));
15579
15623
 
15580
- function bindVideo(_x, _x2) {
15624
+ function bindVideo(_x4, _x5) {
15581
15625
  return _bindVideo.apply(this, arguments);
15582
15626
  }
15583
15627
 
@@ -15696,11 +15740,8 @@ function WidgetViewFactory(_temp) {
15696
15740
  }
15697
15741
  }]);
15698
15742
  return WidgetView;
15699
- }(); // This is bound here so that it can be mocked in testing. Feels like a smell that's a symptom of
15700
- // larger problems to me, but I'm just maintaining existing behaviour right now.
15701
-
15743
+ }();
15702
15744
 
15703
- WidgetView.VideoElementFacade = VideoElementFacade;
15704
15745
  return WidgetView;
15705
15746
  }
15706
15747
 
@@ -15718,7 +15759,7 @@ Object.defineProperty(exports, "__esModule", {
15718
15759
  });
15719
15760
  exports.CancellationError = exports.default = undefined;
15720
15761
 
15721
- var _Cancellation = __webpack_require__(645);
15762
+ var _Cancellation = __webpack_require__(646);
15722
15763
 
15723
15764
  var _Cancellation2 = _interopRequireDefault(_Cancellation);
15724
15765
 
@@ -15832,7 +15873,7 @@ const pick = __webpack_require__(47);
15832
15873
 
15833
15874
  const once = __webpack_require__(49);
15834
15875
 
15835
- const startCase = __webpack_require__(664);
15876
+ const startCase = __webpack_require__(665);
15836
15877
 
15837
15878
  const uuid = __webpack_require__(19);
15838
15879
 
@@ -15846,7 +15887,7 @@ const _require = __webpack_require__(165),
15846
15887
 
15847
15888
  const env = __webpack_require__(2);
15848
15889
 
15849
- const setEncodersActiveStateDefault = __webpack_require__(674);
15890
+ const setEncodersActiveStateDefault = __webpack_require__(675);
15850
15891
 
15851
15892
  const promisify = __webpack_require__(307);
15852
15893
 
@@ -15866,28 +15907,28 @@ const IntervalRunnerDefault = __webpack_require__(74);
15866
15907
 
15867
15908
  const createCleanupJobs = __webpack_require__(154);
15868
15909
 
15869
- const whitelistPublisherProperties = __webpack_require__(675);
15910
+ const whitelistPublisherProperties = __webpack_require__(676);
15870
15911
 
15871
15912
  const defaultWidgetView = __webpack_require__(164)();
15872
15913
 
15873
- const audioLevelBehaviour = __webpack_require__(676);
15914
+ const audioLevelBehaviour = __webpack_require__(677);
15874
15915
 
15875
- const blockCallsUntilComplete = __webpack_require__(677);
15916
+ const blockCallsUntilComplete = __webpack_require__(678);
15876
15917
 
15877
15918
  const unblockAudio = __webpack_require__(166);
15878
15919
 
15879
15920
  const _require2 = __webpack_require__(23)(),
15880
15921
  getInputMediaDevices = _require2.getInputMediaDevices;
15881
15922
 
15882
- const createCanvasVideoTrack = __webpack_require__(678);
15923
+ const createCanvasVideoTrack = __webpack_require__(679);
15883
15924
 
15884
15925
  const isSecureContextRequired = __webpack_require__(269);
15885
15926
 
15886
15927
  const isGetRtcStatsReportSupported = __webpack_require__(306);
15887
15928
 
15888
- const getDeviceIdFromStream = __webpack_require__(679);
15929
+ const getDeviceIdFromStream = __webpack_require__(680);
15889
15930
 
15890
- const createStreamErrorMap = __webpack_require__(680);
15931
+ const createStreamErrorMap = __webpack_require__(681);
15891
15932
 
15892
15933
  const _require3 = __webpack_require__(290),
15893
15934
  setVideoContentHint = _require3.setVideoContentHint,
@@ -16325,8 +16366,8 @@ module.exports = function PublisherFactory(_ref) {
16325
16366
  // Further info: OPENTOK-44289
16326
16367
 
16327
16368
 
16328
- const staticContents = ['text', 'detail'];
16329
- const isStaticContent = staticContents.includes(properties.videoContentHint);
16369
+ const staticContentHints = ['text', 'detail'];
16370
+ const isStaticContent = staticContentHints.includes(properties.videoContentHint);
16330
16371
  return isCustomVideoTrack && isStaticContent;
16331
16372
  };
16332
16373
 
@@ -16470,10 +16511,9 @@ module.exports = function PublisherFactory(_ref) {
16470
16511
  videoWidth: this.videoWidth(),
16471
16512
  videoHeight: this.videoHeight()
16472
16513
  };
16473
- const parsedAndQosStats = assign(QoSBlob, parsedStats);
16474
- const videoParsedStats = assign(parsedAndQosStats, videoDimensions);
16514
+ const parsedAndQosStats = assign({}, QoSBlob, parsedStats, videoDimensions);
16475
16515
  analytics.logQOS(parsedAndQosStats);
16476
- this.trigger('qos', videoParsedStats);
16516
+ this.trigger('qos', parsedAndQosStats);
16477
16517
  }; // Returns the video dimensions. Which could either be the ones that
16478
16518
  // the developer specific in the videoDimensions property, or just
16479
16519
  // whatever the video element reports.
@@ -17177,9 +17217,18 @@ module.exports = function PublisherFactory(_ref) {
17177
17217
  const hasVideo = () => {
17178
17218
  if (!webRTCStream || webRTCStream.getVideoTracks().length === 0) {
17179
17219
  return false;
17180
- }
17220
+ } // On Chrome when screensharing/custom video is static, it is swapping between 'mute' and
17221
+ // 'unmute' states periodically for no reason OPENTOK-37818
17222
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=931033
17223
+ // We will ignore track.muted when screensharing and custom when videoContentHint
17224
+ // suggests video could be static, i.e. text or detail
17225
+
17181
17226
 
17182
- return webRTCStream.getVideoTracks().reduce((isEnabled, track) => isEnabled && !track.muted && track.enabled && track.readyState !== 'ended', properties.publishVideo);
17227
+ const staticContentHints = ['text', 'detail'];
17228
+ const isStaticContent = staticContentHints.includes(properties.videoContentHint);
17229
+ const isStaticCustom = isCustomVideoTrack && isStaticContent;
17230
+ const shouldIgnoreTrackMuteState = OTHelpers.env.isChrome && (isScreenSharing || isStaticCustom);
17231
+ return webRTCStream.getVideoTracks().reduce((isEnabled, track) => isEnabled && (!track.muted || !!shouldIgnoreTrackMuteState) && track.enabled && track.readyState !== 'ended', properties.publishVideo);
17183
17232
  };
17184
17233
 
17185
17234
  const hasAudio = () => {
@@ -20594,7 +20643,7 @@ const eventing = __webpack_require__(6);
20594
20643
 
20595
20644
  const Events = __webpack_require__(22)();
20596
20645
 
20597
- const connectionCapabilities = __webpack_require__(710);
20646
+ const connectionCapabilities = __webpack_require__(711);
20598
20647
  /**
20599
20648
  * The Connection object represents a connection to an OpenTok session. Each client that connects
20600
20649
  * to a session has a unique connection, with a unique connection ID (represented by the
@@ -26903,10 +26952,10 @@ module.exports = _setPrototypeOf;
26903
26952
 
26904
26953
  var arrayMap = __webpack_require__(33),
26905
26954
  baseClone = __webpack_require__(77),
26906
- baseUnset = __webpack_require__(592),
26955
+ baseUnset = __webpack_require__(593),
26907
26956
  castPath = __webpack_require__(57),
26908
26957
  copyObject = __webpack_require__(39),
26909
- customOmitClone = __webpack_require__(595),
26958
+ customOmitClone = __webpack_require__(596),
26910
26959
  flatRest = __webpack_require__(137),
26911
26960
  getAllKeysIn = __webpack_require__(184);
26912
26961
 
@@ -27025,7 +27074,7 @@ module.exports = findIndex;
27025
27074
  /* 273 */
27026
27075
  /***/ (function(module, exports, __webpack_require__) {
27027
27076
 
27028
- var baseUniq = __webpack_require__(597);
27077
+ var baseUniq = __webpack_require__(598);
27029
27078
 
27030
27079
  /**
27031
27080
  * Creates a duplicate-free version of an array, using
@@ -27059,7 +27108,7 @@ module.exports = uniq;
27059
27108
  "use strict";
27060
27109
 
27061
27110
 
27062
- const toArray = __webpack_require__(605);
27111
+ const toArray = __webpack_require__(606);
27063
27112
 
27064
27113
  const getRtcStatsReportAdapter = __webpack_require__(277);
27065
27114
 
@@ -27139,7 +27188,7 @@ module.exports = isString;
27139
27188
  /* 276 */
27140
27189
  /***/ (function(module, exports, __webpack_require__) {
27141
27190
 
27142
- var baseValues = __webpack_require__(607),
27191
+ var baseValues = __webpack_require__(608),
27143
27192
  keys = __webpack_require__(30);
27144
27193
 
27145
27194
  /**
@@ -27224,9 +27273,9 @@ var _events = __webpack_require__(41);
27224
27273
 
27225
27274
  var _clone = _interopRequireDefault(__webpack_require__(36));
27226
27275
 
27227
- var _parseQOS = _interopRequireDefault(__webpack_require__(617));
27276
+ var _parseQOS = _interopRequireDefault(__webpack_require__(618));
27228
27277
 
27229
- var _TruthyChangeCounter = _interopRequireDefault(__webpack_require__(619));
27278
+ var _TruthyChangeCounter = _interopRequireDefault(__webpack_require__(620));
27230
27279
 
27231
27280
  var _now = _interopRequireDefault(__webpack_require__(48));
27232
27281
 
@@ -27664,7 +27713,7 @@ module.exports = function createChromeMixinFactory(deps) {
27664
27713
  deps = {};
27665
27714
  }
27666
27715
 
27667
- const Archiving = deps.Archiving || __webpack_require__(623);
27716
+ const Archiving = deps.Archiving || __webpack_require__(624);
27668
27717
 
27669
27718
  const AudioLevelMeter = deps.AudioLevelMeter || __webpack_require__(282);
27670
27719
 
@@ -28712,11 +28761,11 @@ const eventing = __webpack_require__(6);
28712
28761
 
28713
28762
  const eventHelper = __webpack_require__(62);
28714
28763
 
28715
- const destroyObj = __webpack_require__(634);
28764
+ const destroyObj = __webpack_require__(635);
28716
28765
 
28717
- const patchSrcObject = __webpack_require__(635);
28766
+ const patchSrcObject = __webpack_require__(636);
28718
28767
 
28719
- const isDomElementVisible = __webpack_require__(636);
28768
+ const isDomElementVisible = __webpack_require__(637);
28720
28769
 
28721
28770
  const promiseDelay = __webpack_require__(106);
28722
28771
 
@@ -28767,13 +28816,13 @@ function NativeVideoElementWrapperFactory(deps) {
28767
28816
 
28768
28817
  const audioContextProvider = deps.audioContext || __webpack_require__(158)();
28769
28818
 
28770
- const canBeOrientatedMixin = deps.canBeOrientatedMixin || __webpack_require__(637);
28819
+ const canBeOrientatedMixin = deps.canBeOrientatedMixin || __webpack_require__(638);
28771
28820
  /** @type {Document} */
28772
28821
 
28773
28822
 
28774
28823
  const document = deps.document || (typeof window !== undefined ? window : global).document;
28775
28824
 
28776
- const listenForTracksEnded = deps.listenForTracksEnded || __webpack_require__(638)();
28825
+ const listenForTracksEnded = deps.listenForTracksEnded || __webpack_require__(639)();
28777
28826
 
28778
28827
  const createLog = deps.logging || __webpack_require__(1);
28779
28828
 
@@ -29821,7 +29870,7 @@ module.exports = function PublisherPeerConnectionFactory(deps) {
29821
29870
 
29822
29871
  const setCertificates = deps.setCertificates || __webpack_require__(163)();
29823
29872
 
29824
- const watchAudioAcquisition = deps.watchAudioAcquisition || __webpack_require__(640);
29873
+ const watchAudioAcquisition = deps.watchAudioAcquisition || __webpack_require__(641);
29825
29874
  /**
29826
29875
  * @typedef {object} PublisherPeerConnectionConfig
29827
29876
  * @property {function(string, string=, object=, object=, boolean=)} logAnalyticsEvent
@@ -30098,7 +30147,7 @@ module.exports = function SubscriberPeerConnectionFactory(deps) {
30098
30147
 
30099
30148
  const OTErrorClass = deps.OTErrorClass || __webpack_require__(21);
30100
30149
 
30101
- const watchSubscriberAudio = deps.watchSubscriberAudio || __webpack_require__(641);
30150
+ const watchSubscriberAudio = deps.watchSubscriberAudio || __webpack_require__(642);
30102
30151
  /*
30103
30152
  * Abstracts PeerConnection related stuff away from Subscriber.
30104
30153
  *
@@ -30574,19 +30623,19 @@ const eventNames = __webpack_require__(26);
30574
30623
 
30575
30624
  const eventing = __webpack_require__(6);
30576
30625
 
30577
- const waitUntil = __webpack_require__(651);
30626
+ const waitUntil = __webpack_require__(652);
30578
30627
 
30579
30628
  const RafRunner = __webpack_require__(103);
30580
30629
 
30581
30630
  const eventHelper = __webpack_require__(62);
30582
30631
 
30583
- const interpretSubscriberCreateError = __webpack_require__(652);
30632
+ const interpretSubscriberCreateError = __webpack_require__(653);
30584
30633
 
30585
30634
  const Errors = __webpack_require__(4);
30586
30635
 
30587
30636
  const defaultWidgetView = __webpack_require__(164)();
30588
30637
 
30589
- const audioLevelBehaviour = __webpack_require__(653);
30638
+ const audioLevelBehaviour = __webpack_require__(654);
30590
30639
 
30591
30640
  const AudioLevelMeterDefault = __webpack_require__(282);
30592
30641
 
@@ -30610,7 +30659,7 @@ const hasAudioOutputLevelStatCapabilityDefault = __webpack_require__(301);
30610
30659
 
30611
30660
  const hasRemoteStreamsWithWebAudioDefault = __webpack_require__(302);
30612
30661
 
30613
- const audioLevelSamplerDefault = __webpack_require__(654);
30662
+ const audioLevelSamplerDefault = __webpack_require__(655);
30614
30663
 
30615
30664
  const interpretPeerConnectionErrorDefault = __webpack_require__(162)();
30616
30665
 
@@ -30640,23 +30689,23 @@ const SubscriberPeerConnectionDefault = __webpack_require__(296)({
30640
30689
 
30641
30690
  const SubscribingStateDefault = __webpack_require__(303);
30642
30691
 
30643
- const VideoDisabledIndicatorDefault = __webpack_require__(657);
30692
+ const VideoDisabledIndicatorDefault = __webpack_require__(658);
30644
30693
 
30645
- const AudioBlockedIndicatorDefault = __webpack_require__(658);
30694
+ const AudioBlockedIndicatorDefault = __webpack_require__(659);
30646
30695
 
30647
- const VideoUnsupportedIndicatorDefault = __webpack_require__(659);
30696
+ const VideoUnsupportedIndicatorDefault = __webpack_require__(660);
30648
30697
 
30649
- const watchFrameRateDefault = __webpack_require__(660);
30698
+ const watchFrameRateDefault = __webpack_require__(661);
30650
30699
 
30651
30700
  const createSendMethodDefault = __webpack_require__(304);
30652
30701
 
30653
30702
  const parseIceServersDefault = __webpack_require__(100).parseIceServers;
30654
30703
 
30655
- const overallTimeout = __webpack_require__(661);
30704
+ const overallTimeout = __webpack_require__(662);
30656
30705
 
30657
- const createConnectivityState = __webpack_require__(662);
30706
+ const createConnectivityState = __webpack_require__(663);
30658
30707
 
30659
- const createConnectivityAttemptPinger = __webpack_require__(663);
30708
+ const createConnectivityAttemptPinger = __webpack_require__(664);
30660
30709
 
30661
30710
  const isGetRtcStatsReportSupported = __webpack_require__(306);
30662
30711
 
@@ -30826,6 +30875,8 @@ module.exports = function SubscriberFactory(_temp) {
30826
30875
 
30827
30876
  let _webRTCStream;
30828
30877
 
30878
+ let _videoEnabled;
30879
+
30829
30880
  let _lastSubscribeToVideoReason;
30830
30881
 
30831
30882
  let _attemptStartTime;
@@ -31261,6 +31312,8 @@ module.exports = function SubscriberFactory(_temp) {
31261
31312
  };
31262
31313
 
31263
31314
  const recordQOS = (_ref10) => {
31315
+ var _properties$preferred, _properties$preferred2;
31316
+
31264
31317
  let parsedStats = _ref10.parsedStats,
31265
31318
  remoteConnectionId = _ref10.remoteConnectionId,
31266
31319
  peerId = _ref10.peerId,
@@ -31283,7 +31336,11 @@ module.exports = function SubscriberFactory(_temp) {
31283
31336
  duration: Math.round((now() - _subscribeStartTime) / 1000),
31284
31337
  remoteConnectionId,
31285
31338
  peerId,
31286
- sourceStreamId: getMediaModeBySourceStreamId(sourceStreamId)
31339
+ sourceStreamId: getMediaModeBySourceStreamId(sourceStreamId),
31340
+ preferredResolutionHeight: (_properties$preferred = _properties.preferredResolution) == null ? void 0 : _properties$preferred.height,
31341
+ preferredResolutionWidth: (_properties$preferred2 = _properties.preferredResolution) == null ? void 0 : _properties$preferred2.width,
31342
+ preferredFrameRate: _properties.preferredFrameRate,
31343
+ audioFallback: !_videoEnabled && _lastSubscribeToVideoReason === 'auto'
31287
31344
  };
31288
31345
  const combinedStats = assign(QoSBlob, parsedStats);
31289
31346
  analytics.logQOS(combinedStats);
@@ -33013,6 +33070,7 @@ module.exports = function SubscriberFactory(_temp) {
33013
33070
 
33014
33071
  _properties.subscribeToVideo = value;
33015
33072
  _lastSubscribeToVideoReason = reason;
33073
+ _videoEnabled = value;
33016
33074
  logAnalyticsEvent('subscribeToVideo', 'Success', {
33017
33075
  subscribeToVideo: value,
33018
33076
  reason
@@ -34936,9 +34994,9 @@ const isFunction = __webpack_require__(15);
34936
34994
 
34937
34995
  const isObject = __webpack_require__(9);
34938
34996
 
34939
- const isNullOrFalse = __webpack_require__(681);
34997
+ const isNullOrFalse = __webpack_require__(682);
34940
34998
 
34941
- const setVideoContentHintIfCanvas = __webpack_require__(682);
34999
+ const setVideoContentHintIfCanvas = __webpack_require__(683);
34942
35000
 
34943
35001
  module.exports = function initPublisherFactory(deps) {
34944
35002
  if (deps === void 0) {
@@ -35087,9 +35145,6 @@ module.exports = function initPublisherFactory(deps) {
35087
35145
  * <a target="_blank" href="https://datatracker.ietf.org/doc/html/rfc7587#section-3.1.3">Opus DTX</a>. The default
35088
35146
  * value is <code>false</code>. Setting this to <code>true</code> can reduce bandwidth usage
35089
35147
  * in streams that have long periods of silence.
35090
- * <p>
35091
- * This is a <em>beta</em> feature.
35092
- *
35093
35148
  * </li>
35094
35149
  * <li>
35095
35150
  * <strong>facingMode</strong> (String) &#151; The preferred camera position to use for the
@@ -35551,7 +35606,7 @@ var _extends2 = _interopRequireDefault(__webpack_require__(25));
35551
35606
  /* eslint-disable max-len */
35552
35607
  const EventEmitter = __webpack_require__(41);
35553
35608
 
35554
- const findKey = __webpack_require__(683);
35609
+ const findKey = __webpack_require__(684);
35555
35610
 
35556
35611
  const isObject = __webpack_require__(9);
35557
35612
 
@@ -35571,9 +35626,9 @@ const IntervalRunner = __webpack_require__(74);
35571
35626
 
35572
35627
  const promisify = __webpack_require__(307);
35573
35628
 
35574
- const testRemovingVideoCodecs = __webpack_require__(685);
35629
+ const testRemovingVideoCodecs = __webpack_require__(686);
35575
35630
 
35576
- const validateIceConfigFactory = __webpack_require__(686);
35631
+ const validateIceConfigFactory = __webpack_require__(687);
35577
35632
 
35578
35633
  const _require = __webpack_require__(138),
35579
35634
  prependProxyToUrlIfNeeded = _require.prependProxyToUrlIfNeeded;
@@ -35596,7 +35651,7 @@ module.exports = function SessionFactory(deps) {
35596
35651
 
35597
35652
  const Capabilities = deps.Capabilities || __webpack_require__(169);
35598
35653
 
35599
- const convertAnvilErrorCode = deps.convertAnvilErrorCode || __webpack_require__(687);
35654
+ const convertAnvilErrorCode = deps.convertAnvilErrorCode || __webpack_require__(688);
35600
35655
 
35601
35656
  const convertRumorError = deps.convertRumorError || __webpack_require__(310);
35602
35657
 
@@ -35618,7 +35673,7 @@ module.exports = function SessionFactory(deps) {
35618
35673
 
35619
35674
  const OTHelpers = deps.OTHelpers || __webpack_require__(5);
35620
35675
 
35621
- const forceMuteErrors = __webpack_require__(688);
35676
+ const forceMuteErrors = __webpack_require__(689);
35622
35677
  /** @type {typeof StaticConfigDefault} */
35623
35678
 
35624
35679
 
@@ -35629,7 +35684,7 @@ module.exports = function SessionFactory(deps) {
35629
35684
 
35630
35685
  const Publisher = deps.Publisher || __webpack_require__(168)();
35631
35686
 
35632
- const RaptorSocket = deps.RaptorSocket || __webpack_require__(689).default();
35687
+ const RaptorSocket = deps.RaptorSocket || __webpack_require__(690).default();
35633
35688
 
35634
35689
  const SessionDispatcher = deps.SessionDispatcher || __webpack_require__(318);
35635
35690
 
@@ -35650,7 +35705,7 @@ module.exports = function SessionFactory(deps) {
35650
35705
  });
35651
35706
  const windowMock = deps.global || (typeof window !== undefined ? window : global);
35652
35707
 
35653
- const getSessionInfo = deps.getSessionInfo || __webpack_require__(713)();
35708
+ const getSessionInfo = deps.getSessionInfo || __webpack_require__(714)();
35654
35709
 
35655
35710
  const SessionInfo = __webpack_require__(141);
35656
35711
 
@@ -38839,7 +38894,7 @@ const logging = __webpack_require__(1)('Dispatcher');
38839
38894
 
38840
38895
  const RumorMessageTypes = __webpack_require__(171);
38841
38896
 
38842
- const unboxFromRumorMessage = __webpack_require__(704);
38897
+ const unboxFromRumorMessage = __webpack_require__(705);
38843
38898
 
38844
38899
  const Dispatcher = function Dispatcher() {
38845
38900
  eventing(this);
@@ -39153,13 +39208,13 @@ const uuid = __webpack_require__(19);
39153
39208
 
39154
39209
  const OTHelpers = __webpack_require__(5);
39155
39210
 
39156
- const hasBundleCapability = __webpack_require__(707);
39211
+ const hasBundleCapability = __webpack_require__(708);
39157
39212
 
39158
- const hasRTCPMuxCapability = __webpack_require__(708);
39213
+ const hasRTCPMuxCapability = __webpack_require__(709);
39159
39214
 
39160
39215
  const serializeMessage = __webpack_require__(312);
39161
39216
 
39162
- const supportedCryptoScheme = __webpack_require__(709);
39217
+ const supportedCryptoScheme = __webpack_require__(710);
39163
39218
 
39164
39219
  const staticConfig = __webpack_require__(44)().onlyLocal();
39165
39220
 
@@ -39622,7 +39677,7 @@ const now = __webpack_require__(48);
39622
39677
 
39623
39678
  const Connection = __webpack_require__(172);
39624
39679
 
39625
- const DelayedEventQueue = __webpack_require__(712);
39680
+ const DelayedEventQueue = __webpack_require__(713);
39626
39681
 
39627
39682
  const Dispatcher = __webpack_require__(314);
39628
39683
 
@@ -40609,7 +40664,7 @@ const Events = __webpack_require__(22)();
40609
40664
 
40610
40665
  const generateSimpleStateMachine = __webpack_require__(160)();
40611
40666
 
40612
- const getUserMediaHelper = __webpack_require__(625)({
40667
+ const getUserMediaHelper = __webpack_require__(626)({
40613
40668
  otError,
40614
40669
  global: windowMock
40615
40670
  });
@@ -40619,7 +40674,7 @@ const screenSharing = __webpack_require__(161)({
40619
40674
  otError
40620
40675
  });
40621
40676
 
40622
- const processPubOptions = __webpack_require__(630)({
40677
+ const processPubOptions = __webpack_require__(631)({
40623
40678
  deviceHelpers,
40624
40679
  generateConstraintInfo,
40625
40680
  getUserMediaHelper,
@@ -40628,7 +40683,7 @@ const processPubOptions = __webpack_require__(630)({
40628
40683
  screenSharing
40629
40684
  });
40630
40685
 
40631
- const getUserMedia = __webpack_require__(633)({
40686
+ const getUserMedia = __webpack_require__(634)({
40632
40687
  otError,
40633
40688
  processPubOptions
40634
40689
  });
@@ -40666,7 +40721,7 @@ const SubscriberPeerConnection = __webpack_require__(296)({
40666
40721
 
40667
40722
  const PublishingState = __webpack_require__(297)();
40668
40723
 
40669
- const reportIssue = __webpack_require__(642)({
40724
+ const reportIssue = __webpack_require__(643)({
40670
40725
  otError
40671
40726
  });
40672
40727
 
@@ -40727,14 +40782,14 @@ const Session = __webpack_require__(309)({
40727
40782
  Subscriber
40728
40783
  });
40729
40784
 
40730
- const initSession = __webpack_require__(716)({
40785
+ const initSession = __webpack_require__(717)({
40731
40786
  Session
40732
40787
  }); // Allow events to be bound on OT
40733
40788
 
40734
40789
 
40735
40790
  eventing(OT);
40736
40791
 
40737
- const getSupportedCodecs = __webpack_require__(717);
40792
+ const getSupportedCodecs = __webpack_require__(718);
40738
40793
 
40739
40794
  setDeprecatedProperty(OT, '$', {
40740
40795
  name: 'OT.$',
@@ -40780,10 +40835,10 @@ OT.Error.on(eventNames.EXCEPTION, exceptionEvent => {
40780
40835
  OT.Event = Event;
40781
40836
  OT.ExceptionCodes = ExceptionCodes;
40782
40837
  OT.ExceptionEvent = Events.ExceptionEvent;
40783
- OT.getDevices = __webpack_require__(720);
40838
+ OT.getDevices = __webpack_require__(721);
40784
40839
  OT.getAudioOutputDevices = __webpack_require__(320);
40785
40840
  OT.getActiveAudioOutputDevice = __webpack_require__(321);
40786
- OT.setAudioOutputDevice = __webpack_require__(721)();
40841
+ OT.setAudioOutputDevice = __webpack_require__(722)();
40787
40842
  OT.GetAudioLevelSampler = GetAudioLevelSampler;
40788
40843
  OT.HAS_REQUIREMENTS = 1;
40789
40844
  OT.IntervalRunner = IntervalRunner;
@@ -40954,9 +41009,7 @@ EnvironmentLoader.onUnload(() => {
40954
41009
  sessionObjects.sessions.destroy('unloaded');
40955
41010
  });
40956
41011
 
40957
- __webpack_require__(722)();
40958
-
40959
- __webpack_require__(724)();
41012
+ __webpack_require__(723)();
40960
41013
  /**
40961
41014
  * This method is deprecated. Use <a href="#on">on()</a> or <a href="#once">once()</a> instead.
40962
41015
  *
@@ -58303,13 +58356,47 @@ module.exports = /*#__PURE__*/function (_Events) {
58303
58356
  /* 587 */
58304
58357
  /***/ (function(module, exports, __webpack_require__) {
58305
58358
 
58306
- var getPrototypeOf = __webpack_require__(588);
58359
+ "use strict";
58360
+
58361
+
58362
+ /* eslint-disable global-require */
58363
+ const AnalyticsHelper = __webpack_require__(27);
58364
+
58365
+ module.exports = function (deps) {
58366
+ if (deps === void 0) {
58367
+ deps = {};
58368
+ }
58369
+
58370
+ const env = deps.env || __webpack_require__(2);
58371
+
58372
+ const analytics = deps.analytics || new AnalyticsHelper();
58373
+ analytics.logEvent({
58374
+ action: 'UserAgentParsing',
58375
+ variation: 'Attempt',
58376
+ payload: {
58377
+ userAgent: env.userAgent
58378
+ }
58379
+ });
58380
+ analytics.logEvent({
58381
+ action: 'UserAgentParsing',
58382
+ variation: env.error ? 'Failure' : 'Success',
58383
+ payload: {
58384
+ userAgent: env.userAgent
58385
+ }
58386
+ });
58387
+ };
58388
+
58389
+ /***/ }),
58390
+ /* 588 */
58391
+ /***/ (function(module, exports, __webpack_require__) {
58392
+
58393
+ var getPrototypeOf = __webpack_require__(589);
58307
58394
 
58308
58395
  var setPrototypeOf = __webpack_require__(270);
58309
58396
 
58310
- var isNativeFunction = __webpack_require__(589);
58397
+ var isNativeFunction = __webpack_require__(590);
58311
58398
 
58312
- var construct = __webpack_require__(590);
58399
+ var construct = __webpack_require__(591);
58313
58400
 
58314
58401
  function _wrapNativeSuper(Class) {
58315
58402
  var _cache = typeof Map === "function" ? new Map() : undefined;
@@ -58348,7 +58435,7 @@ function _wrapNativeSuper(Class) {
58348
58435
  module.exports = _wrapNativeSuper;
58349
58436
 
58350
58437
  /***/ }),
58351
- /* 588 */
58438
+ /* 589 */
58352
58439
  /***/ (function(module, exports) {
58353
58440
 
58354
58441
  function _getPrototypeOf(o) {
@@ -58361,7 +58448,7 @@ function _getPrototypeOf(o) {
58361
58448
  module.exports = _getPrototypeOf;
58362
58449
 
58363
58450
  /***/ }),
58364
- /* 589 */
58451
+ /* 590 */
58365
58452
  /***/ (function(module, exports) {
58366
58453
 
58367
58454
  function _isNativeFunction(fn) {
@@ -58371,7 +58458,7 @@ function _isNativeFunction(fn) {
58371
58458
  module.exports = _isNativeFunction;
58372
58459
 
58373
58460
  /***/ }),
58374
- /* 590 */
58461
+ /* 591 */
58375
58462
  /***/ (function(module, exports, __webpack_require__) {
58376
58463
 
58377
58464
  var setPrototypeOf = __webpack_require__(270);
@@ -58409,7 +58496,7 @@ function _construct(Parent, args, Class) {
58409
58496
  module.exports = _construct;
58410
58497
 
58411
58498
  /***/ }),
58412
- /* 591 */
58499
+ /* 592 */
58413
58500
  /***/ (function(module, exports, __webpack_require__) {
58414
58501
 
58415
58502
  "use strict";
@@ -58429,12 +58516,12 @@ module.exports = (promise, onFinally) => {
58429
58516
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
58430
58517
 
58431
58518
  /***/ }),
58432
- /* 592 */
58519
+ /* 593 */
58433
58520
  /***/ (function(module, exports, __webpack_require__) {
58434
58521
 
58435
58522
  var castPath = __webpack_require__(57),
58436
- last = __webpack_require__(593),
58437
- parent = __webpack_require__(594),
58523
+ last = __webpack_require__(594),
58524
+ parent = __webpack_require__(595),
58438
58525
  toKey = __webpack_require__(46);
58439
58526
 
58440
58527
  /**
@@ -58455,7 +58542,7 @@ module.exports = baseUnset;
58455
58542
 
58456
58543
 
58457
58544
  /***/ }),
58458
- /* 593 */
58545
+ /* 594 */
58459
58546
  /***/ (function(module, exports) {
58460
58547
 
58461
58548
  /**
@@ -58481,7 +58568,7 @@ module.exports = last;
58481
58568
 
58482
58569
 
58483
58570
  /***/ }),
58484
- /* 594 */
58571
+ /* 595 */
58485
58572
  /***/ (function(module, exports, __webpack_require__) {
58486
58573
 
58487
58574
  var baseGet = __webpack_require__(98),
@@ -58503,7 +58590,7 @@ module.exports = parent;
58503
58590
 
58504
58591
 
58505
58592
  /***/ }),
58506
- /* 595 */
58593
+ /* 596 */
58507
58594
  /***/ (function(module, exports, __webpack_require__) {
58508
58595
 
58509
58596
  var isPlainObject = __webpack_require__(135);
@@ -58525,7 +58612,7 @@ module.exports = customOmitClone;
58525
58612
 
58526
58613
 
58527
58614
  /***/ }),
58528
- /* 596 */
58615
+ /* 597 */
58529
58616
  /***/ (function(module, exports, __webpack_require__) {
58530
58617
 
58531
58618
  var baseIteratee = __webpack_require__(34),
@@ -58556,14 +58643,14 @@ module.exports = createFind;
58556
58643
 
58557
58644
 
58558
58645
  /***/ }),
58559
- /* 597 */
58646
+ /* 598 */
58560
58647
  /***/ (function(module, exports, __webpack_require__) {
58561
58648
 
58562
58649
  var SetCache = __webpack_require__(92),
58563
58650
  arrayIncludes = __webpack_require__(93),
58564
58651
  arrayIncludesWith = __webpack_require__(128),
58565
58652
  cacheHas = __webpack_require__(94),
58566
- createSet = __webpack_require__(598),
58653
+ createSet = __webpack_require__(599),
58567
58654
  setToArray = __webpack_require__(97);
58568
58655
 
58569
58656
  /** Used as the size to enable large array optimizations. */
@@ -58634,7 +58721,7 @@ module.exports = baseUniq;
58634
58721
 
58635
58722
 
58636
58723
  /***/ }),
58637
- /* 598 */
58724
+ /* 599 */
58638
58725
  /***/ (function(module, exports, __webpack_require__) {
58639
58726
 
58640
58727
  var Set = __webpack_require__(185),
@@ -58659,7 +58746,7 @@ module.exports = createSet;
58659
58746
 
58660
58747
 
58661
58748
  /***/ }),
58662
- /* 599 */
58749
+ /* 600 */
58663
58750
  /***/ (function(module, exports, __webpack_require__) {
58664
58751
 
58665
58752
  "use strict";
@@ -58758,7 +58845,7 @@ module.exports = hasValidPeerConnection;
58758
58845
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
58759
58846
 
58760
58847
  /***/ }),
58761
- /* 600 */
58848
+ /* 601 */
58762
58849
  /***/ (function(module, exports, __webpack_require__) {
58763
58850
 
58764
58851
  /**
@@ -58785,7 +58872,7 @@ var oldRuntime = hadRuntime && g.regeneratorRuntime;
58785
58872
  // Force reevalutation of runtime.js.
58786
58873
  g.regeneratorRuntime = undefined;
58787
58874
 
58788
- module.exports = __webpack_require__(601);
58875
+ module.exports = __webpack_require__(602);
58789
58876
 
58790
58877
  if (hadRuntime) {
58791
58878
  // Restore the original runtime.
@@ -58801,7 +58888,7 @@ if (hadRuntime) {
58801
58888
 
58802
58889
 
58803
58890
  /***/ }),
58804
- /* 601 */
58891
+ /* 602 */
58805
58892
  /***/ (function(module, exports, __webpack_require__) {
58806
58893
 
58807
58894
  /* WEBPACK VAR INJECTION */(function(Promise) {/**
@@ -59529,7 +59616,7 @@ if (hadRuntime) {
59529
59616
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
59530
59617
 
59531
59618
  /***/ }),
59532
- /* 602 */
59619
+ /* 603 */
59533
59620
  /***/ (function(module, exports, __webpack_require__) {
59534
59621
 
59535
59622
  "use strict";
@@ -59539,7 +59626,7 @@ const clone = __webpack_require__(36);
59539
59626
 
59540
59627
  const env = __webpack_require__(2);
59541
59628
 
59542
- const filterIceServers = __webpack_require__(603);
59629
+ const filterIceServers = __webpack_require__(604);
59543
59630
 
59544
59631
  const shouldUsePlanBSDP = __webpack_require__(73);
59545
59632
 
@@ -59563,7 +59650,7 @@ module.exports = function createPeerConnection(_ref) {
59563
59650
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
59564
59651
 
59565
59652
  /***/ }),
59566
- /* 603 */
59653
+ /* 604 */
59567
59654
  /***/ (function(module, exports, __webpack_require__) {
59568
59655
 
59569
59656
  "use strict";
@@ -59640,7 +59727,7 @@ module.exports = function filterIceServers(env, iceServers) {
59640
59727
  };
59641
59728
 
59642
59729
  /***/ }),
59643
- /* 604 */
59730
+ /* 605 */
59644
59731
  /***/ (function(module, exports, __webpack_require__) {
59645
59732
 
59646
59733
  "use strict";
@@ -59820,7 +59907,7 @@ module.exports = {
59820
59907
  };
59821
59908
 
59822
59909
  /***/ }),
59823
- /* 605 */
59910
+ /* 606 */
59824
59911
  /***/ (function(module, exports, __webpack_require__) {
59825
59912
 
59826
59913
  var Symbol = __webpack_require__(38),
@@ -59828,7 +59915,7 @@ var Symbol = __webpack_require__(38),
59828
59915
  getTag = __webpack_require__(40),
59829
59916
  isArrayLike = __webpack_require__(24),
59830
59917
  isString = __webpack_require__(275),
59831
- iteratorToArray = __webpack_require__(606),
59918
+ iteratorToArray = __webpack_require__(607),
59832
59919
  mapToArray = __webpack_require__(232),
59833
59920
  setToArray = __webpack_require__(97),
59834
59921
  stringToArray = __webpack_require__(262),
@@ -59884,7 +59971,7 @@ module.exports = toArray;
59884
59971
 
59885
59972
 
59886
59973
  /***/ }),
59887
- /* 606 */
59974
+ /* 607 */
59888
59975
  /***/ (function(module, exports) {
59889
59976
 
59890
59977
  /**
@@ -59908,7 +59995,7 @@ module.exports = iteratorToArray;
59908
59995
 
59909
59996
 
59910
59997
  /***/ }),
59911
- /* 607 */
59998
+ /* 608 */
59912
59999
  /***/ (function(module, exports, __webpack_require__) {
59913
60000
 
59914
60001
  var arrayMap = __webpack_require__(33);
@@ -59933,7 +60020,7 @@ module.exports = baseValues;
59933
60020
 
59934
60021
 
59935
60022
  /***/ }),
59936
- /* 608 */
60023
+ /* 609 */
59937
60024
  /***/ (function(module, exports, __webpack_require__) {
59938
60025
 
59939
60026
  "use strict";
@@ -59959,7 +60046,7 @@ module.exports = (peerConnection, completion) => {
59959
60046
  };
59960
60047
 
59961
60048
  /***/ }),
59962
- /* 609 */
60049
+ /* 610 */
59963
60050
  /***/ (function(module, exports, __webpack_require__) {
59964
60051
 
59965
60052
  "use strict";
@@ -59968,7 +60055,7 @@ module.exports = (peerConnection, completion) => {
59968
60055
  // @todo enable the following disabled rules see OPENTOK-31136 for more info
59969
60056
 
59970
60057
  /* eslint-disable no-underscore-dangle */
59971
- const promisify = __webpack_require__(610);
60058
+ const promisify = __webpack_require__(611);
59972
60059
  /*
59973
60060
  * Process incoming Ice Candidates from a remote connection.
59974
60061
  *
@@ -60113,7 +60200,7 @@ module.exports = IceCandidateProcessor;
60113
60200
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
60114
60201
 
60115
60202
  /***/ }),
60116
- /* 610 */
60203
+ /* 611 */
60117
60204
  /***/ (function(module, exports, __webpack_require__) {
60118
60205
 
60119
60206
  "use strict";
@@ -60138,7 +60225,7 @@ module.exports = function promisify(context, methodName) {
60138
60225
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
60139
60226
 
60140
60227
  /***/ }),
60141
- /* 611 */
60228
+ /* 612 */
60142
60229
  /***/ (function(module, exports, __webpack_require__) {
60143
60230
 
60144
60231
  "use strict";
@@ -60155,7 +60242,7 @@ const logging = __webpack_require__(1)('offerProcessor');
60155
60242
 
60156
60243
  const SDPHelpers = __webpack_require__(50);
60157
60244
 
60158
- const testSupportVideo = __webpack_require__(612); // Attempt to completely process +offer+. This will:
60245
+ const testSupportVideo = __webpack_require__(613); // Attempt to completely process +offer+. This will:
60159
60246
  // * set the offer as the remote description
60160
60247
  // * create an answer and
60161
60248
  // * set the new answer as the location description
@@ -60228,7 +60315,7 @@ module.exports = function offerProcessor(peerConnection, RTCPeerConnection, RTCS
60228
60315
  };
60229
60316
 
60230
60317
  /***/ }),
60231
- /* 612 */
60318
+ /* 613 */
60232
60319
  /***/ (function(module, exports, __webpack_require__) {
60233
60320
 
60234
60321
  "use strict";
@@ -60270,7 +60357,7 @@ module.exports = testSupportVideo;
60270
60357
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
60271
60358
 
60272
60359
  /***/ }),
60273
- /* 613 */
60360
+ /* 614 */
60274
60361
  /***/ (function(module, exports, __webpack_require__) {
60275
60362
 
60276
60363
  "use strict";
@@ -60281,7 +60368,7 @@ module.exports = testSupportVideo;
60281
60368
  /* eslint-disable no-restricted-syntax, no-prototype-builtins */
60282
60369
  const find = __webpack_require__(61);
60283
60370
 
60284
- const DataChannel = __webpack_require__(614); // Contains a collection of DataChannels for a particular RTCPeerConnection
60371
+ const DataChannel = __webpack_require__(615); // Contains a collection of DataChannels for a particular RTCPeerConnection
60285
60372
  //
60286
60373
  // @param [RTCPeerConnection] pc A native peer connection object
60287
60374
  //
@@ -60376,7 +60463,7 @@ module.exports = function PeerConnectionChannels(pc) {
60376
60463
  };
60377
60464
 
60378
60465
  /***/ }),
60379
- /* 614 */
60466
+ /* 615 */
60380
60467
  /***/ (function(module, exports, __webpack_require__) {
60381
60468
 
60382
60469
  "use strict";
@@ -60544,7 +60631,7 @@ module.exports = function DataChannel(dataChannel) {
60544
60631
  };
60545
60632
 
60546
60633
  /***/ }),
60547
- /* 615 */
60634
+ /* 616 */
60548
60635
  /***/ (function(module, exports, __webpack_require__) {
60549
60636
 
60550
60637
  "use strict";
@@ -60609,7 +60696,7 @@ module.exports = function subscribeProcessor(_ref) {
60609
60696
  };
60610
60697
 
60611
60698
  /***/ }),
60612
- /* 616 */
60699
+ /* 617 */
60613
60700
  /***/ (function(module, exports, __webpack_require__) {
60614
60701
 
60615
60702
  "use strict";
@@ -60683,7 +60770,7 @@ module.exports = {
60683
60770
  };
60684
60771
 
60685
60772
  /***/ }),
60686
- /* 617 */
60773
+ /* 618 */
60687
60774
  /***/ (function(module, exports, __webpack_require__) {
60688
60775
 
60689
60776
  "use strict";
@@ -60715,7 +60802,7 @@ const sdpHelpers = __webpack_require__(50);
60715
60802
 
60716
60803
  const getProtocolFromPriority = __webpack_require__(279);
60717
60804
 
60718
- const getLocalRelayProtocol = __webpack_require__(618);
60805
+ const getLocalRelayProtocol = __webpack_require__(619);
60719
60806
 
60720
60807
  const shouldUseStandardGetStats = __webpack_require__(102)();
60721
60808
 
@@ -61148,7 +61235,7 @@ function extendStats(stats, isPublisher) {
61148
61235
  }
61149
61236
 
61150
61237
  /***/ }),
61151
- /* 618 */
61238
+ /* 619 */
61152
61239
  /***/ (function(module, exports, __webpack_require__) {
61153
61240
 
61154
61241
  "use strict";
@@ -61189,7 +61276,7 @@ module.exports = (selectedCandidatePairId, stats) => {
61189
61276
  };
61190
61277
 
61191
61278
  /***/ }),
61192
- /* 619 */
61279
+ /* 620 */
61193
61280
  /***/ (function(module, exports, __webpack_require__) {
61194
61281
 
61195
61282
  "use strict";
@@ -61230,11 +61317,11 @@ let TruthyChangeCounter = /*#__PURE__*/function () {
61230
61317
  exports.default = TruthyChangeCounter;
61231
61318
 
61232
61319
  /***/ }),
61233
- /* 620 */
61320
+ /* 621 */
61234
61321
  /***/ (function(module, exports, __webpack_require__) {
61235
61322
 
61236
61323
  var isObject = __webpack_require__(9),
61237
- now = __webpack_require__(621),
61324
+ now = __webpack_require__(622),
61238
61325
  toNumber = __webpack_require__(228);
61239
61326
 
61240
61327
  /** Error message constants. */
@@ -61427,7 +61514,7 @@ module.exports = debounce;
61427
61514
 
61428
61515
 
61429
61516
  /***/ }),
61430
- /* 621 */
61517
+ /* 622 */
61431
61518
  /***/ (function(module, exports, __webpack_require__) {
61432
61519
 
61433
61520
  var root = __webpack_require__(14);
@@ -61456,7 +61543,7 @@ module.exports = now;
61456
61543
 
61457
61544
 
61458
61545
  /***/ }),
61459
- /* 622 */
61546
+ /* 623 */
61460
61547
  /***/ (function(module, exports, __webpack_require__) {
61461
61548
 
61462
61549
  "use strict";
@@ -61481,7 +61568,7 @@ exports.check = function (deps) {
61481
61568
  exports.once = once(() => exports.check());
61482
61569
 
61483
61570
  /***/ }),
61484
- /* 623 */
61571
+ /* 624 */
61485
61572
  /***/ (function(module, exports, __webpack_require__) {
61486
61573
 
61487
61574
  "use strict";
@@ -61612,7 +61699,7 @@ module.exports = function Archiving(options) {
61612
61699
  };
61613
61700
 
61614
61701
  /***/ }),
61615
- /* 624 */
61702
+ /* 625 */
61616
61703
  /***/ (function(module, exports, __webpack_require__) {
61617
61704
 
61618
61705
  "use strict";
@@ -61628,7 +61715,7 @@ module.exports = function (deps) {
61628
61715
  };
61629
61716
 
61630
61717
  /***/ }),
61631
- /* 625 */
61718
+ /* 626 */
61632
61719
  /***/ (function(module, exports, __webpack_require__) {
61633
61720
 
61634
61721
  "use strict";
@@ -61645,7 +61732,7 @@ const isObject = __webpack_require__(9);
61645
61732
 
61646
61733
  const promiseDelay = __webpack_require__(106);
61647
61734
 
61648
- const trackUsage = __webpack_require__(626);
61735
+ const trackUsage = __webpack_require__(627);
61649
61736
 
61650
61737
  const AnalyticsHelper = __webpack_require__(27);
61651
61738
 
@@ -62035,7 +62122,7 @@ module.exports = function getUserMediaFactory(deps) {
62035
62122
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
62036
62123
 
62037
62124
  /***/ }),
62038
- /* 626 */
62125
+ /* 627 */
62039
62126
  /***/ (function(module, exports, __webpack_require__) {
62040
62127
 
62041
62128
  "use strict";
@@ -62082,7 +62169,7 @@ module.exports = function (_temp) {
62082
62169
  };
62083
62170
 
62084
62171
  /***/ }),
62085
- /* 627 */
62172
+ /* 628 */
62086
62173
  /***/ (function(module, exports, __webpack_require__) {
62087
62174
 
62088
62175
  "use strict";
@@ -62090,7 +62177,7 @@ module.exports = function (_temp) {
62090
62177
 
62091
62178
  const env = __webpack_require__(2);
62092
62179
 
62093
- const _require = __webpack_require__(628),
62180
+ const _require = __webpack_require__(629),
62094
62181
  isCallbackBasedAPI = _require.isCallbackBasedAPI;
62095
62182
 
62096
62183
  let isElectronScreenSharingSource = __webpack_require__(265);
@@ -62216,7 +62303,7 @@ module.exports = function electronExtensionHelperFactory(deps) {
62216
62303
  };
62217
62304
 
62218
62305
  /***/ }),
62219
- /* 628 */
62306
+ /* 629 */
62220
62307
  /***/ (function(module, exports, __webpack_require__) {
62221
62308
 
62222
62309
  "use strict";
@@ -62234,7 +62321,7 @@ module.exports = {
62234
62321
  };
62235
62322
 
62236
62323
  /***/ }),
62237
- /* 629 */
62324
+ /* 630 */
62238
62325
  /***/ (function(module, exports, __webpack_require__) {
62239
62326
 
62240
62327
  "use strict";
@@ -62302,7 +62389,7 @@ module.exports = {
62302
62389
  };
62303
62390
 
62304
62391
  /***/ }),
62305
- /* 630 */
62392
+ /* 631 */
62306
62393
  /***/ (function(module, exports, __webpack_require__) {
62307
62394
 
62308
62395
  "use strict";
@@ -62316,7 +62403,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(13));
62316
62403
 
62317
62404
  var _extends2 = _interopRequireDefault(__webpack_require__(25));
62318
62405
 
62319
- const _require = __webpack_require__(631),
62406
+ const _require = __webpack_require__(632),
62320
62407
  normaliseOptions = _require.normaliseOptions;
62321
62408
 
62322
62409
  const _require2 = __webpack_require__(288),
@@ -62372,7 +62459,7 @@ module.exports = function processPubOptionsFactory(deps) {
62372
62459
 
62373
62460
  const env = deps.env || defaultEnv;
62374
62461
 
62375
- const usingOptionalMandatoryStyle = __webpack_require__(632)({
62462
+ const usingOptionalMandatoryStyle = __webpack_require__(633)({
62376
62463
  navigator: navigator || {}
62377
62464
  });
62378
62465
 
@@ -62717,7 +62804,7 @@ module.exports = function processPubOptionsFactory(deps) {
62717
62804
  };
62718
62805
 
62719
62806
  /***/ }),
62720
- /* 631 */
62807
+ /* 632 */
62721
62808
  /***/ (function(module, exports, __webpack_require__) {
62722
62809
 
62723
62810
  "use strict";
@@ -62774,7 +62861,7 @@ const normaliseOptions = (originalOptions, logPrefix, logging) => {
62774
62861
  exports.normaliseOptions = normaliseOptions;
62775
62862
 
62776
62863
  /***/ }),
62777
- /* 632 */
62864
+ /* 633 */
62778
62865
  /***/ (function(module, exports, __webpack_require__) {
62779
62866
 
62780
62867
  "use strict";
@@ -62809,7 +62896,7 @@ module.exports = function usingOptionalMandatoryStyleFactory(_temp) {
62809
62896
  };
62810
62897
 
62811
62898
  /***/ }),
62812
- /* 633 */
62899
+ /* 634 */
62813
62900
  /***/ (function(module, exports, __webpack_require__) {
62814
62901
 
62815
62902
  "use strict";
@@ -62903,7 +62990,7 @@ module.exports = function getUserMediaFactory(deps) {
62903
62990
  };
62904
62991
 
62905
62992
  /***/ }),
62906
- /* 634 */
62993
+ /* 635 */
62907
62994
  /***/ (function(module, exports, __webpack_require__) {
62908
62995
 
62909
62996
  "use strict";
@@ -62928,7 +63015,7 @@ module.exports = function destroyObj(name, obj) {
62928
63015
  };
62929
63016
 
62930
63017
  /***/ }),
62931
- /* 635 */
63018
+ /* 636 */
62932
63019
  /***/ (function(module, exports, __webpack_require__) {
62933
63020
 
62934
63021
  "use strict";
@@ -62990,7 +63077,7 @@ module.exports = el => {
62990
63077
  };
62991
63078
 
62992
63079
  /***/ }),
62993
- /* 636 */
63080
+ /* 637 */
62994
63081
  /***/ (function(module, exports, __webpack_require__) {
62995
63082
 
62996
63083
  "use strict";
@@ -63038,7 +63125,7 @@ const isVisible = domElement => {
63038
63125
  module.exports = domElement => isDomElement(domElement) && isInViewPort(domElement) && isVisible(domElement);
63039
63126
 
63040
63127
  /***/ }),
63041
- /* 637 */
63128
+ /* 638 */
63042
63129
  /***/ (function(module, exports, __webpack_require__) {
63043
63130
 
63044
63131
  "use strict";
@@ -63121,7 +63208,7 @@ module.exports = function canBeOrientatedMixin(self, getDomElementCallback, init
63121
63208
  };
63122
63209
 
63123
63210
  /***/ }),
63124
- /* 638 */
63211
+ /* 639 */
63125
63212
  /***/ (function(module, exports, __webpack_require__) {
63126
63213
 
63127
63214
  "use strict";
@@ -63206,7 +63293,7 @@ module.exports = function listenForTracksEndedFactory() {
63206
63293
  };
63207
63294
 
63208
63295
  /***/ }),
63209
- /* 639 */
63296
+ /* 640 */
63210
63297
  /***/ (function(module, exports, __webpack_require__) {
63211
63298
 
63212
63299
  var baseAssignValue = __webpack_require__(63),
@@ -63255,7 +63342,7 @@ module.exports = mapValues;
63255
63342
 
63256
63343
 
63257
63344
  /***/ }),
63258
- /* 640 */
63345
+ /* 641 */
63259
63346
  /***/ (function(module, exports, __webpack_require__) {
63260
63347
 
63261
63348
  "use strict";
@@ -63298,7 +63385,7 @@ module.exports = function watchAudioAcquisition(getStats, warningCb) {
63298
63385
  };
63299
63386
 
63300
63387
  /***/ }),
63301
- /* 641 */
63388
+ /* 642 */
63302
63389
  /***/ (function(module, exports, __webpack_require__) {
63303
63390
 
63304
63391
  "use strict";
@@ -63394,7 +63481,7 @@ module.exports = function watchSubscriberAudio(getStats, warningCb, disableAudio
63394
63481
  };
63395
63482
 
63396
63483
  /***/ }),
63397
- /* 642 */
63484
+ /* 643 */
63398
63485
  /***/ (function(module, exports, __webpack_require__) {
63399
63486
 
63400
63487
  "use strict";
@@ -63472,7 +63559,7 @@ module.exports = function reportIssueFactory(deps) {
63472
63559
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
63473
63560
 
63474
63561
  /***/ }),
63475
- /* 643 */
63562
+ /* 644 */
63476
63563
  /***/ (function(module, exports, __webpack_require__) {
63477
63564
 
63478
63565
  "use strict";
@@ -63500,7 +63587,7 @@ module.exports = (_ref) => {
63500
63587
  };
63501
63588
 
63502
63589
  /***/ }),
63503
- /* 644 */
63590
+ /* 645 */
63504
63591
  /***/ (function(module, exports, __webpack_require__) {
63505
63592
 
63506
63593
  "use strict";
@@ -63549,7 +63636,7 @@ module.exports = function versionGreaterThan(version1, version2) {
63549
63636
  };
63550
63637
 
63551
63638
  /***/ }),
63552
- /* 645 */
63639
+ /* 646 */
63553
63640
  /***/ (function(module, exports, __webpack_require__) {
63554
63641
 
63555
63642
  "use strict";
@@ -63687,7 +63774,7 @@ Cancellation.CANCELED = new Cancellation();
63687
63774
  Cancellation.CANCELED.internalIsCanceled = true;
63688
63775
 
63689
63776
  /***/ }),
63690
- /* 646 */
63777
+ /* 647 */
63691
63778
  /***/ (function(module, exports, __webpack_require__) {
63692
63779
 
63693
63780
  "use strict";
@@ -63731,7 +63818,7 @@ module.exports = waitForCorrectResolution;
63731
63818
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
63732
63819
 
63733
63820
  /***/ }),
63734
- /* 647 */
63821
+ /* 648 */
63735
63822
  /***/ (function(module, exports, __webpack_require__) {
63736
63823
 
63737
63824
  "use strict";
@@ -63772,7 +63859,7 @@ module.exports = waitForVideoToBePlaying;
63772
63859
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
63773
63860
 
63774
63861
  /***/ }),
63775
- /* 648 */
63862
+ /* 649 */
63776
63863
  /***/ (function(module, exports, __webpack_require__) {
63777
63864
 
63778
63865
  "use strict";
@@ -63815,7 +63902,7 @@ container) {
63815
63902
  };
63816
63903
 
63817
63904
  /***/ }),
63818
- /* 649 */
63905
+ /* 650 */
63819
63906
  /***/ (function(module, exports, __webpack_require__) {
63820
63907
 
63821
63908
  "use strict";
@@ -63887,7 +63974,7 @@ module.exports = function getOrCreateContainer(elementOrDomId, insertMode) {
63887
63974
  };
63888
63975
 
63889
63976
  /***/ }),
63890
- /* 650 */
63977
+ /* 651 */
63891
63978
  /***/ (function(module, exports, __webpack_require__) {
63892
63979
 
63893
63980
  "use strict";
@@ -63906,7 +63993,7 @@ module.exports = function ensureCSSUnit(measurement, defaultUnit) {
63906
63993
  };
63907
63994
 
63908
63995
  /***/ }),
63909
- /* 651 */
63996
+ /* 652 */
63910
63997
  /***/ (function(module, exports, __webpack_require__) {
63911
63998
 
63912
63999
  "use strict";
@@ -63948,7 +64035,7 @@ module.exports = function waitUntil(predicate, _temp) {
63948
64035
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
63949
64036
 
63950
64037
  /***/ }),
63951
- /* 652 */
64038
+ /* 653 */
63952
64039
  /***/ (function(module, exports, __webpack_require__) {
63953
64040
 
63954
64041
  "use strict";
@@ -63973,7 +64060,7 @@ module.exports = err => {
63973
64060
  };
63974
64061
 
63975
64062
  /***/ }),
63976
- /* 653 */
64063
+ /* 654 */
63977
64064
  /***/ (function(module, exports, __webpack_require__) {
63978
64065
 
63979
64066
  "use strict";
@@ -64043,7 +64130,7 @@ module.exports = (_ref) => {
64043
64130
  };
64044
64131
 
64045
64132
  /***/ }),
64046
- /* 654 */
64133
+ /* 655 */
64047
64134
  /***/ (function(module, exports, __webpack_require__) {
64048
64135
 
64049
64136
  "use strict";
@@ -64054,7 +64141,7 @@ const GetAudioLevelSampler = __webpack_require__(253);
64054
64141
 
64055
64142
  const WebAudioAudioLevelSampler = __webpack_require__(145);
64056
64143
 
64057
- const hasSynchronizationSourcesCapability = __webpack_require__(655);
64144
+ const hasSynchronizationSourcesCapability = __webpack_require__(656);
64058
64145
 
64059
64146
  const hasAudioOutputLevelStatCapability = __webpack_require__(301);
64060
64147
 
@@ -64062,7 +64149,7 @@ const hasRemoteStreamsWithWebAudio = __webpack_require__(302);
64062
64149
 
64063
64150
  const getAudioContext = __webpack_require__(158)();
64064
64151
 
64065
- const isAudioContext = __webpack_require__(656);
64152
+ const isAudioContext = __webpack_require__(657);
64066
64153
 
64067
64154
  const logging = __webpack_require__(1)('Subscriber');
64068
64155
 
@@ -64100,7 +64187,7 @@ module.exports = function (peerConnection, deps) {
64100
64187
  };
64101
64188
 
64102
64189
  /***/ }),
64103
- /* 655 */
64190
+ /* 656 */
64104
64191
  /***/ (function(module, exports, __webpack_require__) {
64105
64192
 
64106
64193
  "use strict";
@@ -64124,7 +64211,7 @@ module.exports = function (deps) {
64124
64211
  };
64125
64212
 
64126
64213
  /***/ }),
64127
- /* 656 */
64214
+ /* 657 */
64128
64215
  /***/ (function(module, exports, __webpack_require__) {
64129
64216
 
64130
64217
  "use strict";
@@ -64133,7 +64220,7 @@ module.exports = function (deps) {
64133
64220
  module.exports = audioContext => (typeof window !== undefined ? window : global).AudioContext && audioContext instanceof (typeof window !== undefined ? window : global).AudioContext || (typeof window !== undefined ? window : global).webkitAudioContext && audioContext instanceof (typeof window !== undefined ? window : global).webkitAudioContext;
64134
64221
 
64135
64222
  /***/ }),
64136
- /* 657 */
64223
+ /* 658 */
64137
64224
  /***/ (function(module, exports, __webpack_require__) {
64138
64225
 
64139
64226
  "use strict";
@@ -64196,7 +64283,7 @@ module.exports = function VideoDisabledIndicator(options) {
64196
64283
  };
64197
64284
 
64198
64285
  /***/ }),
64199
- /* 658 */
64286
+ /* 659 */
64200
64287
  /***/ (function(module, exports, __webpack_require__) {
64201
64288
 
64202
64289
  "use strict";
@@ -64246,7 +64333,7 @@ module.exports = function AudioBlockedIndicator(options) {
64246
64333
  };
64247
64334
 
64248
64335
  /***/ }),
64249
- /* 659 */
64336
+ /* 660 */
64250
64337
  /***/ (function(module, exports, __webpack_require__) {
64251
64338
 
64252
64339
  "use strict";
@@ -64293,7 +64380,7 @@ module.exports = function VideoUnsupportedIndicator(options) {
64293
64380
  };
64294
64381
 
64295
64382
  /***/ }),
64296
- /* 660 */
64383
+ /* 661 */
64297
64384
  /***/ (function(module, exports, __webpack_require__) {
64298
64385
 
64299
64386
  "use strict";
@@ -64379,7 +64466,7 @@ const watchFrameRate = function watchFrameRate(getStats, delay) {
64379
64466
  module.exports = watchFrameRate;
64380
64467
 
64381
64468
  /***/ }),
64382
- /* 661 */
64469
+ /* 662 */
64383
64470
  /***/ (function(module, exports, __webpack_require__) {
64384
64471
 
64385
64472
  "use strict";
@@ -64408,7 +64495,7 @@ module.exports = (_ref) => {
64408
64495
  };
64409
64496
 
64410
64497
  /***/ }),
64411
- /* 662 */
64498
+ /* 663 */
64412
64499
  /***/ (function(module, exports, __webpack_require__) {
64413
64500
 
64414
64501
  "use strict";
@@ -64452,7 +64539,7 @@ module.exports = (_ref) => {
64452
64539
  };
64453
64540
 
64454
64541
  /***/ }),
64455
- /* 663 */
64542
+ /* 664 */
64456
64543
  /***/ (function(module, exports, __webpack_require__) {
64457
64544
 
64458
64545
  "use strict";
@@ -64481,10 +64568,10 @@ module.exports = (_ref) => {
64481
64568
  };
64482
64569
 
64483
64570
  /***/ }),
64484
- /* 664 */
64571
+ /* 665 */
64485
64572
  /***/ (function(module, exports, __webpack_require__) {
64486
64573
 
64487
- var createCompounder = __webpack_require__(665),
64574
+ var createCompounder = __webpack_require__(666),
64488
64575
  upperFirst = __webpack_require__(259);
64489
64576
 
64490
64577
  /**
@@ -64516,12 +64603,12 @@ module.exports = startCase;
64516
64603
 
64517
64604
 
64518
64605
  /***/ }),
64519
- /* 665 */
64606
+ /* 666 */
64520
64607
  /***/ (function(module, exports, __webpack_require__) {
64521
64608
 
64522
- var arrayReduce = __webpack_require__(666),
64523
- deburr = __webpack_require__(667),
64524
- words = __webpack_require__(670);
64609
+ var arrayReduce = __webpack_require__(667),
64610
+ deburr = __webpack_require__(668),
64611
+ words = __webpack_require__(671);
64525
64612
 
64526
64613
  /** Used to compose unicode capture groups. */
64527
64614
  var rsApos = "['\u2019]";
@@ -64546,7 +64633,7 @@ module.exports = createCompounder;
64546
64633
 
64547
64634
 
64548
64635
  /***/ }),
64549
- /* 666 */
64636
+ /* 667 */
64550
64637
  /***/ (function(module, exports) {
64551
64638
 
64552
64639
  /**
@@ -64578,10 +64665,10 @@ module.exports = arrayReduce;
64578
64665
 
64579
64666
 
64580
64667
  /***/ }),
64581
- /* 667 */
64668
+ /* 668 */
64582
64669
  /***/ (function(module, exports, __webpack_require__) {
64583
64670
 
64584
- var deburrLetter = __webpack_require__(668),
64671
+ var deburrLetter = __webpack_require__(669),
64585
64672
  toString = __webpack_require__(58);
64586
64673
 
64587
64674
  /** Used to match Latin Unicode letters (excluding mathematical operators). */
@@ -64629,10 +64716,10 @@ module.exports = deburr;
64629
64716
 
64630
64717
 
64631
64718
  /***/ }),
64632
- /* 668 */
64719
+ /* 669 */
64633
64720
  /***/ (function(module, exports, __webpack_require__) {
64634
64721
 
64635
- var basePropertyOf = __webpack_require__(669);
64722
+ var basePropertyOf = __webpack_require__(670);
64636
64723
 
64637
64724
  /** Used to map Latin Unicode letters to basic Latin letters. */
64638
64725
  var deburredLetters = {
@@ -64706,7 +64793,7 @@ module.exports = deburrLetter;
64706
64793
 
64707
64794
 
64708
64795
  /***/ }),
64709
- /* 669 */
64796
+ /* 670 */
64710
64797
  /***/ (function(module, exports) {
64711
64798
 
64712
64799
  /**
@@ -64726,13 +64813,13 @@ module.exports = basePropertyOf;
64726
64813
 
64727
64814
 
64728
64815
  /***/ }),
64729
- /* 670 */
64816
+ /* 671 */
64730
64817
  /***/ (function(module, exports, __webpack_require__) {
64731
64818
 
64732
- var asciiWords = __webpack_require__(671),
64733
- hasUnicodeWord = __webpack_require__(672),
64819
+ var asciiWords = __webpack_require__(672),
64820
+ hasUnicodeWord = __webpack_require__(673),
64734
64821
  toString = __webpack_require__(58),
64735
- unicodeWords = __webpack_require__(673);
64822
+ unicodeWords = __webpack_require__(674);
64736
64823
 
64737
64824
  /**
64738
64825
  * Splits `string` into an array of its words.
@@ -64767,7 +64854,7 @@ module.exports = words;
64767
64854
 
64768
64855
 
64769
64856
  /***/ }),
64770
- /* 671 */
64857
+ /* 672 */
64771
64858
  /***/ (function(module, exports) {
64772
64859
 
64773
64860
  /** Used to match words composed of alphanumeric characters. */
@@ -64788,7 +64875,7 @@ module.exports = asciiWords;
64788
64875
 
64789
64876
 
64790
64877
  /***/ }),
64791
- /* 672 */
64878
+ /* 673 */
64792
64879
  /***/ (function(module, exports) {
64793
64880
 
64794
64881
  /** Used to detect strings that need a more robust regexp to match words. */
@@ -64809,7 +64896,7 @@ module.exports = hasUnicodeWord;
64809
64896
 
64810
64897
 
64811
64898
  /***/ }),
64812
- /* 673 */
64899
+ /* 674 */
64813
64900
  /***/ (function(module, exports) {
64814
64901
 
64815
64902
  /** Used to compose unicode character classes. */
@@ -64884,7 +64971,7 @@ module.exports = unicodeWords;
64884
64971
 
64885
64972
 
64886
64973
  /***/ }),
64887
- /* 674 */
64974
+ /* 675 */
64888
64975
  /***/ (function(module, exports, __webpack_require__) {
64889
64976
 
64890
64977
  "use strict";
@@ -64904,7 +64991,7 @@ module.exports = (peerConnection, activeState) => {
64904
64991
  };
64905
64992
 
64906
64993
  /***/ }),
64907
- /* 675 */
64994
+ /* 676 */
64908
64995
  /***/ (function(module, exports, __webpack_require__) {
64909
64996
 
64910
64997
  "use strict";
@@ -64916,7 +65003,7 @@ const pick = __webpack_require__(47);
64916
65003
  module.exports = x => pick(x, ['audioDeviceId', 'audioFallbackEnabled', 'audioSource', 'channels', 'classNames', 'constraints', 'disableAudioProcessing', 'echoCancellation', 'noiseSuppression', 'autoGainControl', 'enableRenegotiation', 'enableStereo', 'facingMode', 'fitMode', 'frameRate', 'height', 'insertDefaultUI', 'insertMode', 'audioBitrate', 'maxResolution', 'minVideoBitrate', 'mirror', 'name', 'publishAudio', 'publishVideo', 'resolution', 'showControls', 'style', 'videoContentHint', 'videoDeviceId', 'videoDimensions', 'videoSource', 'width']);
64917
65004
 
64918
65005
  /***/ }),
64919
- /* 676 */
65006
+ /* 677 */
64920
65007
  /***/ (function(module, exports, __webpack_require__) {
64921
65008
 
64922
65009
  "use strict";
@@ -64983,7 +65070,7 @@ module.exports = (_ref) => {
64983
65070
  };
64984
65071
 
64985
65072
  /***/ }),
64986
- /* 677 */
65073
+ /* 678 */
64987
65074
  /***/ (function(module, exports, __webpack_require__) {
64988
65075
 
64989
65076
  "use strict";
@@ -65051,7 +65138,7 @@ module.exports = function blockCallsUntilComplete(fn) {
65051
65138
  };
65052
65139
 
65053
65140
  /***/ }),
65054
- /* 678 */
65141
+ /* 679 */
65055
65142
  /***/ (function(module, exports, __webpack_require__) {
65056
65143
 
65057
65144
  "use strict";
@@ -65082,7 +65169,7 @@ module.exports = function createCanvasVideoTrack(dimensions) {
65082
65169
  };
65083
65170
 
65084
65171
  /***/ }),
65085
- /* 679 */
65172
+ /* 680 */
65086
65173
  /***/ (function(module, exports, __webpack_require__) {
65087
65174
 
65088
65175
  "use strict";
@@ -65135,7 +65222,7 @@ module.exports = (stream, videoDevices) => {
65135
65222
  };
65136
65223
 
65137
65224
  /***/ }),
65138
- /* 680 */
65225
+ /* 681 */
65139
65226
  /***/ (function(module, exports, __webpack_require__) {
65140
65227
 
65141
65228
  "use strict";
@@ -65155,7 +65242,7 @@ module.exports = error => {
65155
65242
  };
65156
65243
 
65157
65244
  /***/ }),
65158
- /* 681 */
65245
+ /* 682 */
65159
65246
  /***/ (function(module, exports, __webpack_require__) {
65160
65247
 
65161
65248
  "use strict";
@@ -65166,7 +65253,7 @@ const isNullOrFalse = value => value === null || value === false;
65166
65253
  module.exports = isNullOrFalse;
65167
65254
 
65168
65255
  /***/ }),
65169
- /* 682 */
65256
+ /* 683 */
65170
65257
  /***/ (function(module, exports, __webpack_require__) {
65171
65258
 
65172
65259
  "use strict";
@@ -65182,10 +65269,10 @@ module.exports = properties => {
65182
65269
  };
65183
65270
 
65184
65271
  /***/ }),
65185
- /* 683 */
65272
+ /* 684 */
65186
65273
  /***/ (function(module, exports, __webpack_require__) {
65187
65274
 
65188
- var baseFindKey = __webpack_require__(684),
65275
+ var baseFindKey = __webpack_require__(685),
65189
65276
  baseForOwn = __webpack_require__(99),
65190
65277
  baseIteratee = __webpack_require__(34);
65191
65278
 
@@ -65232,7 +65319,7 @@ module.exports = findKey;
65232
65319
 
65233
65320
 
65234
65321
  /***/ }),
65235
- /* 684 */
65322
+ /* 685 */
65236
65323
  /***/ (function(module, exports) {
65237
65324
 
65238
65325
  /**
@@ -65261,7 +65348,7 @@ module.exports = baseFindKey;
65261
65348
 
65262
65349
 
65263
65350
  /***/ }),
65264
- /* 685 */
65351
+ /* 686 */
65265
65352
  /***/ (function(module, exports, __webpack_require__) {
65266
65353
 
65267
65354
  "use strict";
@@ -65336,7 +65423,7 @@ module.exports = (_ref) => {
65336
65423
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
65337
65424
 
65338
65425
  /***/ }),
65339
- /* 686 */
65426
+ /* 687 */
65340
65427
  /***/ (function(module, exports, __webpack_require__) {
65341
65428
 
65342
65429
  "use strict";
@@ -65377,7 +65464,7 @@ module.exports = (_ref) => {
65377
65464
  };
65378
65465
 
65379
65466
  /***/ }),
65380
- /* 687 */
65467
+ /* 688 */
65381
65468
  /***/ (function(module, exports, __webpack_require__) {
65382
65469
 
65383
65470
  "use strict";
@@ -65408,7 +65495,7 @@ module.exports = function convertAnvilErrorCode(code) {
65408
65495
  };
65409
65496
 
65410
65497
  /***/ }),
65411
- /* 688 */
65498
+ /* 689 */
65412
65499
  /***/ (function(module, exports, __webpack_require__) {
65413
65500
 
65414
65501
  "use strict";
@@ -65446,7 +65533,7 @@ module.exports = {
65446
65533
  };
65447
65534
 
65448
65535
  /***/ }),
65449
- /* 689 */
65536
+ /* 690 */
65450
65537
  /***/ (function(module, exports, __webpack_require__) {
65451
65538
 
65452
65539
  "use strict";
@@ -65469,7 +65556,7 @@ var _uuid = _interopRequireDefault(__webpack_require__(19));
65469
65556
 
65470
65557
  var _serializeMessage = _interopRequireDefault(__webpack_require__(312));
65471
65558
 
65472
- var _defaultRumorSocket = _interopRequireDefault(__webpack_require__(690));
65559
+ var _defaultRumorSocket = _interopRequireDefault(__webpack_require__(691));
65473
65560
 
65474
65561
  // @todo enable the following disabled rules see OPENTOK-31136 for more info
65475
65562
 
@@ -65489,7 +65576,7 @@ function RaptorSocketFactory(deps) {
65489
65576
 
65490
65577
  const hasIceRestartsCapability = deps.hasIceRestartsCapability || __webpack_require__(311);
65491
65578
 
65492
- const hasRenegotiationCapability = deps.hasRenegotiationCapability || __webpack_require__(706);
65579
+ const hasRenegotiationCapability = deps.hasRenegotiationCapability || __webpack_require__(707);
65493
65580
 
65494
65581
  const logging = deps.logging || __webpack_require__(1)('RaptorSocket');
65495
65582
 
@@ -65501,7 +65588,7 @@ function RaptorSocketFactory(deps) {
65501
65588
 
65502
65589
  const Signal = deps.Signal || __webpack_require__(316);
65503
65590
 
65504
- const SignalError = deps.SignalError || __webpack_require__(711); // The Dispatcher bit is purely to make testing simpler, it defaults to a new Dispatcher so in
65591
+ const SignalError = deps.SignalError || __webpack_require__(712); // The Dispatcher bit is purely to make testing simpler, it defaults to a new Dispatcher so in
65505
65592
  // normal operation you would omit it.
65506
65593
 
65507
65594
 
@@ -65972,7 +66059,7 @@ function RaptorSocketFactory(deps) {
65972
66059
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
65973
66060
 
65974
66061
  /***/ }),
65975
- /* 690 */
66062
+ /* 691 */
65976
66063
  /***/ (function(module, exports, __webpack_require__) {
65977
66064
 
65978
66065
  "use strict";
@@ -65985,15 +66072,15 @@ exports.default = defaultRumorSocket;
65985
66072
 
65986
66073
  var _events = _interopRequireDefault(__webpack_require__(41));
65987
66074
 
65988
- var _createCounter = _interopRequireDefault(__webpack_require__(691));
66075
+ var _createCounter = _interopRequireDefault(__webpack_require__(692));
65989
66076
 
65990
66077
  var _log = _interopRequireDefault(__webpack_require__(1));
65991
66078
 
65992
- var _ReconnectableSocket = _interopRequireDefault(__webpack_require__(692));
66079
+ var _ReconnectableSocket = _interopRequireDefault(__webpack_require__(693));
65993
66080
 
65994
- var _RumorSocket = _interopRequireDefault(__webpack_require__(697));
66081
+ var _RumorSocket = _interopRequireDefault(__webpack_require__(698));
65995
66082
 
65996
- var _WebSocket = _interopRequireDefault(__webpack_require__(702));
66083
+ var _WebSocket = _interopRequireDefault(__webpack_require__(703));
65997
66084
 
65998
66085
  /* eslint-disable no-underscore-dangle */
65999
66086
  function defaultRumorSocket(_temp) {
@@ -66018,7 +66105,7 @@ function defaultRumorSocket(_temp) {
66018
66105
  }
66019
66106
 
66020
66107
  /***/ }),
66021
- /* 691 */
66108
+ /* 692 */
66022
66109
  /***/ (function(module, exports, __webpack_require__) {
66023
66110
 
66024
66111
  "use strict";
@@ -66036,7 +66123,7 @@ function createCounter() {
66036
66123
  }
66037
66124
 
66038
66125
  /***/ }),
66039
- /* 692 */
66126
+ /* 693 */
66040
66127
  /***/ (function(module, exports, __webpack_require__) {
66041
66128
 
66042
66129
  "use strict";
@@ -66063,13 +66150,13 @@ var _logEvents = _interopRequireDefault(__webpack_require__(313));
66063
66150
 
66064
66151
  var _socketCloseCodes = __webpack_require__(76);
66065
66152
 
66066
- var _Timer = _interopRequireDefault(__webpack_require__(693));
66153
+ var _Timer = _interopRequireDefault(__webpack_require__(694));
66067
66154
 
66068
66155
  var _eventHelper = _interopRequireDefault(__webpack_require__(62));
66069
66156
 
66070
- var _createReadyStateMachine = _interopRequireDefault(__webpack_require__(694));
66157
+ var _createReadyStateMachine = _interopRequireDefault(__webpack_require__(695));
66071
66158
 
66072
- var _drainWebSocket = _interopRequireDefault(__webpack_require__(696));
66159
+ var _drainWebSocket = _interopRequireDefault(__webpack_require__(697));
66073
66160
 
66074
66161
  /* eslint-disable no-underscore-dangle, no-constant-condition */
66075
66162
  const removeReturnVal = fn => function () {
@@ -66519,7 +66606,7 @@ var _default = (_ref) => {
66519
66606
  exports.default = _default;
66520
66607
 
66521
66608
  /***/ }),
66522
- /* 693 */
66609
+ /* 694 */
66523
66610
  /***/ (function(module, exports, __webpack_require__) {
66524
66611
 
66525
66612
  "use strict";
@@ -66586,7 +66673,7 @@ let Timer = /*#__PURE__*/function () {
66586
66673
  exports.default = Timer;
66587
66674
 
66588
66675
  /***/ }),
66589
- /* 694 */
66676
+ /* 695 */
66590
66677
  /***/ (function(module, exports, __webpack_require__) {
66591
66678
 
66592
66679
  "use strict";
@@ -66599,7 +66686,7 @@ exports.default = void 0;
66599
66686
 
66600
66687
  var _javascriptStateMachine = _interopRequireDefault(__webpack_require__(305));
66601
66688
 
66602
- var _elapsed = _interopRequireDefault(__webpack_require__(695));
66689
+ var _elapsed = _interopRequireDefault(__webpack_require__(696));
66603
66690
 
66604
66691
  var _socketCloseCodes = __webpack_require__(76);
66605
66692
 
@@ -66666,7 +66753,7 @@ var _default = (_ref) => {
66666
66753
  exports.default = _default;
66667
66754
 
66668
66755
  /***/ }),
66669
- /* 695 */
66756
+ /* 696 */
66670
66757
  /***/ (function(module, exports, __webpack_require__) {
66671
66758
 
66672
66759
  "use strict";
@@ -66681,7 +66768,7 @@ module.exports = timeInMilliseconds => {
66681
66768
  };
66682
66769
 
66683
66770
  /***/ }),
66684
- /* 696 */
66771
+ /* 697 */
66685
66772
  /***/ (function(module, exports, __webpack_require__) {
66686
66773
 
66687
66774
  "use strict";
@@ -66745,7 +66832,7 @@ var _default = /*#__PURE__*/function () {
66745
66832
  exports.default = _default;
66746
66833
 
66747
66834
  /***/ }),
66748
- /* 697 */
66835
+ /* 698 */
66749
66836
  /***/ (function(module, exports, __webpack_require__) {
66750
66837
 
66751
66838
  "use strict";
@@ -66770,11 +66857,11 @@ var _uuid = _interopRequireDefault(__webpack_require__(19));
66770
66857
 
66771
66858
  var _logEvents = _interopRequireDefault(__webpack_require__(313));
66772
66859
 
66773
- var _RumorMessage = _interopRequireDefault(__webpack_require__(698));
66860
+ var _RumorMessage = _interopRequireDefault(__webpack_require__(699));
66774
66861
 
66775
66862
  var RumorMessageTypes = _interopRequireWildcard(__webpack_require__(171));
66776
66863
 
66777
- var _SocketError = _interopRequireDefault(__webpack_require__(701));
66864
+ var _SocketError = _interopRequireDefault(__webpack_require__(702));
66778
66865
 
66779
66866
  var _socketCloseCodes = __webpack_require__(76);
66780
66867
 
@@ -67102,7 +67189,7 @@ var _default = (_ref) => {
67102
67189
  exports.default = _default;
67103
67190
 
67104
67191
  /***/ }),
67105
- /* 698 */
67192
+ /* 699 */
67106
67193
  /***/ (function(module, exports, __webpack_require__) {
67107
67194
 
67108
67195
  "use strict";
@@ -67119,7 +67206,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(18));
67119
67206
 
67120
67207
  var _uuid = _interopRequireDefault(__webpack_require__(19));
67121
67208
 
67122
- var _encoding = __webpack_require__(699);
67209
+ var _encoding = __webpack_require__(700);
67123
67210
 
67124
67211
  var RumorMessageTypes = _interopRequireWildcard(__webpack_require__(171));
67125
67212
 
@@ -67344,7 +67431,7 @@ let RumorMessage = /*#__PURE__*/function () {
67344
67431
  exports.default = RumorMessage;
67345
67432
 
67346
67433
  /***/ }),
67347
- /* 699 */
67434
+ /* 700 */
67348
67435
  /***/ (function(module, exports, __webpack_require__) {
67349
67436
 
67350
67437
  "use strict";
@@ -67355,7 +67442,7 @@ var _interopRequireWildcard = __webpack_require__(108);
67355
67442
  exports.__esModule = true;
67356
67443
  exports.TextDecoder = exports.TextEncoder = void 0;
67357
67444
 
67358
- var TextEncoding = _interopRequireWildcard(__webpack_require__(700));
67445
+ var TextEncoding = _interopRequireWildcard(__webpack_require__(701));
67359
67446
 
67360
67447
  // Unfortunately it looks like the text-encoding module always returns its implementations of
67361
67448
  // TextEncoder and TextDecoder, so we wrap it here to expose the global (window) ones, if available.
@@ -67365,7 +67452,7 @@ const TextDecoder = (typeof window !== undefined ? window : global).TextDecoder
67365
67452
  exports.TextDecoder = TextDecoder;
67366
67453
 
67367
67454
  /***/ }),
67368
- /* 700 */
67455
+ /* 701 */
67369
67456
  /***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) {
67370
67457
 
67371
67458
  "use strict";
@@ -68040,7 +68127,7 @@ function UTF8Encoder(options) {
68040
68127
 
68041
68128
 
68042
68129
  /***/ }),
68043
- /* 701 */
68130
+ /* 702 */
68044
68131
  /***/ (function(module, exports, __webpack_require__) {
68045
68132
 
68046
68133
  "use strict";
@@ -68075,7 +68162,7 @@ let SocketError = function SocketError(code, message) {
68075
68162
  exports.default = SocketError;
68076
68163
 
68077
68164
  /***/ }),
68078
- /* 702 */
68165
+ /* 703 */
68079
68166
  /***/ (function(module, exports, __webpack_require__) {
68080
68167
 
68081
68168
  "use strict";
@@ -68086,7 +68173,7 @@ var _interopRequireDefault = __webpack_require__(3);
68086
68173
  exports.__esModule = true;
68087
68174
  exports.default = void 0;
68088
68175
 
68089
- var _ws = _interopRequireDefault(__webpack_require__(703));
68176
+ var _ws = _interopRequireDefault(__webpack_require__(704));
68090
68177
 
68091
68178
  var _default = (() => {
68092
68179
  if ((typeof window !== undefined ? window : global).WebSocket) {
@@ -68099,7 +68186,7 @@ var _default = (() => {
68099
68186
  exports.default = _default;
68100
68187
 
68101
68188
  /***/ }),
68102
- /* 703 */
68189
+ /* 704 */
68103
68190
  /***/ (function(module, exports, __webpack_require__) {
68104
68191
 
68105
68192
  "use strict";
@@ -68114,13 +68201,13 @@ module.exports = function () {
68114
68201
 
68115
68202
 
68116
68203
  /***/ }),
68117
- /* 704 */
68204
+ /* 705 */
68118
68205
  /***/ (function(module, exports, __webpack_require__) {
68119
68206
 
68120
68207
  "use strict";
68121
68208
 
68122
68209
 
68123
- const deserializeMessage = __webpack_require__(705);
68210
+ const deserializeMessage = __webpack_require__(706);
68124
68211
 
68125
68212
  module.exports = function unboxFromRumorMessage(rumorMessage) {
68126
68213
  const message = deserializeMessage(rumorMessage.data);
@@ -68130,7 +68217,7 @@ module.exports = function unboxFromRumorMessage(rumorMessage) {
68130
68217
  };
68131
68218
 
68132
68219
  /***/ }),
68133
- /* 705 */
68220
+ /* 706 */
68134
68221
  /***/ (function(module, exports, __webpack_require__) {
68135
68222
 
68136
68223
  "use strict";
@@ -68185,7 +68272,7 @@ module.exports = function deserializeMessage(msg) {
68185
68272
  };
68186
68273
 
68187
68274
  /***/ }),
68188
- /* 706 */
68275
+ /* 707 */
68189
68276
  /***/ (function(module, exports, __webpack_require__) {
68190
68277
 
68191
68278
  "use strict";
@@ -68199,7 +68286,7 @@ const hasOpenTokSupport = __webpack_require__(60).once;
68199
68286
  module.exports = () => hasOpenTokSupport() && ['Chrome', 'Firefox', 'Safari'].indexOf(name) > -1;
68200
68287
 
68201
68288
  /***/ }),
68202
- /* 707 */
68289
+ /* 708 */
68203
68290
  /***/ (function(module, exports, __webpack_require__) {
68204
68291
 
68205
68292
  "use strict";
@@ -68220,7 +68307,7 @@ const hasOpenTokSupport = __webpack_require__(60).once; // TODO Remove all trans
68220
68307
  module.exports = () => hasOpenTokSupport() && (env.name === 'Chrome' || env.name === 'Firefox' || env.name === 'Node' || env.name === 'Safari' || env.name === 'Edge');
68221
68308
 
68222
68309
  /***/ }),
68223
- /* 708 */
68310
+ /* 709 */
68224
68311
  /***/ (function(module, exports, __webpack_require__) {
68225
68312
 
68226
68313
  "use strict";
@@ -68235,7 +68322,7 @@ const hasOpenTokSupport = __webpack_require__(60).once; // Indicates if the brow
68235
68322
  module.exports = () => hasOpenTokSupport();
68236
68323
 
68237
68324
  /***/ }),
68238
- /* 709 */
68325
+ /* 710 */
68239
68326
  /***/ (function(module, exports, __webpack_require__) {
68240
68327
 
68241
68328
  "use strict";
@@ -68244,7 +68331,7 @@ module.exports = () => hasOpenTokSupport();
68244
68331
  module.exports = 'DTLS_SRTP';
68245
68332
 
68246
68333
  /***/ }),
68247
- /* 710 */
68334
+ /* 711 */
68248
68335
  /***/ (function(module, exports, __webpack_require__) {
68249
68336
 
68250
68337
  "use strict";
@@ -68258,7 +68345,7 @@ module.exports = function capabilitiesFromHash(_ref) {
68258
68345
  };
68259
68346
 
68260
68347
  /***/ }),
68261
- /* 711 */
68348
+ /* 712 */
68262
68349
  /***/ (function(module, exports, __webpack_require__) {
68263
68350
 
68264
68351
  "use strict";
@@ -68272,7 +68359,7 @@ module.exports = function SignalError(code, message) {
68272
68359
  };
68273
68360
 
68274
68361
  /***/ }),
68275
- /* 712 */
68362
+ /* 713 */
68276
68363
  /***/ (function(module, exports, __webpack_require__) {
68277
68364
 
68278
68365
  "use strict";
@@ -68321,7 +68408,7 @@ const DelayedEventQueue = function DelayedEventQueue(eventDispatcher) {
68321
68408
  module.exports = DelayedEventQueue;
68322
68409
 
68323
68410
  /***/ }),
68324
- /* 713 */
68411
+ /* 714 */
68325
68412
  /***/ (function(module, exports, __webpack_require__) {
68326
68413
 
68327
68414
  "use strict";
@@ -68343,9 +68430,9 @@ const SessionInfo = __webpack_require__(141);
68343
68430
 
68344
68431
  const ExceptionCodes = __webpack_require__(8);
68345
68432
 
68346
- const mapErrorCodeToName = __webpack_require__(714);
68433
+ const mapErrorCodeToName = __webpack_require__(715);
68347
68434
 
68348
- const mapStatusCodeToErrorCode = __webpack_require__(715);
68435
+ const mapStatusCodeToErrorCode = __webpack_require__(716);
68349
68436
 
68350
68437
  const promiseEndeavour = __webpack_require__(289).default;
68351
68438
 
@@ -68494,7 +68581,7 @@ function getSessionInfoFactory(_temp) {
68494
68581
  module.exports = getSessionInfoFactory;
68495
68582
 
68496
68583
  /***/ }),
68497
- /* 714 */
68584
+ /* 715 */
68498
68585
  /***/ (function(module, exports, __webpack_require__) {
68499
68586
 
68500
68587
  "use strict";
@@ -68530,7 +68617,7 @@ function mapErrorCodeToName(code) {
68530
68617
  module.exports = mapErrorCodeToName;
68531
68618
 
68532
68619
  /***/ }),
68533
- /* 715 */
68620
+ /* 716 */
68534
68621
  /***/ (function(module, exports, __webpack_require__) {
68535
68622
 
68536
68623
  "use strict";
@@ -68558,7 +68645,7 @@ function mapStatusCodeToErrorCode(code) {
68558
68645
  module.exports = mapStatusCodeToErrorCode;
68559
68646
 
68560
68647
  /***/ }),
68561
- /* 716 */
68648
+ /* 717 */
68562
68649
  /***/ (function(module, exports, __webpack_require__) {
68563
68650
 
68564
68651
  "use strict";
@@ -68672,7 +68759,7 @@ module.exports = function initSessionFactory(deps) {
68672
68759
  };
68673
68760
 
68674
68761
  /***/ }),
68675
- /* 717 */
68762
+ /* 718 */
68676
68763
  /***/ (function(module, exports, __webpack_require__) {
68677
68764
 
68678
68765
  "use strict";
@@ -68684,7 +68771,7 @@ var _regenerator = _interopRequireDefault(__webpack_require__(12));
68684
68771
 
68685
68772
  var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(13));
68686
68773
 
68687
- const difference = __webpack_require__(718);
68774
+ const difference = __webpack_require__(719);
68688
68775
 
68689
68776
  const uniq = __webpack_require__(273);
68690
68777
 
@@ -68869,10 +68956,10 @@ const getSupportedCodecs = /*#__PURE__*/function () {
68869
68956
  module.exports = getSupportedCodecs;
68870
68957
 
68871
68958
  /***/ }),
68872
- /* 718 */
68959
+ /* 719 */
68873
68960
  /***/ (function(module, exports, __webpack_require__) {
68874
68961
 
68875
- var baseDifference = __webpack_require__(719),
68962
+ var baseDifference = __webpack_require__(720),
68876
68963
  baseFlatten = __webpack_require__(237),
68877
68964
  baseRest = __webpack_require__(87),
68878
68965
  isArrayLikeObject = __webpack_require__(129);
@@ -68908,7 +68995,7 @@ module.exports = difference;
68908
68995
 
68909
68996
 
68910
68997
  /***/ }),
68911
- /* 719 */
68998
+ /* 720 */
68912
68999
  /***/ (function(module, exports, __webpack_require__) {
68913
69000
 
68914
69001
  var SetCache = __webpack_require__(92),
@@ -68981,7 +69068,7 @@ module.exports = baseDifference;
68981
69068
 
68982
69069
 
68983
69070
  /***/ }),
68984
- /* 720 */
69071
+ /* 721 */
68985
69072
  /***/ (function(module, exports, __webpack_require__) {
68986
69073
 
68987
69074
  "use strict";
@@ -69033,7 +69120,7 @@ module.exports = function getDevices(callback) {
69033
69120
  };
69034
69121
 
69035
69122
  /***/ }),
69036
- /* 721 */
69123
+ /* 722 */
69037
69124
  /***/ (function(module, exports, __webpack_require__) {
69038
69125
 
69039
69126
  "use strict";
@@ -69136,7 +69223,7 @@ module.exports = function (deps) {
69136
69223
  };
69137
69224
 
69138
69225
  /***/ }),
69139
- /* 722 */
69226
+ /* 723 */
69140
69227
  /***/ (function(module, exports, __webpack_require__) {
69141
69228
 
69142
69229
  "use strict";
@@ -69148,7 +69235,7 @@ var _regenerator = _interopRequireDefault(__webpack_require__(12));
69148
69235
 
69149
69236
  var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(13));
69150
69237
 
69151
- const audioOutputDevicesChangeHandler = __webpack_require__(723)();
69238
+ const audioOutputDevicesChangeHandler = __webpack_require__(724)();
69152
69239
 
69153
69240
  const _require = __webpack_require__(23)(),
69154
69241
  hasAudioOutputApiSupport = _require.hasAudioOutputApiSupport,
@@ -69188,7 +69275,7 @@ module.exports = () => {
69188
69275
  };
69189
69276
 
69190
69277
  /***/ }),
69191
- /* 723 */
69278
+ /* 724 */
69192
69279
  /***/ (function(module, exports, __webpack_require__) {
69193
69280
 
69194
69281
  "use strict";
@@ -69282,40 +69369,6 @@ module.exports = function (deps) {
69282
69369
  return audioOutputDevicesChangeHandler;
69283
69370
  };
69284
69371
 
69285
- /***/ }),
69286
- /* 724 */
69287
- /***/ (function(module, exports, __webpack_require__) {
69288
-
69289
- "use strict";
69290
-
69291
-
69292
- /* eslint-disable global-require */
69293
- const AnalyticsHelper = __webpack_require__(27);
69294
-
69295
- module.exports = function (deps) {
69296
- if (deps === void 0) {
69297
- deps = {};
69298
- }
69299
-
69300
- const env = deps.env || __webpack_require__(2);
69301
-
69302
- const analytics = deps.analytics || new AnalyticsHelper();
69303
- analytics.logEvent({
69304
- action: 'UserAgentParsing',
69305
- variation: 'Attempt',
69306
- payload: {
69307
- userAgent: env.userAgent
69308
- }
69309
- });
69310
- analytics.logEvent({
69311
- action: 'UserAgentParsing',
69312
- variation: env.error ? 'Failure' : 'Success',
69313
- payload: {
69314
- userAgent: env.userAgent
69315
- }
69316
- });
69317
- };
69318
-
69319
69372
  /***/ })
69320
69373
  /******/ ]);
69321
69374
  });