2025-11-05 17:04:23 -03:00

15 lines
488 KiB
JavaScript

!function(b,c){var d=function(){return window.JitsiMeetJS=c(),window.JitsiMeetJS};"object"==typeof exports&&"object"==typeof module?module.exports=d():"function"==typeof define&&define.amd?define([],d):"object"==typeof exports?exports.JitsiMeetJS=d():b.JitsiMeetJS=d()}(this,function(){return function(a){function c(d){if(b[d])return b[d].exports;var e=b[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,c),e.loaded=!0,e.exports}var b={};return c.m=a,c.c=b,c.p="",c(0)}([function(a,b,c){(function(b){"use strict";function t(a){return a&&a.__esModule?a:{default:a}}function u(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function K(a){if(!F[a])return null;var b=F[a].order,c=null,d=null;for(var e in F){var f=F[e];(!c||c.order<f.order&&f.order<b)&&(d=e,c=f)}return d}function L(a,b){return b.devices.indexOf("audio")!==-1&&(a+=".audio"),b.devices.indexOf("desktop")!==-1&&(a+=".desktop"),b.devices.indexOf("video")!==-1&&(a+=".video."+b.resolution),a}var d=c(1),e=u(d),f=c(2),g=u(f),h=c(3),i=u(h),j=c(4),k=u(j),l=c(5),m=u(l),n=c(6),o=t(n),p=c(7),q=u(p),r=c(8),s=u(r),v=c(9).getLogger(b),w=c(11),x=c(12),y=c(154),z=c(41),A=c(9),B=c(36),C=c(48),D=c(155),E=c(59),F=c(51),G=c(114),H=c(39),I=c(32),J=500,M={version:"development",JitsiConnection:x,events:{conference:g,connection:k,track:s,mediaDevices:m},errors:{conference:e,connection:i,recorder:z,track:q},errorTypes:{JitsiTrackError:o.default},logLevels:A.levels,mediaDevices:y,analytics:null,init:function(b){var c=void 0,d=void 0;if(E.init(b),this.analytics=E.analytics,b.enableWindowOnErrorHandler&&H.addHandler(this.getGlobalOnErrorHandler.bind(this)),window.jitsiRegionInfo&&Object.keys(window.jitsiRegionInfo).length>0){c={};for(d in window.jitsiRegionInfo)window.jitsiRegionInfo.hasOwnProperty(d)&&(c[d]=window.jitsiRegionInfo[d]);c.id="deployment_info",E.sendLog(JSON.stringify(c))}return this.version&&(c={id:"component_version",component:"lib-jitsi-meet",version:this.version},E.sendLog(JSON.stringify(c))),C.init(b||{})},isDesktopSharingEnabled:function(){return C.isDesktopSharingEnabled()},setLogLevel:function(b){A.setLogLevel(b)},createLocalTracks:function(b,c){var d=!1;return c===!0&&window.setTimeout(function(){d||y.emitEvent(m.PERMISSION_PROMPT_IS_SHOWN,I.getBrowserName())},J),window.connectionTimes||(window.connectionTimes={}),window.connectionTimes["obtainPermissions.start"]=window.performance.now(),C.obtainAudioAndVideoPermissions(b||{}).then(function(a){if(d=!0,window.connectionTimes["obtainPermissions.end"]=window.performance.now(),E.analytics.sendEvent(L("getUserMedia.success",b),{value:b}),!C.options.disableAudioLevels)for(var c=0;c<a.length;c++){var e=a[c],f=e.getOriginalStream();e.getType()===B.AUDIO&&(E.startLocalStats(f,e.setAudioLevel.bind(e)),e.addEventListener(s.LOCAL_TRACK_STOPPED,function(){E.stopLocalStats(f)}))}var g=C.getCurrentlyAvailableMediaDevices();if(g)for(var h=0;h<a.length;h++){var i=a[h];i._setRealDeviceIdFromDeviceList(g)}return a}).catch(function(a){if(d=!0,a.name===q.UNSUPPORTED_RESOLUTION){var c=b.resolution||"360",e=K(c);if(null!==e)return b.resolution=e,v.debug("Retry createLocalTracks with resolution",e),E.analytics.sendEvent("getUserMedia.fail.resolution."+c),M.createLocalTracks(b)}if(q.CHROME_EXTENSION_USER_CANCELED===a.name){var f={id:"chrome_extension_user_canceled",message:a.message};E.sendLog(JSON.stringify(f)),E.analytics.sendEvent("getUserMedia.userCancel.extensionInstall")}else if(q.NOT_FOUND===a.name){var g={id:"usermedia_missing_device",status:a.gum.devices};E.sendLog(JSON.stringify(g)),E.analytics.sendEvent("getUserMedia.deviceNotFound."+a.gum.devices.join("."))}else E.sendGetUserMediaFailed(a),E.analytics.sendEvent(L("getUserMedia.failed",b)+"."+a.name,{value:b});return window.connectionTimes["obtainPermissions.end"]=window.performance.now(),Promise.reject(a)}.bind(this))},isDeviceListAvailable:function(){return v.warn("This method is deprecated, use JitsiMeetJS.mediaDevices.isDeviceListAvailable instead"),this.mediaDevices.isDeviceListAvailable()},isDeviceChangeAvailable:function(b){return v.warn("This method is deprecated, use JitsiMeetJS.mediaDevices.isDeviceChangeAvailable instead"),this.mediaDevices.isDeviceChangeAvailable(b)},enumerateDevices:function(b){v.warn("This method is deprecated, use JitsiMeetJS.mediaDevices.enumerateDevices instead"),this.mediaDevices.enumerateDevices(b)},getGlobalOnErrorHandler:function(b,c,d,e,f){v.error("UnhandledError: "+b,"Script: "+c,"Line: "+d,"Column: "+e,"StackTrace: ",f),E.reportGlobalError(f)},util:{ScriptUtil:G,RTCUIHelper:D,AuthUtil:w}};a.exports=M}).call(b,"JitsiMeetJS.js")},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.AUTHENTICATION_REQUIRED="conference.authenticationRequired",b.CHAT_ERROR="conference.chatError",b.CONFERENCE_DESTROYED="conference.destroyed",b.CONFERENCE_MAX_USERS="conference.max_users",b.CONNECTION_ERROR="conference.connectionError",b.NOT_ALLOWED_ERROR="conference.connectionError.notAllowed",b.FOCUS_DISCONNECTED="conference.focusDisconnected",b.FOCUS_LEFT="conference.focusLeft",b.GRACEFUL_SHUTDOWN="conference.gracefulShutdown",b.INCOMPATIBLE_SERVER_VERSIONS="conference.incompatible_server_versions",b.JINGLE_FATAL_ERROR="conference.jingleFatalError",b.PASSWORD_NOT_SUPPORTED="conference.passwordNotSupported",b.PASSWORD_REQUIRED="conference.passwordRequired",b.RESERVATION_ERROR="conference.reservationError",b.SETUP_FAILED="conference.setup_failed",b.VIDEOBRIDGE_NOT_AVAILABLE="conference.videobridgeNotAvailable"},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.AUTH_STATUS_CHANGED="conference.auth_status_changed",b.AVAILABLE_DEVICES_CHANGED="conference.availableDevicesChanged",b.AVATAR_CHANGED="conference.avatarChanged",b.CONFERENCE_ERROR="conference.error",b.CONFERENCE_FAILED="conference.failed",b.CONFERENCE_JOINED="conference.joined",b.CONFERENCE_LEFT="conference.left",b.CONNECTION_INTERRUPTED="conference.connectionInterrupted",b.CONNECTION_RESTORED="conference.connectionRestored",b.CONNECTION_STATS="conference.connectionStats",b.DISPLAY_NAME_CHANGED="conference.displayNameChanged",b.DOMINANT_SPEAKER_CHANGED="conference.dominantSpeaker",b.DTMF_SUPPORT_CHANGED="conference.dtmfSupportChanged",b.ENDPOINT_MESSAGE_RECEIVED="conference.endpoint_message_received",b.IN_LAST_N_CHANGED="conference.inLastNChanged",b.KICKED="conferenece.kicked",b.LAST_N_ENDPOINTS_CHANGED="conference.lastNEndpointsChanged",b.LOCK_STATE_CHANGED="conference.lock_state_changed",b.MESSAGE_RECEIVED="conference.messageReceived",b.PARTICIPANT_CONN_STATUS_CHANGED="conference.participant_conn_status_changed",b.PARTICIPANT_PROPERTY_CHANGED="conference.participant_property_changed",b.PHONE_NUMBER_CHANGED="conference.phoneNumberChanged",b.RECORDER_STATE_CHANGED="conference.recorderStateChanged",b.START_MUTED_POLICY_CHANGED="conference.start_muted_policy_changed",b.STARTED_MUTED="conference.started_muted",b.SUBJECT_CHANGED="conference.subjectChanged",b.TALK_WHILE_MUTED="conference.talk_while_muted",b.TRACK_ADDED="conference.trackAdded",b.TRACK_AUDIO_LEVEL_CHANGED="conference.audioLevelsChanged",b.TRACK_MUTE_CHANGED="conference.trackMuteChanged",b.TRACK_REMOVED="conference.trackRemoved",b.USER_JOINED="conference.userJoined",b.USER_LEFT="conference.userLeft",b.USER_ROLE_CHANGED="conference.roleChanged",b.USER_STATUS_CHANGED="conference.statusChanged"},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.CONNECTION_ERROR="connection.connectionError",b.OTHER_ERROR="connection.otherError",b.PASSWORD_REQUIRED="connection.passwordRequired"},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.CONNECTION_DISCONNECTED="connection.connectionDisconnected",b.CONNECTION_ESTABLISHED="connection.connectionEstablished",b.CONNECTION_FAILED="connection.connectionFailed",b.WRONG_STATE="connection.wrongState"},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.DEVICE_LIST_CHANGED="mediaDevices.devicechange",b.PERMISSION_PROMPT_IS_SHOWN="mediaDevices.permissionPromptIsShown"},function(a,b,c){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function h(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function i(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function j(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function m(a,b){if(b&&b.video&&b.video.mandatory)switch(a){case"width":return b.video.mandatory.minWidth;case"height":return b.video.mandatory.minHeight;default:return b.video.mandatory[a]||""}return""}Object.defineProperty(b,"__esModule",{value:!0});var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},e=c(7),f=g(e),k={};k[f.UNSUPPORTED_RESOLUTION]="Video resolution is not supported: ",k[f.FIREFOX_EXTENSION_NEEDED]="Firefox extension is not installed",k[f.CHROME_EXTENSION_INSTALLATION_ERROR]="Failed to install Chrome extension",k[f.CHROME_EXTENSION_USER_CANCELED]="User canceled Chrome's screen sharing prompt",k[f.CHROME_EXTENSION_GENERIC_ERROR]="Unknown error from Chrome extension",k[f.GENERAL]="Generic getUserMedia error",k[f.PERMISSION_DENIED]="User denied permission to use device(s): ",k[f.NOT_FOUND]="Requested device(s) was/were not found: ",k[f.CONSTRAINT_FAILED]="Constraint could not be satisfied: ",k[f.TRACK_IS_DISPOSED]="Track has been already disposed",k[f.TRACK_NO_STREAM_FOUND]="Track does not have an associated Media Stream",k[f.TRACK_MUTE_UNMUTE_IN_PROGRESS]="Track mute/unmute process is currently in progress",k[f.NO_DATA_FROM_SOURCE]="The track has stopped receiving data from it's source";var l=function(a){function b(a,c,e){h(this,b);var g=i(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));if("object"===("undefined"==typeof a?"undefined":d(a))&&"undefined"!=typeof a.name)switch(g.gum={error:a,constraints:c,devices:e&&Array.isArray(e)?e.slice(0):void 0},a.name){case"PermissionDeniedError":case"SecurityError":g.name=f.PERMISSION_DENIED,g.message=k[g.name]+(g.gum.devices||[]).join(", ");break;case"DevicesNotFoundError":case"NotFoundError":g.name=f.NOT_FOUND,g.message=k[g.name]+(g.gum.devices||[]).join(", ");break;case"ConstraintNotSatisfiedError":case"OverconstrainedError":var j=a.constraintName;c&&c.video&&(!e||e.indexOf("video")>-1)&&("minWidth"===j||"maxWidth"===j||"minHeight"===j||"maxHeight"===j||"width"===j||"height"===j)?(g.name=f.UNSUPPORTED_RESOLUTION,g.message=k[g.name]+m(j,c)):(g.name=f.CONSTRAINT_FAILED,g.message=k[g.name]+a.constraintName);break;default:g.name=f.GENERAL,g.message=a.message||k[g.name]}else{if("string"!=typeof a)throw new Error("Invalid arguments");k[a]?(g.name=a,g.message=c||k[a]):g.message=a}return g.stack=a.stack||(new Error).stack,g}return j(b,a),b}(Error);b.default=l},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.CHROME_EXTENSION_GENERIC_ERROR="gum.chrome_extension_generic_error",b.CHROME_EXTENSION_INSTALLATION_ERROR="gum.chrome_extension_installation_error",b.CHROME_EXTENSION_USER_CANCELED="gum.chrome_extension_user_canceled",b.CONSTRAINT_FAILED="gum.constraint_failed",b.FIREFOX_EXTENSION_NEEDED="gum.firefox_extension_needed",b.GENERAL="gum.general",b.NOT_FOUND="gum.not_found",b.PERMISSION_DENIED="gum.permission_denied",b.TRACK_IS_DISPOSED="track.track_is_disposed",b.TRACK_MUTE_UNMUTE_IN_PROGRESS="track.mute_unmute_inprogress",b.TRACK_NO_STREAM_FOUND="track.no_stream_found",b.UNSUPPORTED_RESOLUTION="gum.unsupported_resolution",b.NO_DATA_FROM_SOURCE="track.no_data_from_source"},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.LOCAL_TRACK_STOPPED="track.stopped",b.TRACK_AUDIO_LEVEL_CHANGED="track.audioLevelsChanged",b.TRACK_AUDIO_NOT_WORKING="track.audioNotWorking",b.TRACK_AUDIO_OUTPUT_CHANGED="track.audioOutputChanged",b.TRACK_MUTE_CHANGED="track.trackMuteChanged",b.TRACK_VIDEOTYPE_CHANGED="track.videoTypeChanged",b.NO_DATA_FROM_SOURCE="track.no_data_from_source"},function(a,b,c){var d=c(10),e={},f=[],g=d.levels.TRACE;a.exports={getLogger:function(a,b,c){var h=new d(g,a,b,c);return a?(e[a]=e[a]||[],e[a].push(h)):f.push(h),h},setLogLevelById:function(a,b){for(var c=b?e[b]||[]:f,d=0;d<c.length;d++)c[d].setLevel(a)},setLogLevel:function(a){g=a;for(var b=0;b<f.length;b++)f[b].setLevel(a);for(var c in e){var d=e[c]||[];for(b=0;b<d.length;b++)d[b].setLevel(a)}},levels:d.levels}},function(a,b){function d(){var a={methodName:"",fileLocation:"",line:null,column:null},b=new Error,c=b.stack?b.stack.split("\n"):[];if(!c||c.length<1)return a;var d=null;return c[3]&&(d=c[3].match(/\s*at\s*(.+?)\s*\((\S*)\s*:(\d*)\s*:(\d*)\)/)),!d||d.length<=4?(0===c[2].indexOf("log@")?a.methodName=c[3].substr(0,c[3].indexOf("@")):a.methodName=c[2].substr(0,c[2].indexOf("@")),a):(a.methodName=d[1],a.fileLocation=d[2],a.line=d[3],a.column=d[4],a)}function e(){var a=arguments[0],b=arguments[1],e=Array.prototype.slice.call(arguments,2);if(!(c[b]<=a.level))for(var f=d(),g=0;g<a.transports.length;g++){var h=a.transports[g],i=h[b];i&&"function"==typeof i&&i.bind(h,a.id?"["+a.id+"]":"","<"+f.methodName+">: ").apply(h,e)}}function f(a,b,d,g){this.id=b,this.format=g,this.transports||(this.transports=[],this.transports.push(f.consoleTransport)),this.level=c[a];for(var h=Object.keys(c),i=0;i<h.length;i++)this[h[i]]=e.bind(null,this,h[i])}var c={trace:0,debug:1,info:2,log:3,warn:4,error:5};f.prototype.setLevel=function(a){this.level=c[a]},a.exports=f,f.consoleTransport=console,f.levels={TRACE:"trace",DEBUG:"debug",INFO:"info",LOG:"log",WARN:"warn",ERROR:"error"}},function(a,b){"use strict";var c={getTokenAuthUrl:function(b,c,d){var e=b;return"string"!=typeof e?null:e.replace("{room}",c).replace("{roleUpgrade}",d===!0)}};a.exports=c},function(a,b,c){"use strict";function h(a){return a&&a.__esModule?a:{default:a}}function i(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function l(a,b,c){this.appID=a,this.token=b,this.options=c,this.xmpp=new g.default(c,b),this.conferences={},this.addEventListener(e.CONNECTION_FAILED,function(a,b){k.sendEventToAll("connection.failed."+a,{label:b})}.bind(this)),this.addEventListener(e.CONNECTION_DISCONNECTED,function(a){a&&k.analytics.sendEvent("connection.disconnected."+a),k.sendLog(JSON.stringify({id:"connection.disconnected",msg:a}))})}var d=c(4),e=i(d),f=c(13),g=h(f),j=c(138),k=c(59);l.prototype.connect=function(a){a||(a={}),this.xmpp.connect(a.id,a.password)},l.prototype.attach=function(a){this.xmpp.attach(a)},l.prototype.disconnect=function(){var a=this.xmpp;a.disconnect.apply(a,arguments)},l.prototype.setToken=function(a){this.token=a},l.prototype.initJitsiConference=function(a,b){var c=new j({name:a,config:b,connection:this});return this.conferences[a]=c,c},l.prototype.addEventListener=function(a,b){this.xmpp.addListener(a,b)},l.prototype.removeEventListener=function(a,b){this.xmpp.removeListener(a,b)},l.prototype.getConnectionTimes=function(){return this.xmpp.connectionTimes},a.exports=l},function(a,b,c){(function(a){"use strict";function D(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function E(a){return a&&a.__esModule?a:{default:a}}function F(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function H(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/http-bind";return a&&(b+=(b.indexOf("?")==-1?"?":"&")+"token="+a),new Strophe.Connection(b)}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=c(9),f=c(14),g=E(f),h=c(15),i=E(h),j=c(31),k=E(j),l=c(3),m=D(l),n=c(4),o=D(n),p=c(32),q=E(p),r=c(33),s=E(r),t=c(43),u=E(t),v=c(134),w=E(v),x=c(135),y=E(x),z=c(136),A=E(z),B=c(137),C=E(B),G=(0,e.getLogger)(a),I=function(){function a(b,c){if(F(this,a),this.eventEmitter=new g.default,this.connection=null,this.disconnectInProgress=!1,this.connectionTimes={},this.forceMuted=!1,this.options=b,this.connectParams={},this.token=c,this.authenticatedUser=!1,this._initStrophePlugins(this),this.connection=H(c,b.bosh),!this.connection.disco||!this.connection.caps)throw new Error("Missing strophe-plugins (disco and caps plugins are required)!");this.initFeaturesList(),$(window).on("beforeunload unload",this.disconnect.bind(this))}return d(a,[{key:"initFeaturesList",value:function(){var b=this.connection.disco;b&&(b.addFeature("urn:xmpp:jingle:1"),b.addFeature("urn:xmpp:jingle:apps:rtp:1"),b.addFeature("urn:xmpp:jingle:transports:ice-udp:1"),b.addFeature("urn:xmpp:jingle:apps:dtls:0"),b.addFeature("urn:xmpp:jingle:transports:dtls-sctp:1"),b.addFeature("urn:xmpp:jingle:apps:rtp:audio"),b.addFeature("urn:xmpp:jingle:apps:rtp:video"),(q.default.isChrome()||q.default.isOpera()||q.default.isTemasysPluginUsed())&&b.addFeature("urn:ietf:rfc:4588"),b.addFeature("urn:ietf:rfc:5761"),b.addFeature("urn:ietf:rfc:5888"),q.default.isChrome()&&!1!==this.options.enableLipSync&&(G.info("Lip-sync enabled !"),b.addFeature("http://jitsi.org/meet/lipsync")))}},{key:"getConnection",value:function(){return this.connection}},{key:"connectionHandler",value:function(b,c,d){var e=window.performance.now(),f=Strophe.getStatusString(c).toLowerCase();if(this.connectionTimes[f]=e,G.log("(TIME) Strophe "+f+(d?"["+d+"]":"")+":\t",e),c===Strophe.Status.CONNECTED||c===Strophe.Status.ATTACHED){this.options.useStunTurn&&this.connection.jingle.getStunAndTurnCredentials(),G.info("My Jabber ID: "+this.connection.jid);var g=this.connection.domain;this.connection.ping.hasPingSupport(g,function(a){a?this.connection.ping.startInterval(g):G.warn("Ping NOT supported by "+g)}.bind(this)),b&&(this.authenticatedUser=!0),this.connection&&this.connection.connected&&Strophe.getResourceFromJid(this.connection.jid)&&this.eventEmitter.emit(o.CONNECTION_ESTABLISHED,Strophe.getResourceFromJid(this.connection.jid))}else c===Strophe.Status.CONNFAIL?("x-strophe-bad-non-anon-jid"===d?this.anonymousConnectionFailed=!0:this.connectionFailed=!0,this.lastErrorMsg=d):c===Strophe.Status.DISCONNECTED?(this.connection.ping.stopInterval(),this.disconnectInProgress=!1,this.anonymousConnectionFailed?this.eventEmitter.emit(o.CONNECTION_FAILED,m.PASSWORD_REQUIRED):this.connectionFailed?this.eventEmitter.emit(o.CONNECTION_FAILED,m.OTHER_ERROR,d?d:this.lastErrorMsg):this.eventEmitter.emit(o.CONNECTION_DISCONNECTED,d?d:this.lastErrorMsg)):c===Strophe.Status.AUTHFAIL&&this.eventEmitter.emit(o.CONNECTION_FAILED,m.PASSWORD_REQUIRED)}},{key:"_connect",value:function(b,c){this.anonymousConnectionFailed=!1,this.connectionFailed=!1,this.lastErrorMsg=void 0,this.connection.connect(b,c,this.connectionHandler.bind(this,c))}},{key:"attach",value:function(b){var c=this.connectionTimes.attaching=window.performance.now();G.log("(TIME) Strophe Attaching\t:"+c),this.connection.attach(b.jid,b.sid,parseInt(b.rid,10)+1,this.connectionHandler.bind(this,b.password))}},{key:"connect",value:function(b,c){if(this.connectParams={jid:b,password:c},!b){var d=this.options.hosts.anonymousdomain||this.options.hosts.domain;this.options.hosts.anonymousdomain&&(window.location.search.indexOf("login=true")!==-1||this.options.token)&&(d=this.options.hosts.domain),b=d||window.location.hostname}return this._connect(b,c)}},{key:"createRoom",value:function(b,c,d){var e=Strophe.getNodeFromJid(this.connection.jid),f=b+"@"+this.options.hosts.muc+"/",g=c.useNicks&&c.nick?c.nick:null;return g?e=c.nick:this.authenticatedUser||(e=e.substr(0,8)),(this.authenticatedUser||null!=g)&&(e+="-"+k.default.randomHexString(6)),f+=e,this.connection.emuc.createRoom(f,null,c,d)}},{key:"addListener",value:function(b,c){this.eventEmitter.on(b,c)}},{key:"removeListener",value:function(b,c){this.eventEmitter.removeListener(b,c)}},{key:"sendLogs",value:function(b){if(!this.connection.emuc.focusMucJid)return!1;var c=Base64.encode(String.fromCharCode.apply(null,i.default.deflateRaw(JSON.stringify(b)))),d=$msg({to:this.connection.emuc.focusMucJid,type:"normal"});return d.c("log",{xmlns:"urn:xmpp:eventlog",id:"PeerConnectionStats"}),d.c("message").t(c).up(),d.c("tag",{name:"deflated",value:"true"}).up(),d.up(),this.connection.send(d),!0}},{key:"getJingleLog",value:function(){var b=this.connection.jingle;return b?b.getLog():{}}},{key:"getXmppLog",value:function(){return(this.connection.logger||{}).log||null}},{key:"dial",value:function(b,c,d,e){this.connection.rayo.dial(b,c,d,e)}},{key:"setMute",value:function(b,c){this.connection.moderate.setMute(b,c)}},{key:"eject",value:function(b){this.connection.moderate.eject(b)}},{key:"getSessions",value:function(){return this.connection.jingle.sessions}},{key:"disconnect",value:function(b){if(this.disconnectInProgress||!this.connection||!this.connection.connected)return void this.eventEmitter.emit(o.WRONG_STATE);if(this.disconnectInProgress=!0,this.connection.flush(),null!==b&&"undefined"!=typeof b){var c=b.type;"beforeunload"!=c&&"unload"!=c||(this.connection.options.sync=!0)}this.connection.disconnect(),this.connection.options.sync!==!0&&this.connection.flush()}},{key:"_initStrophePlugins",value:function(){(0,s.default)(this),(0,u.default)(this,this.eventEmitter),(0,w.default)(),(0,y.default)(this,this.eventEmitter),(0,A.default)(),(0,C.default)()}}]),a}();b.default=I}).call(b,"modules/xmpp/xmpp.js")},function(a,b){function c(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function d(a){return"function"==typeof a}function e(a){return"number"==typeof a}function f(a){return"object"==typeof a&&null!==a}function g(a){return void 0===a}a.exports=c,c.EventEmitter=c,c.prototype._events=void 0,c.prototype._maxListeners=void 0,c.defaultMaxListeners=10,c.prototype.setMaxListeners=function(a){if(!e(a)||a<0||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},c.prototype.emit=function(a){var b,c,e,h,i,j;if(this._events||(this._events={}),"error"===a&&(!this._events.error||f(this._events.error)&&!this._events.error.length)){if(b=arguments[1],b instanceof Error)throw b;var k=new Error('Uncaught, unspecified "error" event. ('+b+")");throw k.context=b,k}if(c=this._events[a],g(c))return!1;if(d(c))switch(arguments.length){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:h=Array.prototype.slice.call(arguments,1),c.apply(this,h)}else if(f(c))for(h=Array.prototype.slice.call(arguments,1),j=c.slice(),e=j.length,i=0;i<e;i++)j[i].apply(this,h);return!0},c.prototype.addListener=function(a,b){var e;if(!d(b))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,d(b.listener)?b.listener:b),this._events[a]?f(this._events[a])?this._events[a].push(b):this._events[a]=[this._events[a],b]:this._events[a]=b,f(this._events[a])&&!this._events[a].warned&&(e=g(this._maxListeners)?c.defaultMaxListeners:this._maxListeners,e&&e>0&&this._events[a].length>e&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),"function"==typeof console.trace&&console.trace())),this},c.prototype.on=c.prototype.addListener,c.prototype.once=function(a,b){function e(){this.removeListener(a,e),c||(c=!0,b.apply(this,arguments))}if(!d(b))throw TypeError("listener must be a function");var c=!1;return e.listener=b,this.on(a,e),this},c.prototype.removeListener=function(a,b){var c,e,g,h;if(!d(b))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(c=this._events[a],g=c.length,e=-1,c===b||d(c.listener)&&c.listener===b)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,b);else if(f(c)){for(h=g;h-- >0;)if(c[h]===b||c[h].listener&&c[h].listener===b){e=h;break}if(e<0)return this;1===c.length?(c.length=0,delete this._events[a]):c.splice(e,1),this._events.removeListener&&this.emit("removeListener",a,b)}return this},c.prototype.removeAllListeners=function(a){var b,c;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(b in this._events)"removeListener"!==b&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events={},this}if(c=this._events[a],d(c))this.removeListener(a,c);else if(c)for(;c.length;)this.removeListener(a,c[c.length-1]);return delete this._events[a],this},c.prototype.listeners=function(a){var b;return b=this._events&&this._events[a]?d(this._events[a])?[this._events[a]]:this._events[a].slice():[]},c.prototype.listenerCount=function(a){if(this._events){var b=this._events[a];if(d(b))return 1;if(b)return b.length}return 0},c.listenerCount=function(a,b){return a.listenerCount(b)}},function(a,b,c){"use strict";var d=c(16).assign,e=c(17),f=c(25),g=c(29),h={};d(h,e,f,g),a.exports=h},function(a,b){"use strict";var c="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;b.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},b.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var d={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;b<c;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;b<c;b++)f=a[b],g.set(f,e),e+=f.length;return g}},e={arraySet:function(a,b,c,d,e){for(var f=0;f<d;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};b.setTyped=function(a){a?(b.Buf8=Uint8Array,b.Buf16=Uint16Array,b.Buf32=Int32Array,b.assign(b,d)):(b.Buf8=Array,b.Buf16=Array,b.Buf32=Array,b.assign(b,e))},b.setTyped(c)},function(a,b,c){"use strict";function r(a){if(!(this instanceof r))return new r(a);this.options=e.assign({level:o,method:q,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:""},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new h,this.strm.avail_out=0;var c=d.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==l)throw new Error(g[c]);if(b.header&&d.deflateSetHeader(this.strm,b.header),b.dictionary){var j;if(j="string"==typeof b.dictionary?f.string2buf(b.dictionary):"[object ArrayBuffer]"===i.call(b.dictionary)?new Uint8Array(b.dictionary):b.dictionary,c=d.deflateSetDictionary(this.strm,j),c!==l)throw new Error(g[c]);this._dict_set=!0}}function s(a,b){var c=new r(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function t(a,b){return b=b||{},b.raw=!0,s(a,b)}function u(a,b){return b=b||{},b.gzip=!0,s(a,b)}var d=c(18),e=c(16),f=c(23),g=c(22),h=c(24),i=Object.prototype.toString,j=0,k=4,l=0,m=1,n=2,o=-1,p=0,q=8;r.prototype.push=function(a,b){var h,o,c=this.strm,g=this.options.chunkSize;if(this.ended)return!1;o=b===~~b?b:b===!0?k:j,"string"==typeof a?c.input=f.string2buf(a):"[object ArrayBuffer]"===i.call(a)?c.input=new Uint8Array(a):c.input=a,c.next_in=0,c.avail_in=c.input.length;do{if(0===c.avail_out&&(c.output=new e.Buf8(g),c.next_out=0,c.avail_out=g),h=d.deflate(c,o),h!==m&&h!==l)return this.onEnd(h),this.ended=!0,!1;0!==c.avail_out&&(0!==c.avail_in||o!==k&&o!==n)||("string"===this.options.to?this.onData(f.buf2binstring(e.shrinkBuf(c.output,c.next_out))):this.onData(e.shrinkBuf(c.output,c.next_out)))}while((c.avail_in>0||0===c.avail_out)&&h!==m);return o===k?(h=d.deflateEnd(this.strm),this.onEnd(h),this.ended=!0,h===l):o!==n||(this.onEnd(l),c.avail_out=0,!0)},r.prototype.onData=function(a){this.chunks.push(a)},r.prototype.onEnd=function(a){a===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=e.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},b.Deflate=r,b.deflate=s,b.deflateRaw=t,b.gzip=u},function(a,b,c){"use strict";function $(a,b){return a.msg=h[b],b}function _(a){return(a<<1)-(a>4?9:0)}function aa(a){for(var b=a.length;--b>=0;)a[b]=0}function ba(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(d.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function ca(a,b){e._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,ba(a.strm)}function da(a,b){a.pending_buf[a.pending++]=b}function ea(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function fa(a,b,c,e){var h=a.avail_in;return h>e&&(h=e),0===h?0:(a.avail_in-=h,d.arraySet(b,a.input,a.next_in,h,c),1===a.state.wrap?a.adler=f(a.adler,b,h,c):2===a.state.wrap&&(a.adler=g(a.adler,b,h,c)),a.next_in+=h,a.total_in+=h,h)}function ga(a,b){var e,f,c=a.max_chain_length,d=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-M?a.strstart-(a.w_size-M):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+L,n=j[d+g-1],o=j[d+g];a.prev_length>=a.good_match&&(c>>=2),h>a.lookahead&&(h=a.lookahead);do if(e=b,j[e+g]===o&&j[e+g-1]===n&&j[e]===j[d]&&j[++e]===j[d+1]){d+=2,e++;do;while(j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&j[++d]===j[++e]&&d<m);if(f=L-(m-d),d=m-L,f>g){if(a.match_start=b,g=f,f>=h)break;n=j[d+g-1],o=j[d+g]}}while((b=l[b&k])>i&&0!==--c);return g<=a.lookahead?g:a.lookahead}function ha(a){var c,e,f,g,h,b=a.w_size;do{if(g=a.window_size-a.lookahead-a.strstart,a.strstart>=b+(b-M)){d.arraySet(a.window,a.window,b,b,0),a.match_start-=b,a.strstart-=b,a.block_start-=b,e=a.hash_size,c=e;do f=a.head[--c],a.head[c]=f>=b?f-b:0;while(--e);e=b,c=e;do f=a.prev[--c],a.prev[c]=f>=b?f-b:0;while(--e);g+=b}if(0===a.strm.avail_in)break;if(e=fa(a.strm,a.window,a.strstart+a.lookahead,g),a.lookahead+=e,a.lookahead+a.insert>=K)for(h=a.strstart-a.insert,a.ins_h=a.window[h],a.ins_h=(a.ins_h<<a.hash_shift^a.window[h+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[h+K-1])&a.hash_mask,a.prev[h&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=h,h++,a.insert--,!(a.lookahead+a.insert<K)););}while(a.lookahead<M&&0!==a.strm.avail_in)}function ia(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(ha(a),0===a.lookahead&&b===i)return V;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,ca(a,!1),0===a.strm.avail_out))return V;if(a.strstart-a.block_start>=a.w_size-M&&(ca(a,!1),0===a.strm.avail_out))return V}return a.insert=0,b===l?(ca(a,!0),0===a.strm.avail_out?X:Y):a.strstart>a.block_start&&(ca(a,!1),0===a.strm.avail_out)?V:V}function ja(a,b){for(var c,d;;){if(a.lookahead<M){if(ha(a),a.lookahead<M&&b===i)return V;
if(0===a.lookahead)break}if(c=0,a.lookahead>=K&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+K-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-M&&(a.match_length=ga(a,c)),a.match_length>=K)if(d=e._tr_tally(a,a.strstart-a.match_start,a.match_length-K),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=K){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+K-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=e._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(ca(a,!1),0===a.strm.avail_out))return V}return a.insert=a.strstart<K-1?a.strstart:K-1,b===l?(ca(a,!0),0===a.strm.avail_out?X:Y):a.last_lit&&(ca(a,!1),0===a.strm.avail_out)?V:W}function ka(a,b){for(var c,d,f;;){if(a.lookahead<M){if(ha(a),a.lookahead<M&&b===i)return V;if(0===a.lookahead)break}if(c=0,a.lookahead>=K&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+K-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=K-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-M&&(a.match_length=ga(a,c),a.match_length<=5&&(a.strategy===t||a.match_length===K&&a.strstart-a.match_start>4096)&&(a.match_length=K-1)),a.prev_length>=K&&a.match_length<=a.prev_length){f=a.strstart+a.lookahead-K,d=e._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-K),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=f&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+K-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=K-1,a.strstart++,d&&(ca(a,!1),0===a.strm.avail_out))return V}else if(a.match_available){if(d=e._tr_tally(a,0,a.window[a.strstart-1]),d&&ca(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return V}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=e._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<K-1?a.strstart:K-1,b===l?(ca(a,!0),0===a.strm.avail_out?X:Y):a.last_lit&&(ca(a,!1),0===a.strm.avail_out)?V:W}function la(a,b){for(var c,d,f,g,h=a.window;;){if(a.lookahead<=L){if(ha(a),a.lookahead<=L&&b===i)return V;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=K&&a.strstart>0&&(f=a.strstart-1,d=h[f],d===h[++f]&&d===h[++f]&&d===h[++f])){g=a.strstart+L;do;while(d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&d===h[++f]&&f<g);a.match_length=L-(g-f),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=K?(c=e._tr_tally(a,1,a.match_length-K),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=e._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(ca(a,!1),0===a.strm.avail_out))return V}return a.insert=0,b===l?(ca(a,!0),0===a.strm.avail_out?X:Y):a.last_lit&&(ca(a,!1),0===a.strm.avail_out)?V:W}function ma(a,b){for(var c;;){if(0===a.lookahead&&(ha(a),0===a.lookahead)){if(b===i)return V;break}if(a.match_length=0,c=e._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(ca(a,!1),0===a.strm.avail_out))return V}return a.insert=0,b===l?(ca(a,!0),0===a.strm.avail_out?X:Y):a.last_lit&&(ca(a,!1),0===a.strm.avail_out)?V:W}function na(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e}function pa(a){a.window_size=2*a.w_size,aa(a.head),a.max_lazy_match=oa[a.level].max_lazy,a.good_match=oa[a.level].good_length,a.nice_match=oa[a.level].nice_length,a.max_chain_length=oa[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=K-1,a.match_available=0,a.ins_h=0}function qa(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=z,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*I),this.dyn_dtree=new d.Buf16(2*(2*G+1)),this.bl_tree=new d.Buf16(2*(2*H+1)),aa(this.dyn_ltree),aa(this.dyn_dtree),aa(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(J+1),this.heap=new d.Buf16(2*F+1),aa(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*F+1),aa(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ra(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=y,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?O:T,a.adler=2===b.wrap?0:1,b.last_flush=i,e._tr_init(b),n):$(a,p)}function sa(a){var b=ra(a);return b===n&&pa(a.state),b}function ta(a,b){return a&&a.state?2!==a.state.wrap?p:(a.state.gzhead=b,n):p}function ua(a,b,c,e,f,g){if(!a)return p;var h=1;if(b===s&&(b=6),e<0?(h=0,e=-e):e>15&&(h=2,e-=16),f<1||f>A||c!==z||e<8||e>15||b<0||b>9||g<0||g>w)return $(a,p);8===e&&(e=9);var i=new qa;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+K-1)/K),i.window=new d.Buf8(2*i.w_size),i.head=new d.Buf16(i.hash_size),i.prev=new d.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new d.Buf8(i.pending_buf_size),i.d_buf=1*i.lit_bufsize,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,sa(a)}function va(a,b){return ua(a,b,z,B,C,x)}function wa(a,b){var c,d,f,h;if(!a||!a.state||b>m||b<0)return a?$(a,p):p;if(d=a.state,!a.output||!a.input&&0!==a.avail_in||d.status===U&&b!==l)return $(a,0===a.avail_out?r:p);if(d.strm=a,c=d.last_flush,d.last_flush=b,d.status===O)if(2===d.wrap)a.adler=0,da(d,31),da(d,139),da(d,8),d.gzhead?(da(d,(d.gzhead.text?1:0)+(d.gzhead.hcrc?2:0)+(d.gzhead.extra?4:0)+(d.gzhead.name?8:0)+(d.gzhead.comment?16:0)),da(d,255&d.gzhead.time),da(d,d.gzhead.time>>8&255),da(d,d.gzhead.time>>16&255),da(d,d.gzhead.time>>24&255),da(d,9===d.level?2:d.strategy>=u||d.level<2?4:0),da(d,255&d.gzhead.os),d.gzhead.extra&&d.gzhead.extra.length&&(da(d,255&d.gzhead.extra.length),da(d,d.gzhead.extra.length>>8&255)),d.gzhead.hcrc&&(a.adler=g(a.adler,d.pending_buf,d.pending,0)),d.gzindex=0,d.status=P):(da(d,0),da(d,0),da(d,0),da(d,0),da(d,0),da(d,9===d.level?2:d.strategy>=u||d.level<2?4:0),da(d,Z),d.status=T);else{var q=z+(d.w_bits-8<<4)<<8,s=-1;s=d.strategy>=u||d.level<2?0:d.level<6?1:6===d.level?2:3,q|=s<<6,0!==d.strstart&&(q|=N),q+=31-q%31,d.status=T,ea(d,q),0!==d.strstart&&(ea(d,a.adler>>>16),ea(d,65535&a.adler)),a.adler=1}if(d.status===P)if(d.gzhead.extra){for(f=d.pending;d.gzindex<(65535&d.gzhead.extra.length)&&(d.pending!==d.pending_buf_size||(d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),ba(a),f=d.pending,d.pending!==d.pending_buf_size));)da(d,255&d.gzhead.extra[d.gzindex]),d.gzindex++;d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),d.gzindex===d.gzhead.extra.length&&(d.gzindex=0,d.status=Q)}else d.status=Q;if(d.status===Q)if(d.gzhead.name){f=d.pending;do{if(d.pending===d.pending_buf_size&&(d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),ba(a),f=d.pending,d.pending===d.pending_buf_size)){h=1;break}h=d.gzindex<d.gzhead.name.length?255&d.gzhead.name.charCodeAt(d.gzindex++):0,da(d,h)}while(0!==h);d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),0===h&&(d.gzindex=0,d.status=R)}else d.status=R;if(d.status===R)if(d.gzhead.comment){f=d.pending;do{if(d.pending===d.pending_buf_size&&(d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),ba(a),f=d.pending,d.pending===d.pending_buf_size)){h=1;break}h=d.gzindex<d.gzhead.comment.length?255&d.gzhead.comment.charCodeAt(d.gzindex++):0,da(d,h)}while(0!==h);d.gzhead.hcrc&&d.pending>f&&(a.adler=g(a.adler,d.pending_buf,d.pending-f,f)),0===h&&(d.status=S)}else d.status=S;if(d.status===S&&(d.gzhead.hcrc?(d.pending+2>d.pending_buf_size&&ba(a),d.pending+2<=d.pending_buf_size&&(da(d,255&a.adler),da(d,a.adler>>8&255),a.adler=0,d.status=T)):d.status=T),0!==d.pending){if(ba(a),0===a.avail_out)return d.last_flush=-1,n}else if(0===a.avail_in&&_(b)<=_(c)&&b!==l)return $(a,r);if(d.status===U&&0!==a.avail_in)return $(a,r);if(0!==a.avail_in||0!==d.lookahead||b!==i&&d.status!==U){var t=d.strategy===u?ma(d,b):d.strategy===v?la(d,b):oa[d.level].func(d,b);if(t!==X&&t!==Y||(d.status=U),t===V||t===X)return 0===a.avail_out&&(d.last_flush=-1),n;if(t===W&&(b===j?e._tr_align(d):b!==m&&(e._tr_stored_block(d,0,0,!1),b===k&&(aa(d.head),0===d.lookahead&&(d.strstart=0,d.block_start=0,d.insert=0))),ba(a),0===a.avail_out))return d.last_flush=-1,n}return b!==l?n:d.wrap<=0?o:(2===d.wrap?(da(d,255&a.adler),da(d,a.adler>>8&255),da(d,a.adler>>16&255),da(d,a.adler>>24&255),da(d,255&a.total_in),da(d,a.total_in>>8&255),da(d,a.total_in>>16&255),da(d,a.total_in>>24&255)):(ea(d,a.adler>>>16),ea(d,65535&a.adler)),ba(a),d.wrap>0&&(d.wrap=-d.wrap),0!==d.pending?n:o)}function xa(a){var b;return a&&a.state?(b=a.state.status,b!==O&&b!==P&&b!==Q&&b!==R&&b!==S&&b!==T&&b!==U?$(a,p):(a.state=null,b===T?$(a,q):n)):p}function ya(a,b){var e,g,h,i,j,k,l,m,c=b.length;if(!a||!a.state)return p;if(e=a.state,i=e.wrap,2===i||1===i&&e.status!==O||e.lookahead)return p;for(1===i&&(a.adler=f(a.adler,b,c,0)),e.wrap=0,c>=e.w_size&&(0===i&&(aa(e.head),e.strstart=0,e.block_start=0,e.insert=0),m=new d.Buf8(e.w_size),d.arraySet(m,b,c-e.w_size,e.w_size,0),b=m,c=e.w_size),j=a.avail_in,k=a.next_in,l=a.input,a.avail_in=c,a.next_in=0,a.input=b,ha(e);e.lookahead>=K;){g=e.strstart,h=e.lookahead-(K-1);do e.ins_h=(e.ins_h<<e.hash_shift^e.window[g+K-1])&e.hash_mask,e.prev[g&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=g,g++;while(--h);e.strstart=g,e.lookahead=K-1,ha(e)}return e.strstart+=e.lookahead,e.block_start=e.strstart,e.insert=e.lookahead,e.lookahead=0,e.match_length=e.prev_length=K-1,e.match_available=0,a.next_in=k,a.input=l,a.avail_in=j,e.wrap=i,n}var oa,d=c(16),e=c(19),f=c(20),g=c(21),h=c(22),i=0,j=1,k=3,l=4,m=5,n=0,o=1,p=-2,q=-3,r=-5,s=-1,t=1,u=2,v=3,w=4,x=0,y=2,z=8,A=9,B=15,C=8,D=29,E=256,F=E+1+D,G=30,H=19,I=2*F+1,J=15,K=3,L=258,M=L+K+1,N=32,O=42,P=69,Q=73,R=91,S=103,T=113,U=666,V=1,W=2,X=3,Y=4,Z=3;oa=[new na(0,0,0,0,ia),new na(4,4,8,4,ja),new na(4,5,16,8,ja),new na(4,6,32,32,ja),new na(4,4,16,16,ka),new na(8,16,32,32,ka),new na(8,16,128,128,ka),new na(8,32,128,256,ka),new na(32,128,258,1024,ka),new na(32,258,258,4096,ka)],b.deflateInit=va,b.deflateInit2=ua,b.deflateReset=sa,b.deflateResetKeep=ra,b.deflateSetHeader=ta,b.deflate=wa,b.deflateEnd=xa,b.deflateSetDictionary=ya,b.deflateInfo="pako deflate (from Nodeca project)"},function(a,b,c){"use strict";function i(a){for(var b=a.length;--b>=0;)a[b]=0}function M(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length}function Q(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b}function R(a){return a<256?I[a]:I[256+(a>>>7)]}function S(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function T(a,b,c){a.bi_valid>v-c?(a.bi_buf|=b<<a.bi_valid&65535,S(a,a.bi_buf),a.bi_buf=b>>v-a.bi_valid,a.bi_valid+=c-v):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function U(a,b,c){T(a,c[2*b],c[2*b+1])}function V(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function W(a){16===a.bi_valid?(S(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function X(a,b){var j,k,l,m,n,o,c=b.dyn_tree,d=b.max_code,e=b.stat_desc.static_tree,f=b.stat_desc.has_stree,g=b.stat_desc.extra_bits,h=b.stat_desc.extra_base,i=b.stat_desc.max_length,p=0;for(m=0;m<=u;m++)a.bl_count[m]=0;for(c[2*a.heap[a.heap_max]+1]=0,j=a.heap_max+1;j<t;j++)k=a.heap[j],m=c[2*c[2*k+1]+1]+1,m>i&&(m=i,p++),c[2*k+1]=m,k>d||(a.bl_count[m]++,n=0,k>=h&&(n=g[k-h]),o=c[2*k],a.opt_len+=o*(m+n),f&&(a.static_len+=o*(e[2*k+1]+n)));if(0!==p){do{for(m=i-1;0===a.bl_count[m];)m--;a.bl_count[m]--,a.bl_count[m+1]+=2,a.bl_count[i]--,p-=2}while(p>0);for(m=i;0!==m;m--)for(k=a.bl_count[m];0!==k;)l=a.heap[--j],l>d||(c[2*l+1]!==m&&(a.opt_len+=(m-c[2*l+1])*c[2*l],c[2*l+1]=m),k--)}}function Y(a,b,c){var f,g,d=new Array(u+1),e=0;for(f=1;f<=u;f++)d[f]=e=e+c[f-1]<<1;for(g=0;g<=b;g++){var h=a[2*g+1];0!==h&&(a[2*g]=V(d[h]++,h))}}function Z(){var a,b,c,d,e,f=new Array(u+1);for(c=0,d=0;d<o-1;d++)for(K[d]=c,a=0;a<1<<B[d];a++)J[c++]=d;for(J[c-1]=d,e=0,d=0;d<16;d++)for(L[d]=e,a=0;a<1<<C[d];a++)I[e++]=d;for(e>>=7;d<r;d++)for(L[d]=e<<7,a=0;a<1<<C[d]-7;a++)I[256+e++]=d;for(b=0;b<=u;b++)f[b]=0;for(a=0;a<=143;)G[2*a+1]=8,a++,f[8]++;for(;a<=255;)G[2*a+1]=9,a++,f[9]++;for(;a<=279;)G[2*a+1]=7,a++,f[7]++;for(;a<=287;)G[2*a+1]=8,a++,f[8]++;for(Y(G,q+1,f),a=0;a<r;a++)H[2*a+1]=5,H[2*a]=V(a,5);N=new M(G,B,p+1,q,u),O=new M(H,C,0,r,u),P=new M(new Array(0),D,0,s,w)}function $(a){var b;for(b=0;b<q;b++)a.dyn_ltree[2*b]=0;for(b=0;b<r;b++)a.dyn_dtree[2*b]=0;for(b=0;b<s;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*x]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function _(a){a.bi_valid>8?S(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function aa(a,b,c,e){_(a),e&&(S(a,c),S(a,~c)),d.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function ba(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function ca(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&ba(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!ba(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function da(a,b,c){var d,e,g,h,f=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*f]<<8|a.pending_buf[a.d_buf+2*f+1],e=a.pending_buf[a.l_buf+f],f++,0===d?U(a,e,b):(g=J[e],U(a,g+p+1,b),h=B[g],0!==h&&(e-=K[g],T(a,e,h)),d--,g=R(d),U(a,g,c),h=C[g],0!==h&&(d-=L[g],T(a,d,h)));while(f<a.last_lit);U(a,x,b)}function ea(a,b){var g,h,j,c=b.dyn_tree,d=b.stat_desc.static_tree,e=b.stat_desc.has_stree,f=b.stat_desc.elems,i=-1;for(a.heap_len=0,a.heap_max=t,g=0;g<f;g++)0!==c[2*g]?(a.heap[++a.heap_len]=i=g,a.depth[g]=0):c[2*g+1]=0;for(;a.heap_len<2;)j=a.heap[++a.heap_len]=i<2?++i:0,c[2*j]=1,a.depth[j]=0,a.opt_len--,e&&(a.static_len-=d[2*j+1]);for(b.max_code=i,g=a.heap_len>>1;g>=1;g--)ca(a,c,g);j=f;do g=a.heap[1],a.heap[1]=a.heap[a.heap_len--],ca(a,c,1),h=a.heap[1],a.heap[--a.heap_max]=g,a.heap[--a.heap_max]=h,c[2*j]=c[2*g]+c[2*h],a.depth[j]=(a.depth[g]>=a.depth[h]?a.depth[g]:a.depth[h])+1,c[2*g+1]=c[2*h+1]=j,a.heap[1]=j++,ca(a,c,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],X(a,b),Y(c,i,a.bl_count)}function fa(a,b,c){var d,f,e=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;d<=c;d++)f=g,g=b[2*(d+1)+1],++h<i&&f===g||(h<j?a.bl_tree[2*f]+=h:0!==f?(f!==e&&a.bl_tree[2*f]++,a.bl_tree[2*y]++):h<=10?a.bl_tree[2*z]++:a.bl_tree[2*A]++,h=0,e=f,0===g?(i=138,j=3):f===g?(i=6,j=3):(i=7,j=4))}function ga(a,b,c){var d,f,e=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),d=0;d<=c;d++)if(f=g,g=b[2*(d+1)+1],!(++h<i&&f===g)){if(h<j){do U(a,f,a.bl_tree);while(0!==--h)}else 0!==f?(f!==e&&(U(a,f,a.bl_tree),h--),U(a,y,a.bl_tree),T(a,h-3,2)):h<=10?(U(a,z,a.bl_tree),T(a,h-3,3)):(U(a,A,a.bl_tree),T(a,h-11,7));h=0,e=f,0===g?(i=138,j=3):f===g?(i=6,j=3):(i=7,j=4)}}function ha(a){var b;for(fa(a,a.dyn_ltree,a.l_desc.max_code),fa(a,a.dyn_dtree,a.d_desc.max_code),ea(a,a.bl_desc),b=s-1;b>=3&&0===a.bl_tree[2*E[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function ia(a,b,c,d){var e;for(T(a,b-257,5),T(a,c-1,5),T(a,d-4,4),e=0;e<d;e++)T(a,a.bl_tree[2*E[e]+1],3);ga(a,a.dyn_ltree,b-1),ga(a,a.dyn_dtree,c-1)}function ja(a){var c,b=4093624447;for(c=0;c<=31;c++,b>>>=1)if(1&b&&0!==a.dyn_ltree[2*c])return f;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return g;for(c=32;c<p;c++)if(0!==a.dyn_ltree[2*c])return g;return f}function la(a){ka||(Z(),ka=!0),a.l_desc=new Q(a.dyn_ltree,N),a.d_desc=new Q(a.dyn_dtree,O),a.bl_desc=new Q(a.bl_tree,P),a.bi_buf=0,a.bi_valid=0,$(a)}function ma(a,b,c,d){T(a,(j<<1)+(d?1:0),3),aa(a,b,c,!0)}function na(a){T(a,k<<1,3),U(a,x,G),W(a)}function oa(a,b,c,d){var f,g,i=0;a.level>0?(a.strm.data_type===h&&(a.strm.data_type=ja(a)),ea(a,a.l_desc),ea(a,a.d_desc),i=ha(a),f=a.opt_len+3+7>>>3,g=a.static_len+3+7>>>3,g<=f&&(f=g)):f=g=c+5,c+4<=f&&b!==-1?ma(a,b,c,d):a.strategy===e||g===f?(T(a,(k<<1)+(d?1:0),3),da(a,G,H)):(T(a,(l<<1)+(d?1:0),3),ia(a,a.l_desc.max_code+1,a.d_desc.max_code+1,i+1),da(a,a.dyn_ltree,a.dyn_dtree)),$(a),d&&_(a)}function pa(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(J[c]+p+1)]++,a.dyn_dtree[2*R(b)]++),a.last_lit===a.lit_bufsize-1}var d=c(16),e=4,f=0,g=1,h=2,j=0,k=1,l=2,m=3,n=258,o=29,p=256,q=p+1+o,r=30,s=19,t=2*q+1,u=15,v=16,w=7,x=256,y=16,z=17,A=18,B=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],C=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],D=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],E=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],F=512,G=new Array(2*(q+2));i(G);var H=new Array(2*r);i(H);var I=new Array(F);i(I);var J=new Array(n-m+1);i(J);var K=new Array(o);i(K);var L=new Array(r);i(L);var N,O,P,ka=!1;b._tr_init=la,b._tr_stored_block=ma,b._tr_flush_block=oa,b._tr_tally=pa,b._tr_align=na},function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}a.exports=c},function(a,b){"use strict";function c(){for(var a,b=[],c=0;c<256;c++){a=c;for(var d=0;d<8;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function e(a,b,c,e){var f=d,g=e+c;a^=-1;for(var h=e;h<g;h++)a=a>>>8^f[255&(a^b[h])];return a^-1}var d=c();a.exports=e},function(a,b){"use strict";a.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(a,b,c){"use strict";function i(a,b){if(b<65537&&(a.subarray&&f||!a.subarray&&e))return String.fromCharCode.apply(null,d.shrinkBuf(a,b));for(var c="",g=0;g<b;g++)c+=String.fromCharCode(a[g]);return c}var d=c(16),e=!0,f=!0;try{String.fromCharCode.apply(null,[0])}catch(a){e=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(a){f=!1}for(var g=new d.Buf8(256),h=0;h<256;h++)g[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1,b.string2buf=function(a){var b,c,e,f,g,h=a.length,i=0;for(f=0;f<h;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(e=a.charCodeAt(f+1),56320===(64512&e)&&(c=65536+(c-55296<<10)+(e-56320),f++)),i+=c<128?1:c<2048?2:c<65536?3:4;for(b=new d.Buf8(i),g=0,f=0;g<i;f++)c=a.charCodeAt(f),55296===(64512&c)&&f+1<h&&(e=a.charCodeAt(f+1),56320===(64512&e)&&(c=65536+(c-55296<<10)+(e-56320),f++)),c<128?b[g++]=c:c<2048?(b[g++]=192|c>>>6,b[g++]=128|63&c):c<65536?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},b.buf2binstring=function(a){return i(a,a.length)},b.binstring2buf=function(a){for(var b=new d.Buf8(a.length),c=0,e=b.length;c<e;c++)b[c]=a.charCodeAt(c);return b},b.buf2string=function(a,b){var c,d,e,f,h=b||a.length,j=new Array(2*h);for(d=0,c=0;c<h;)if(e=a[c++],e<128)j[d++]=e;else if(f=g[e],f>4)j[d++]=65533,c+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&c<h;)e=e<<6|63&a[c++],f--;f>1?j[d++]=65533:e<65536?j[d++]=e:(e-=65536,j[d++]=55296|e>>10&1023,j[d++]=56320|1023&e)}return i(j,d)},b.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return c<0?b:0===c?b:c+g[a[c]]>b?c:b}},function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}a.exports=c},function(a,b,c){"use strict";function l(a){if(!(this instanceof l))return new l(a);this.options=e.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var c=d.inflateInit2(this.strm,b.windowBits);if(c!==g.Z_OK)throw new Error(h[c]);this.header=new j,d.inflateGetHeader(this.strm,this.header)}function m(a,b){var c=new l(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function n(a,b){return b=b||{},b.raw=!0,m(a,b)}var d=c(26),e=c(16),f=c(23),g=c(29),h=c(22),i=c(24),j=c(30),k=Object.prototype.toString;l.prototype.push=function(a,b){var j,l,m,n,o,p,c=this.strm,h=this.options.chunkSize,i=this.options.dictionary,q=!1;if(this.ended)return!1;l=b===~~b?b:b===!0?g.Z_FINISH:g.Z_NO_FLUSH,"string"==typeof a?c.input=f.binstring2buf(a):"[object ArrayBuffer]"===k.call(a)?c.input=new Uint8Array(a):c.input=a,c.next_in=0,c.avail_in=c.input.length;do{if(0===c.avail_out&&(c.output=new e.Buf8(h),c.next_out=0,c.avail_out=h),j=d.inflate(c,g.Z_NO_FLUSH),j===g.Z_NEED_DICT&&i&&(p="string"==typeof i?f.string2buf(i):"[object ArrayBuffer]"===k.call(i)?new Uint8Array(i):i,j=d.inflateSetDictionary(this.strm,p)),j===g.Z_BUF_ERROR&&q===!0&&(j=g.Z_OK,q=!1),j!==g.Z_STREAM_END&&j!==g.Z_OK)return this.onEnd(j),this.ended=!0,!1;c.next_out&&(0!==c.avail_out&&j!==g.Z_STREAM_END&&(0!==c.avail_in||l!==g.Z_FINISH&&l!==g.Z_SYNC_FLUSH)||("string"===this.options.to?(m=f.utf8border(c.output,c.next_out),n=c.next_out-m,o=f.buf2string(c.output,m),c.next_out=n,c.avail_out=h-n,n&&e.arraySet(c.output,c.output,m,n,0),this.onData(o)):this.onData(e.shrinkBuf(c.output,c.next_out)))),0===c.avail_in&&0===c.avail_out&&(q=!0)}while((c.avail_in>0||0===c.avail_out)&&j!==g.Z_STREAM_END);return j===g.Z_STREAM_END&&(l=g.Z_FINISH),l===g.Z_FINISH?(j=d.inflateEnd(this.strm),this.onEnd(j),this.ended=!0,j===g.Z_OK):l!==g.Z_SYNC_FLUSH||(this.onEnd(g.Z_OK),c.avail_out=0,!0)},l.prototype.onData=function(a){this.chunks.push(a)},l.prototype.onEnd=function(a){a===g.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=e.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},b.Inflate=l,b.inflate=m,b.inflateRaw=n,b.ungzip=m},function(a,b,c){"use strict";function ea(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function fa(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new d.Buf16(320),this.work=new d.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ga(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=w,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new d.Buf32(aa),b.distcode=b.distdyn=new d.Buf32(ba),b.sane=1,b.back=-1,o):r}function ha(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,ga(a)):r}function ia(a,b){var c,d;return a&&a.state?(d=a.state,b<0?(c=0,b=-b):(c=(b>>4)+1,b<48&&(b&=15)),b&&(b<8||b>15)?r:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,ha(a))):r}function ja(a,b){var c,d;return a?(d=new fa,a.state=d,d.window=null,c=ia(a,b),c!==o&&(a.state=null),c):r}function ka(a){return ja(a,da)}function oa(a){if(la){var b;for(ma=new d.Buf32(512),na=new d.Buf32(32),b=0;b<144;)a.lens[b++]=8;for(;b<256;)a.lens[b++]=9;for(;b<280;)a.lens[b++]=7;for(;b<288;)a.lens[b++]=8;for(h(j,a.lens,0,288,ma,0,a.work,{bits:9}),b=0;b<32;)a.lens[b++]=5;h(k,a.lens,0,32,na,0,a.work,{bits:5}),la=!1}a.lencode=ma,a.lenbits=9,a.distcode=na,a.distbits=5}function pa(a,b,c,e){var f,g=a.state;return null===g.window&&(g.wsize=1<<g.wbits,g.wnext=0,g.whave=0,g.window=new d.Buf8(g.wsize)),e>=g.wsize?(d.arraySet(g.window,b,c-g.wsize,g.wsize,0),g.wnext=0,g.whave=g.wsize):(f=g.wsize-g.wnext,f>e&&(f=e),d.arraySet(g.window,b,c-e,f,g.wnext),e-=f,e?(d.arraySet(g.window,b,c-e,e,0),g.wnext=e,g.whave=g.wsize):(g.wnext+=f,g.wnext===g.wsize&&(g.wnext=0),g.whave<g.wsize&&(g.whave+=f))),0}function qa(a,b){var c,aa,ba,ca,da,fa,ga,ha,ia,ja,ka,la,ma,na,ra,sa,ta,ua,va,wa,xa,ya,Aa,Ba,qa=0,za=new d.Buf8(4),Ca=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return r;c=a.state,c.mode===H&&(c.mode=I),da=a.next_out,ba=a.output,ga=a.avail_out,ca=a.next_in,aa=a.input,fa=a.avail_in,ha=c.hold,ia=c.bits,ja=fa,ka=ga,ya=o;a:for(;;)switch(c.mode){case w:if(0===c.wrap){c.mode=I;break}for(;ia<16;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if(2&c.wrap&&35615===ha){c.check=0,za[0]=255&ha,za[1]=ha>>>8&255,c.check=f(c.check,za,2,0),ha=0,ia=0,c.mode=x;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&ha)<<8)+(ha>>8))%31){a.msg="incorrect header check",c.mode=Z;break}if((15&ha)!==v){a.msg="unknown compression method",c.mode=Z;break}if(ha>>>=4,ia-=4,xa=(15&ha)+8,0===c.wbits)c.wbits=xa;else if(xa>c.wbits){a.msg="invalid window size",c.mode=Z;break}c.dmax=1<<xa,a.adler=c.check=1,c.mode=512&ha?F:H,ha=0,ia=0;break;case x:for(;ia<16;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if(c.flags=ha,(255&c.flags)!==v){a.msg="unknown compression method",c.mode=Z;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=Z;break}c.head&&(c.head.text=ha>>8&1),512&c.flags&&(za[0]=255&ha,za[1]=ha>>>8&255,c.check=f(c.check,za,2,0)),ha=0,ia=0,c.mode=y;case y:for(;ia<32;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}c.head&&(c.head.time=ha),512&c.flags&&(za[0]=255&ha,za[1]=ha>>>8&255,za[2]=ha>>>16&255,za[3]=ha>>>24&255,c.check=f(c.check,za,4,0)),ha=0,ia=0,c.mode=z;case z:for(;ia<16;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}c.head&&(c.head.xflags=255&ha,c.head.os=ha>>8),512&c.flags&&(za[0]=255&ha,za[1]=ha>>>8&255,c.check=f(c.check,za,2,0)),ha=0,ia=0,c.mode=A;case A:if(1024&c.flags){for(;ia<16;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}c.length=ha,c.head&&(c.head.extra_len=ha),512&c.flags&&(za[0]=255&ha,za[1]=ha>>>8&255,c.check=f(c.check,za,2,0)),ha=0,ia=0}else c.head&&(c.head.extra=null);c.mode=B;case B:if(1024&c.flags&&(la=c.length,la>fa&&(la=fa),la&&(c.head&&(xa=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),d.arraySet(c.head.extra,aa,ca,la,xa)),512&c.flags&&(c.check=f(c.check,aa,la,ca)),fa-=la,ca+=la,c.length-=la),c.length))break a;c.length=0,c.mode=C;case C:if(2048&c.flags){if(0===fa)break a;la=0;do xa=aa[ca+la++],c.head&&xa&&c.length<65536&&(c.head.name+=String.fromCharCode(xa));while(xa&&la<fa);if(512&c.flags&&(c.check=f(c.check,aa,la,ca)),fa-=la,ca+=la,xa)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=D;case D:if(4096&c.flags){if(0===fa)break a;la=0;do xa=aa[ca+la++],c.head&&xa&&c.length<65536&&(c.head.comment+=String.fromCharCode(xa));while(xa&&la<fa);if(512&c.flags&&(c.check=f(c.check,aa,la,ca)),fa-=la,ca+=la,xa)break a}else c.head&&(c.head.comment=null);c.mode=E;case E:if(512&c.flags){for(;ia<16;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if(ha!==(65535&c.check)){a.msg="header crc mismatch",c.mode=Z;break}ha=0,ia=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=H;break;case F:for(;ia<32;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}a.adler=c.check=ea(ha),ha=0,ia=0,c.mode=G;case G:if(0===c.havedict)return a.next_out=da,a.avail_out=ga,a.next_in=ca,a.avail_in=fa,c.hold=ha,c.bits=ia,q;a.adler=c.check=1,c.mode=H;case H:if(b===m||b===n)break a;case I:if(c.last){ha>>>=7&ia,ia-=7&ia,c.mode=W;break}for(;ia<3;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}switch(c.last=1&ha,ha>>>=1,ia-=1,3&ha){case 0:c.mode=J;break;case 1:if(oa(c),c.mode=P,b===n){ha>>>=2,ia-=2;break a}break;case 2:c.mode=M;break;case 3:a.msg="invalid block type",c.mode=Z}ha>>>=2,ia-=2;break;case J:for(ha>>>=7&ia,ia-=7&ia;ia<32;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if((65535&ha)!==(ha>>>16^65535)){a.msg="invalid stored block lengths",c.mode=Z;break}if(c.length=65535&ha,ha=0,ia=0,c.mode=K,b===n)break a;case K:c.mode=L;case L:if(la=c.length){if(la>fa&&(la=fa),la>ga&&(la=ga),0===la)break a;d.arraySet(ba,aa,ca,la,da),fa-=la,ca+=la,ga-=la,da+=la,c.length-=la;break}c.mode=H;break;case M:for(;ia<14;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if(c.nlen=(31&ha)+257,ha>>>=5,ia-=5,c.ndist=(31&ha)+1,ha>>>=5,ia-=5,c.ncode=(15&ha)+4,ha>>>=4,ia-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=Z;break}c.have=0,c.mode=N;case N:for(;c.have<c.ncode;){for(;ia<3;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}c.lens[Ca[c.have++]]=7&ha,ha>>>=3,ia-=3}for(;c.have<19;)c.lens[Ca[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,Aa={bits:c.lenbits},ya=h(i,c.lens,0,19,c.lencode,0,c.work,Aa),c.lenbits=Aa.bits,ya){a.msg="invalid code lengths set",c.mode=Z;break}c.have=0,c.mode=O;case O:for(;c.have<c.nlen+c.ndist;){for(;qa=c.lencode[ha&(1<<c.lenbits)-1],ra=qa>>>24,sa=qa>>>16&255,ta=65535&qa,!(ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if(ta<16)ha>>>=ra,ia-=ra,c.lens[c.have++]=ta;else{if(16===ta){for(Ba=ra+2;ia<Ba;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if(ha>>>=ra,ia-=ra,0===c.have){a.msg="invalid bit length repeat",c.mode=Z;break}xa=c.lens[c.have-1],la=3+(3&ha),ha>>>=2,ia-=2}else if(17===ta){for(Ba=ra+3;ia<Ba;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}ha>>>=ra,ia-=ra,xa=0,la=3+(7&ha),ha>>>=3,ia-=3}else{for(Ba=ra+7;ia<Ba;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}ha>>>=ra,ia-=ra,xa=0,la=11+(127&ha),ha>>>=7,ia-=7}if(c.have+la>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=Z;break}for(;la--;)c.lens[c.have++]=xa}}if(c.mode===Z)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=Z;break}if(c.lenbits=9,Aa={bits:c.lenbits},ya=h(j,c.lens,0,c.nlen,c.lencode,0,c.work,Aa),c.lenbits=Aa.bits,ya){a.msg="invalid literal/lengths set",c.mode=Z;break}if(c.distbits=6,c.distcode=c.distdyn,Aa={bits:c.distbits},ya=h(k,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,Aa),c.distbits=Aa.bits,ya){a.msg="invalid distances set",c.mode=Z;break}if(c.mode=P,b===n)break a;case P:c.mode=Q;case Q:if(fa>=6&&ga>=258){a.next_out=da,a.avail_out=ga,a.next_in=ca,a.avail_in=fa,c.hold=ha,c.bits=ia,g(a,ka),da=a.next_out,ba=a.output,ga=a.avail_out,ca=a.next_in,aa=a.input,fa=a.avail_in,ha=c.hold,ia=c.bits,c.mode===H&&(c.back=-1);break}for(c.back=0;qa=c.lencode[ha&(1<<c.lenbits)-1],ra=qa>>>24,sa=qa>>>16&255,ta=65535&qa,!(ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if(sa&&0===(240&sa)){for(ua=ra,va=sa,wa=ta;qa=c.lencode[wa+((ha&(1<<ua+va)-1)>>ua)],ra=qa>>>24,sa=qa>>>16&255,ta=65535&qa,!(ua+ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}ha>>>=ua,ia-=ua,c.back+=ua}if(ha>>>=ra,ia-=ra,c.back+=ra,c.length=ta,0===sa){c.mode=V;break}if(32&sa){c.back=-1,c.mode=H;break}if(64&sa){a.msg="invalid literal/length code",c.mode=Z;break}c.extra=15&sa,c.mode=R;
case R:if(c.extra){for(Ba=c.extra;ia<Ba;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}c.length+=ha&(1<<c.extra)-1,ha>>>=c.extra,ia-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=S;case S:for(;qa=c.distcode[ha&(1<<c.distbits)-1],ra=qa>>>24,sa=qa>>>16&255,ta=65535&qa,!(ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if(0===(240&sa)){for(ua=ra,va=sa,wa=ta;qa=c.distcode[wa+((ha&(1<<ua+va)-1)>>ua)],ra=qa>>>24,sa=qa>>>16&255,ta=65535&qa,!(ua+ra<=ia);){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}ha>>>=ua,ia-=ua,c.back+=ua}if(ha>>>=ra,ia-=ra,c.back+=ra,64&sa){a.msg="invalid distance code",c.mode=Z;break}c.offset=ta,c.extra=15&sa,c.mode=T;case T:if(c.extra){for(Ba=c.extra;ia<Ba;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}c.offset+=ha&(1<<c.extra)-1,ha>>>=c.extra,ia-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=Z;break}c.mode=U;case U:if(0===ga)break a;if(la=ka-ga,c.offset>la){if(la=c.offset-la,la>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=Z;break}la>c.wnext?(la-=c.wnext,ma=c.wsize-la):ma=c.wnext-la,la>c.length&&(la=c.length),na=c.window}else na=ba,ma=da-c.offset,la=c.length;la>ga&&(la=ga),ga-=la,c.length-=la;do ba[da++]=na[ma++];while(--la);0===c.length&&(c.mode=Q);break;case V:if(0===ga)break a;ba[da++]=c.length,ga--,c.mode=Q;break;case W:if(c.wrap){for(;ia<32;){if(0===fa)break a;fa--,ha|=aa[ca++]<<ia,ia+=8}if(ka-=ga,a.total_out+=ka,c.total+=ka,ka&&(a.adler=c.check=c.flags?f(c.check,ba,ka,da-ka):e(c.check,ba,ka,da-ka)),ka=ga,(c.flags?ha:ea(ha))!==c.check){a.msg="incorrect data check",c.mode=Z;break}ha=0,ia=0}c.mode=X;case X:if(c.wrap&&c.flags){for(;ia<32;){if(0===fa)break a;fa--,ha+=aa[ca++]<<ia,ia+=8}if(ha!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=Z;break}ha=0,ia=0}c.mode=Y;case Y:ya=p;break a;case Z:ya=s;break a;case $:return t;case _:default:return r}return a.next_out=da,a.avail_out=ga,a.next_in=ca,a.avail_in=fa,c.hold=ha,c.bits=ia,(c.wsize||ka!==a.avail_out&&c.mode<Z&&(c.mode<W||b!==l))&&pa(a,a.output,a.next_out,ka-a.avail_out)?(c.mode=$,t):(ja-=a.avail_in,ka-=a.avail_out,a.total_in+=ja,a.total_out+=ka,c.total+=ka,c.wrap&&ka&&(a.adler=c.check=c.flags?f(c.check,ba,ka,a.next_out-ka):e(c.check,ba,ka,a.next_out-ka)),a.data_type=c.bits+(c.last?64:0)+(c.mode===H?128:0)+(c.mode===P||c.mode===K?256:0),(0===ja&&0===ka||b===l)&&ya===o&&(ya=u),ya)}function ra(a){if(!a||!a.state)return r;var b=a.state;return b.window&&(b.window=null),a.state=null,o}function sa(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?r:(c.head=b,b.done=!1,o)):r}function ta(a,b){var d,f,g,c=b.length;return a&&a.state?(d=a.state,0!==d.wrap&&d.mode!==G?r:d.mode===G&&(f=1,f=e(f,b,c,0),f!==d.check)?s:(g=pa(a,b,c,c))?(d.mode=$,t):(d.havedict=1,o)):r}var ma,na,d=c(16),e=c(20),f=c(21),g=c(27),h=c(28),i=0,j=1,k=2,l=4,m=5,n=6,o=0,p=1,q=2,r=-2,s=-3,t=-4,u=-5,v=8,w=1,x=2,y=3,z=4,A=5,B=6,C=7,D=8,E=9,F=10,G=11,H=12,I=13,J=14,K=15,L=16,M=17,N=18,O=19,P=20,Q=21,R=22,S=23,T=24,U=25,V=26,W=27,X=28,Y=29,Z=30,$=31,_=32,aa=852,ba=592,ca=15,da=ca,la=!0;b.inflateReset=ha,b.inflateReset2=ia,b.inflateResetKeep=ga,b.inflateInit=ka,b.inflateInit2=ja,b.inflate=qa,b.inflateEnd=ra,b.inflateGetHeader=sa,b.inflateSetDictionary=ta,b.inflateInfo="pako inflate (from Nodeca project)"},function(a,b){"use strict";var c=30,d=12;a.exports=function(b,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D;f=b.state,g=b.next_in,C=b.input,h=g+(b.avail_in-5),i=b.next_out,D=b.output,j=i-(e-b.avail_out),k=i+(b.avail_out-257),l=f.dmax,m=f.wsize,n=f.whave,o=f.wnext,p=f.window,q=f.hold,r=f.bits,s=f.lencode,t=f.distcode,u=(1<<f.lenbits)-1,v=(1<<f.distbits)-1;a:do{r<15&&(q+=C[g++]<<r,r+=8,q+=C[g++]<<r,r+=8),w=s[q&u];b:for(;;){if(x=w>>>24,q>>>=x,r-=x,x=w>>>16&255,0===x)D[i++]=65535&w;else{if(!(16&x)){if(0===(64&x)){w=s[(65535&w)+(q&(1<<x)-1)];continue b}if(32&x){f.mode=d;break a}b.msg="invalid literal/length code",f.mode=c;break a}y=65535&w,x&=15,x&&(r<x&&(q+=C[g++]<<r,r+=8),y+=q&(1<<x)-1,q>>>=x,r-=x),r<15&&(q+=C[g++]<<r,r+=8,q+=C[g++]<<r,r+=8),w=t[q&v];c:for(;;){if(x=w>>>24,q>>>=x,r-=x,x=w>>>16&255,!(16&x)){if(0===(64&x)){w=t[(65535&w)+(q&(1<<x)-1)];continue c}b.msg="invalid distance code",f.mode=c;break a}if(z=65535&w,x&=15,r<x&&(q+=C[g++]<<r,r+=8,r<x&&(q+=C[g++]<<r,r+=8)),z+=q&(1<<x)-1,z>l){b.msg="invalid distance too far back",f.mode=c;break a}if(q>>>=x,r-=x,x=i-j,z>x){if(x=z-x,x>n&&f.sane){b.msg="invalid distance too far back",f.mode=c;break a}if(A=0,B=p,0===o){if(A+=m-x,x<y){y-=x;do D[i++]=p[A++];while(--x);A=i-z,B=D}}else if(o<x){if(A+=m+o-x,x-=o,x<y){y-=x;do D[i++]=p[A++];while(--x);if(A=0,o<y){x=o,y-=x;do D[i++]=p[A++];while(--x);A=i-z,B=D}}}else if(A+=o-x,x<y){y-=x;do D[i++]=p[A++];while(--x);A=i-z,B=D}for(;y>2;)D[i++]=B[A++],D[i++]=B[A++],D[i++]=B[A++],y-=3;y&&(D[i++]=B[A++],y>1&&(D[i++]=B[A++]))}else{A=i-z;do D[i++]=D[A++],D[i++]=D[A++],D[i++]=D[A++],y-=3;while(y>2);y&&(D[i++]=D[A++],y>1&&(D[i++]=D[A++]))}break}}break}}while(g<h&&i<k);y=r>>3,g-=y,r-=y<<3,q&=(1<<r)-1,b.next_in=g,b.next_out=i,b.avail_in=g<h?5+(h-g):5-(g-h),b.avail_out=i<k?257+(k-i):257-(i-k),f.hold=q,f.bits=r}},function(a,b,c){"use strict";var d=c(16),e=15,f=852,g=592,h=0,i=1,j=2,k=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],m=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],n=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];a.exports=function(b,c,o,p,q,r,s,t){var F,G,H,I,J,M,R,S,T,u=t.bits,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,K=null,L=0,N=new d.Buf16(e+1),O=new d.Buf16(e+1),P=null,Q=0;for(v=0;v<=e;v++)N[v]=0;for(w=0;w<p;w++)N[c[o+w]]++;for(z=u,y=e;y>=1&&0===N[y];y--);if(z>y&&(z=y),0===y)return q[r++]=20971520,q[r++]=20971520,t.bits=1,0;for(x=1;x<y&&0===N[x];x++);for(z<x&&(z=x),C=1,v=1;v<=e;v++)if(C<<=1,C-=N[v],C<0)return-1;if(C>0&&(b===h||1!==y))return-1;for(O[1]=0,v=1;v<e;v++)O[v+1]=O[v]+N[v];for(w=0;w<p;w++)0!==c[o+w]&&(s[O[c[o+w]]++]=w);if(b===h?(K=P=s,M=19):b===i?(K=k,L-=257,P=l,Q-=257,M=256):(K=m,P=n,M=-1),E=0,w=0,v=x,J=r,A=z,B=0,H=-1,D=1<<z,I=D-1,b===i&&D>f||b===j&&D>g)return 1;for(var U=0;;){U++,R=v-B,s[w]<M?(S=0,T=s[w]):s[w]>M?(S=P[Q+s[w]],T=K[L+s[w]]):(S=96,T=0),F=1<<v-B,G=1<<A,x=G;do G-=F,q[J+(E>>B)+G]=R<<24|S<<16|T|0;while(0!==G);for(F=1<<v-1;E&F;)F>>=1;if(0!==F?(E&=F-1,E+=F):E=0,w++,0===--N[v]){if(v===y)break;v=c[o+s[w]]}if(v>z&&(E&I)!==H){for(0===B&&(B=z),J+=x,A=v-B,C=1<<A;A+B<y&&(C-=N[A+B],!(C<=0));)A++,C<<=1;if(D+=1<<A,b===i&&D>f||b===j&&D>g)return 1;H=E&I,q[H]=z<<24|A<<16|J-r|0}}return 0!==E&&(q[J+E]=v-B<<24|64<<16|0),t.bits=z,0}},function(a,b){"use strict";a.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(a,b){"use strict";function c(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}a.exports=c},function(a,b){"use strict";function e(a,b){return Math.floor(Math.random()*(b-a+1))+a}function f(a){return a[e(0,a.length-1)]}function g(a){for(var b="",d=0;d<a;d+=1)b+=f(c);return b}var c="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",d="0123456789abcdef",h={randomHexDigit:function(){return f(d)},randomHexString:function(b){for(var c="";b--;)c+=this.randomHexDigit();return c},randomElement:f,randomAlphanumStr:g,randomInt:e};a.exports=h},function(a,b,c){(function(b){"use strict";function i(){if(navigator.webkitGetUserMedia){e=h.RTC_BROWSER_CHROME;var a=navigator.userAgent.toLowerCase(),b=parseInt(a.match(/chrome\/(\d+)\./)[1],10);return d.log("This appears to be Chrome, ver: "+b),b}return null}function j(){var a=navigator.userAgent;if(a.match(/Opera|OPR/)){e=h.RTC_BROWSER_OPERA;var b=a.match(/(Opera|OPR) ?\/?(\d+)\.?/)[2];return d.info("This appears to be Opera, ver: "+b),b}return null}function k(){if(navigator.mozGetUserMedia){e=h.RTC_BROWSER_FIREFOX;var a=parseInt(navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1],10);return d.log("This appears to be Firefox, ver: "+a),a}return null}function l(){return/^((?!chrome).)*safari/i.test(navigator.userAgent)?(e=h.RTC_BROWSER_SAFARI,d.info("This appears to be Safari"),1):null}function m(){var a,b=window.navigator.userAgent,c=b.indexOf("MSIE ");c>0&&(a=parseInt(b.substring(c+5,b.indexOf(".",c)),10));var f=b.indexOf("Trident/");if(!a&&f>0){var g=b.indexOf("rv:");a=parseInt(b.substring(g+3,b.indexOf(".",g)),10)}var i=b.indexOf("Edge/");return!a&&i>0&&(a=parseInt(b.substring(i+5,b.indexOf(".",i)),10)),a&&(e=h.RTC_BROWSER_IEXPLORER,d.info("This appears to be IExplorer, ver: "+a)),a}function n(){var a=navigator.userAgent;if(a.match(/JitsiMeetNW/)){e=h.RTC_BROWSER_NWJS;var b=a.match(/JitsiMeetNW\/([\d.]+)/)[1];return d.info("This appears to be JitsiMeetNW, ver: "+b),b}return null}function o(){var b,a=navigator.userAgent.match(/\b(react[ \t_-]*native)(?:\/(\S+))?/i);if(a||"ReactNative"===navigator.product){e=h.RTC_BROWSER_REACT_NATIVE;var c;a&&a.length>2&&(c=a[1],b=a[2]),c||(c="react-native"),b||(b="unknown"),console.info("This appears to be "+c+", ver: "+b)}else b=null;return b}function p(){for(var a,b=[o,n,j,i,k,m,l],c=0;c<b.length;c++)if(a=b[c]())return a;return d.warn("Browser type defaults to Safari ver 1"),e=h.RTC_BROWSER_SAFARI,1}var e,f,g,d=c(9).getLogger(b),h={RTC_BROWSER_CHROME:"rtc_browser.chrome",RTC_BROWSER_OPERA:"rtc_browser.opera",RTC_BROWSER_FIREFOX:"rtc_browser.firefox",RTC_BROWSER_IEXPLORER:"rtc_browser.iexplorer",RTC_BROWSER_SAFARI:"rtc_browser.safari",RTC_BROWSER_NWJS:"rtc_browser.nwjs",RTC_BROWSER_REACT_NATIVE:"rtc_browser.react-native",getBrowserType:function(){return e},getBrowserName:function(){var b=e.split("rtc_browser.")[1];return h.isAndroid()&&(b="android"),b},isChrome:function(){return e===h.RTC_BROWSER_CHROME},isOpera:function(){return e===h.RTC_BROWSER_OPERA},isFirefox:function(){return e===h.RTC_BROWSER_FIREFOX},isIExplorer:function(){return e===h.RTC_BROWSER_IEXPLORER},isSafari:function(){return e===h.RTC_BROWSER_SAFARI},isNWJS:function(){return e===h.RTC_BROWSER_NWJS},isReactNative:function(){return e===h.RTC_BROWSER_REACT_NATIVE},isTemasysPluginUsed:function(){return h.isIExplorer()||h.isSafari()},isVideoMuteOnConnInterruptedSupported:function(){return h.isChrome()},getFirefoxVersion:function(){return h.isFirefox()?f:null},getChromeVersion:function(){return h.isChrome()?f:null},usesPlanB:function(){return h.isChrome()||h.isOpera()||h.isTemasysPluginUsed()},usesUnifiedPlan:function(){return h.isFirefox()},isAndroid:function(){return g}};f=p(),g=navigator.userAgent.indexOf("Android")!=-1,a.exports=h}).call(b,"modules/RTC/RTCBrowserType.js")},function(a,b,c){(function(a){"use strict";function k(a){return a&&a.__esModule?a:{default:a}}function l(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function m(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function n(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=function a(b,c,d){null===b&&(b=Function.prototype);var e=Object.getOwnPropertyDescriptor(b,c);if(void 0===e){var f=Object.getPrototypeOf(b);return null===f?void 0:a(f,c,d)}if("value"in e)return e.value;var g=e.get;if(void 0!==g)return g.call(d)};b.default=function(a){Strophe.addConnectionPlugin("emuc",new p(a))};var f=c(9),g=c(34),h=k(g),i=c(42),j=k(i),o=(0,f.getLogger)(a),p=function(a){function b(a){l(this,b);var c=m(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));return c.xmpp=a,c.rooms={},c}return n(b,a),d(b,[{key:"init",value:function(c){e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"init",this).call(this,c),this.connection.addHandler(this.onPresence.bind(this),null,"presence",null,null,null,null),this.connection.addHandler(this.onPresenceUnavailable.bind(this),null,"presence","unavailable",null),this.connection.addHandler(this.onPresenceError.bind(this),null,"presence","error",null),this.connection.addHandler(this.onMessage.bind(this),null,"message",null,null),this.connection.addHandler(this.onMute.bind(this),"http://jitsi.org/jitmeet/audio","iq","set",null,null)}},{key:"createRoom",value:function(b,c,d,e){var f=Strophe.getBareJidFromJid(b);if(this.rooms[f]){var g="You are already in the room!";throw o.error(g),new Error(g)}return this.rooms[f]=new h.default(this.connection,b,c,this.xmpp,d,e),this.rooms[f]}},{key:"doLeave",value:function(b){delete this.rooms[b]}},{key:"onPresence",value:function(b){var c=b.getAttribute("from");if(b.getAttribute("type"))return!0;var d=this.rooms[Strophe.getBareJidFromJid(c)];if(d)return $(b).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="201"]').length&&d.createNonAnonymousRoom(),d.onPresence(b),!0}},{key:"onPresenceUnavailable",value:function(b){var c=b.getAttribute("from"),d=this.rooms[Strophe.getBareJidFromJid(c)];if(d)return d.onPresenceUnavailable(b,c),!0}},{key:"onPresenceError",value:function(b){var c=b.getAttribute("from"),d=this.rooms[Strophe.getBareJidFromJid(c)];if(d)return d.onPresenceError(b,c),!0}},{key:"onMessage",value:function(b){var c=b.getAttribute("from"),d=this.rooms[Strophe.getBareJidFromJid(c)];if(d)return d.onMessage(b,c),!0}},{key:"setJingleSession",value:function(b,c){var d=this.rooms[Strophe.getBareJidFromJid(b)];d&&d.setJingleSession(c)}},{key:"onMute",value:function(b){var c=b.getAttribute("from"),d=this.rooms[Strophe.getBareJidFromJid(c)];if(d)return d.onMute(b),!0}}]),b}(j.default)}).call(b,"modules/xmpp/strophe.emuc.js")},function(a,b,c){(function(b){"use strict";function m(a,b){for(var c=[],d=0;d<a.length;d++)a[d].tagName===b&&c.push(a[d]);return c}function n(a,b,c,d,f,g){this.eventEmitter=new i,this.xmpp=d,this.connection=a,this.roomjid=Strophe.getBareJidFromJid(b),this.myroomjid=b,this.password=c,e.info("Joined MUC as "+this.myroomjid),this.members={},this.presMap={},this.presHandlers={},this.joined=!1,this.role=null,this.focusMucJid=null,this.noBridgeAvailable=!1,this.options=f||{},this.moderator=new h(this.roomjid,this.xmpp,this.eventEmitter,g,{connection:this.xmpp.options,conference:this.options}),this.initPresenceMap(),this.session=null,this.lastPresences={},this.phoneNumber=null,this.phonePin=null,this.connectionTimes={},this.participantPropertyListener=null,this.locked=!1}var d=c(9),e=(0,d.getLogger)(b),f=c(35),g=c(36),h=c(37),i=c(14),j=c(40),k=c(39),l={packet2JSON:function(b,c){var d=this;$(b).children().each(function(){var a=$(this).prop("tagName"),b={tagName:a};b.attributes={},$($(this)[0].attributes).each(function(a,c){b.attributes[c.name]=c.value});var e=Strophe.getText($(this)[0]);e&&(b.value=e),b.children=[],c.push(b),d.packet2JSON($(this),b.children)})},JSON2packet:function(b,c){for(var d=0;d<b.length;d++){var e=b[d];e&&null!==e&&(c.c(e.tagName,e.attributes),e.value&&c.t(e.value),e.children&&this.JSON2packet(e.children,c),c.up())}}};n.prototype.initPresenceMap=function(){this.presMap.to=this.myroomjid,this.presMap.xns="http://jabber.org/protocol/muc",this.presMap.nodes=[],this.presMap.nodes.push({tagName:"user-agent",value:navigator.userAgent,attributes:{xmlns:"http://jitsi.org/jitmeet/user-agent"}}),this.addVideoInfoToPresence(!1)},n.prototype.updateDeviceAvailability=function(a){this.presMap.nodes.push({tagName:"devices",children:[{tagName:"audio",value:a.audio},{tagName:"video",value:a.video}]})},n.prototype.join=function(a){this.password=a;var b=this;this.moderator.allocateConferenceFocus(function(){b.sendPresence(!0)})},n.prototype.sendPresence=function(a){var b=this.presMap.to;if(b&&(this.joined||a)){var c=$pres({to:b});a&&(c.c("x",{xmlns:this.presMap.xns}),this.password&&c.c("password").t(this.password).up(),c.up());var d=this.connection,e=d.caps;e&&(e.node=this.xmpp.options.clientNode,c.c("c",e.generateCapsAttrs()).up()),l.JSON2packet(this.presMap.nodes,c),d.send(c),a&&d.flush()}},n.prototype.doLeave=function(){e.log("do leave",this.myroomjid);var a=$pres({to:this.myroomjid,type:"unavailable"});this.presMap.length=0,this.connection.flush(),this.connection.send(a),this.connection.flush()},n.prototype.discoRoomInfo=function(){var a=$iq({type:"get",to:this.roomjid}).c("query",{xmlns:Strophe.NS.DISCO_INFO});this.connection.sendIQ(a,function(a){var b=$(a).find('>query>feature[var="muc_passwordprotected"]').length;b!=this.locked&&(this.eventEmitter.emit(f.MUC_LOCK_CHANGED,b),this.locked=b)}.bind(this),function(a){k.callErrorHandler(a),e.error("Error getting room info: ",a)}.bind(this))},n.prototype.createNonAnonymousRoom=function(){var a=$iq({type:"get",to:this.roomjid}).c("query",{xmlns:"http://jabber.org/protocol/muc#owner"}).c("x",{xmlns:"jabber:x:data",type:"submit"}),b=this;this.connection.sendIQ(a,function(a){if(!$(a).find('>query>x[xmlns="jabber:x:data"]>field[var="muc#roomconfig_whois"]').length){var c="non-anonymous rooms not supported";return k.callErrorHandler(new Error(c)),void e.error(c)}var d=$iq({to:this.roomjid,type:"set"}).c("query",{xmlns:"http://jabber.org/protocol/muc#owner"});d.c("x",{xmlns:"jabber:x:data",type:"submit"}),d.c("field",{var:"FORM_TYPE"}).c("value").t("http://jabber.org/protocol/muc#roomconfig").up().up(),d.c("field",{var:"muc#roomconfig_whois"}).c("value").t("anyone").up().up(),b.connection.sendIQ(d)},function(a){k.callErrorHandler(a),e.error("Error getting room configuration form: ",a)})},n.prototype.onPresence=function(a){var b=a.getAttribute("from"),c={};c.show=$(a).find(">show").text(),c.status=$(a).find(">status").text();var d=$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>item');c.affiliation=d.attr("affiliation"),c.role=d.attr("role");var g=d.attr("jid");c.jid=g,c.isFocus=g&&0===g.indexOf(this.moderator.getFocusUserJid()+"/"),c.isHiddenDomain=g&&g.indexOf("@")>0&&this.options.hiddenDomain===g.substring(g.indexOf("@")+1,g.indexOf("/")),$(a).find(">x").remove();var h=[];l.packet2JSON(a,h),this.lastPresences[b]=h;for(var i=null,j=0;j<h.length;j++){var k=h[j];switch(k.tagName){case"nick":c.nick=k.value;break;case"userId":c.id=k.value}}if(b==this.myroomjid){var m="owner"==c.affiliation?c.role:"none";if(this.role!==m&&(this.role=m,this.eventEmitter.emit(f.LOCAL_ROLE_CHANGED,this.role)),!this.joined){this.joined=!0;var n=this.connectionTimes["muc.joined"]=window.performance.now();e.log("(TIME) MUC joined:\t",n),this.eventEmitter.emit(f.MUC_JOINED)}}else if(void 0===this.members[b])this.members[b]=c,e.log("entered",b,c),c.isFocus?this._initFocus(b,g):this.eventEmitter.emit(f.MUC_MEMBER_JOINED,b,c.nick,c.role,c.isHiddenDomain);else{var o=this.members[b];o.role!=c.role&&(o.role=c.role,this.eventEmitter.emit(f.MUC_ROLE_CHANGED,b,c.role)),c.isFocus&&(o.isFocus=!0,this._initFocus(b,g)),c.displayName&&(o.displayName=c.displayName)}for(var p=0;p<h.length;p++){var q=h[p];switch(q.tagName){case"nick":if(!c.isFocus){var r=this.xmpp.options.displayJids?Strophe.getResourceFromJid(b):c.nick;r&&r.length>0&&this.eventEmitter.emit(f.DISPLAY_NAME_CHANGED,b,r)}break;case"bridgeNotAvailable":c.isFocus&&!this.noBridgeAvailable&&(this.noBridgeAvailable=!0,this.eventEmitter.emit(f.BRIDGE_DOWN));break;case"jibri-recording-status":i=q;break;case"call-control":var s=q.attributes;if(!s)break;this.phoneNumber=s.phone||null,this.phonePin=s.pin||null,this.eventEmitter.emit(f.PHONE_NUMBER_CHANGED);break;default:this.processNode(q,b)}}c.status&&this.eventEmitter.emit(f.PRESENCE_STATUS,b,c.status),i&&(this.lastJibri=i,this.recording&&this.recording.handleJibriPresence(i))},n.prototype._initFocus=function(a,b){this.focusMucJid=a,this.recording||(this.recording=new j(this.options.recordingType,this.eventEmitter,this.connection,this.focusMucJid,this.options.jirecon,this.roomjid),this.lastJibri&&this.recording.handleJibriPresence(this.lastJibri)),e.info("Ignore focus: "+a+", real JID: "+b)},n.prototype.setParticipantPropertyListener=function(a){this.participantPropertyListener=a},n.prototype.processNode=function(a,b){try{var c=this.presHandlers[a.tagName];a.tagName.startsWith("jitsi_participant_")&&(c=this.participantPropertyListener),c&&c(a,Strophe.getResourceFromJid(b),b)}catch(b){k.callErrorHandler(b),e.error("Error processing:"+a.tagName+" node.",b)}},n.prototype.sendMessage=function(a,b){var c=$msg({to:this.roomjid,type:"groupchat"});c.c("body",a).up(),b&&c.c("nick",{xmlns:"http://jabber.org/protocol/nick"}).t(b).up().up(),this.connection.send(c),this.eventEmitter.emit(f.SENDING_CHAT_MESSAGE,a)},n.prototype.setSubject=function(a){var b=$msg({to:this.roomjid,type:"groupchat"});b.c("subject",a),this.connection.send(b)},n.prototype.onParticipantLeft=function(a,b){delete this.lastPresences[a],b||(this.eventEmitter.emit(f.MUC_MEMBER_LEFT,a),this.moderator.onMucMemberLeft(a))},n.prototype.onPresenceUnavailable=function(a,b){if($(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>destroy').length){var c,d=$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>destroy>reason');return d.length&&(c=d.text()),this._dispose(),this.eventEmitter.emit(f.MUC_DESTROYED,c),this.connection.emuc.doLeave(this.roomjid),!0}var e=0!==$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="110"]').length,g=0!==$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="307"]').length;if(e){if(Object.keys(this.members).length>0){for(var h in this.members){var i=this.members[h];delete this.members[h],this.onParticipantLeft(h,i.isFocus)}this.connection.emuc.doLeave(this.roomjid),g||this.eventEmitter.emit(f.MUC_LEFT)}}else delete this.members[b],this.onParticipantLeft(b,!1);g&&this.myroomjid===b&&(this._dispose(),this.eventEmitter.emit(f.KICKED))},n.prototype.onMessage=function(a,b){var c=$(a).find('>nick[xmlns="http://jabber.org/protocol/nick"]').text()||Strophe.getResourceFromJid(b),d=$(a).find(">body").text(),g=a.getAttribute("type");if("error"==g)return this.eventEmitter.emit(f.CHAT_ERROR_RECEIVED,$(a).find(">text").text(),d),!0;var h=$(a).find(">subject");if(h.length){var i=h.text();(i||""===i)&&(this.eventEmitter.emit(f.SUBJECT_CHANGED,i),e.log("Subject is changed to "+i))}var j=$(a).find(">delay").attr("stamp");if(!j&&(j=$(a).find('>[xmlns="jabber:x:delay"]').attr("stamp"))){var k=j.match(/(\d{4})(\d{2})(\d{2}T\d{2}:\d{2}:\d{2})/);j=k[1]+"-"+k[2]+"-"+k[3]+"Z"}b==this.roomjid&&$(a).find('>x[xmlns="http://jabber.org/protocol/muc#user"]>status[code="104"]').length&&this.discoRoomInfo(),d&&(e.log("chat",c,d),this.eventEmitter.emit(f.MESSAGE_RECEIVED,b,c,d,this.myroomjid,j))},n.prototype.onPresenceError=function(a,b){if($(a).find('>error[type="auth"]>not-authorized[xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"]').length)e.log("on password required",b),this.eventEmitter.emit(f.PASSWORD_REQUIRED);else if($(a).find('>error[type="cancel"]>not-allowed[xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"]').length){var c=Strophe.getDomainFromJid(a.getAttribute("to"));c===this.xmpp.options.hosts.anonymousdomain?this.eventEmitter.emit(f.ROOM_JOIN_ERROR):(e.warn("onPresError ",a),this.eventEmitter.emit(f.ROOM_CONNECT_NOT_ALLOWED_ERROR))}else $(a).find(">error>service-unavailable").length?(e.warn("Maximum users limit for the room has been reached",a),this.eventEmitter.emit(f.ROOM_MAX_USERS_ERROR)):(e.warn("onPresError ",a),this.eventEmitter.emit(f.ROOM_CONNECT_ERROR))},n.prototype.kick=function(a){var b=$iq({to:this.roomjid,type:"set"}).c("query",{xmlns:"http://jabber.org/protocol/muc#admin"}).c("item",{nick:Strophe.getResourceFromJid(a),role:"none"}).c("reason").t("You have been kicked.").up().up().up();this.connection.sendIQ(b,function(b){e.log("Kick participant with jid: ",a,b)},function(a){e.log("Kick participant error: ",a)})},n.prototype.lockRoom=function(a,b,c,d){var e=this;this.connection.sendIQ($iq({to:this.roomjid,type:"get"}).c("query",{xmlns:"http://jabber.org/protocol/muc#owner"}),function(f){if($(f).find('>query>x[xmlns="jabber:x:data"]>field[var="muc#roomconfig_roomsecret"]').length){var g=$iq({to:e.roomjid,type:"set"}).c("query",{xmlns:"http://jabber.org/protocol/muc#owner"});g.c("x",{xmlns:"jabber:x:data",type:"submit"}),g.c("field",{var:"FORM_TYPE"}).c("value").t("http://jabber.org/protocol/muc#roomconfig").up().up(),g.c("field",{var:"muc#roomconfig_roomsecret"}).c("value").t(a).up().up(),g.c("field",{var:"muc#roomconfig_whois"}).c("value").t("anyone").up().up(),e.connection.sendIQ(g,b,c)}else d()},c)},n.prototype.addToPresence=function(a,b){b.tagName=a,this.removeFromPresence(a),this.presMap.nodes.push(b)},n.prototype.removeFromPresence=function(a){var b=this.presMap.nodes.filter(function(b){return a!==b.tagName});this.presMap.nodes=b},n.prototype.addPresenceListener=function(a,b){this.presHandlers[a]=b},n.prototype.removePresenceListener=function(a){delete this.presHandlers[a]},n.prototype.isFocus=function(a){var b=this.members[a];return b?b.isFocus:null},n.prototype.isModerator=function(){return"moderator"===this.role},n.prototype.getMemberRole=function(a){return this.members[a]?this.members[a].role:null},n.prototype.setJingleSession=function(a){this.session=a},n.prototype.removeStream=function(a,b,c,d){return this.session?void this.session.removeStream(a,b,c,d):void b()},n.prototype.addStream=function(a,b,c,d,f){this.session?this.session.addStream(a,b,c,d,f):(e.warn("No conference handler or conference not started yet"),b())},n.prototype.generateNewStreamSSRCInfo=function(){return this.session?this.session.generateNewStreamSSRCInfo():(e.warn("The call haven't been started. Cannot generate ssrc info at the moment!"),null)},n.prototype.setVideoMute=function(a,b){this.sendVideoInfoPresence(a),b&&b(a)},n.prototype.setAudioMute=function(a,b){return this.sendAudioInfoPresence(a,b)},n.prototype.addAudioInfoToPresence=function(a){this.removeFromPresence("audiomuted"),this.addToPresence("audiomuted",{attributes:{xmlns:"http://jitsi.org/jitmeet/audio"},value:a.toString()})},n.prototype.sendAudioInfoPresence=function(a,b){this.addAudioInfoToPresence(a),this.connection&&this.sendPresence(),b&&b()},n.prototype.addVideoInfoToPresence=function(a){this.removeFromPresence("videomuted"),this.addToPresence("videomuted",{attributes:{xmlns:"http://jitsi.org/jitmeet/video"},value:a.toString()})},n.prototype.sendVideoInfoPresence=function(a){this.addVideoInfoToPresence(a),this.connection&&this.sendPresence()},n.prototype.addListener=function(a,b){this.eventEmitter.on(a,b)},n.prototype.removeListener=function(a,b){this.eventEmitter.removeListener(a,b)},n.prototype.remoteTrackAdded=function(a){var b=this.lastPresences[a.owner];if(b){var c=a.mediaType,d=null;if(c===g.AUDIO)d=m(b,"audiomuted");else if(c===g.VIDEO){d=m(b,"videomuted");var h=m(b,"videoType");h&&h.length>0&&h[0]&&(a.videoType=h[0].value)}else e.warn("Unsupported media type: "+c),a.muted=null;d&&(a.muted=d.length>0&&d[0]&&"true"===d[0].value)}this.eventEmitter.emit(f.REMOTE_TRACK_ADDED,a)},n.prototype.isRecordingSupported=function(){return!!this.recording&&this.recording.isSupported()},n.prototype.getRecordingState=function(){return this.recording?this.recording.getState():void 0},n.prototype.getRecordingURL=function(){return this.recording?this.recording.getURL():null},n.prototype.toggleRecording=function(a,b){return this.recording?this.recording.toggleRecording(a,b):b("error",new Error("The conference is not created yet!"))},n.prototype.isSIPCallingSupported=function(){return!!this.moderator&&this.moderator.isSipGatewayEnabled()},n.prototype.dial=function(a){return this.connection.rayo.dial(a,"fromnumber",Strophe.getNodeFromJid(this.myroomjid),this.password,this.focusMucJid)},n.prototype.hangup=function(){return this.connection.rayo.hangup()},n.prototype.getPhoneNumber=function(){return this.phoneNumber},n.prototype.getPhonePin=function(){return this.phonePin},n.prototype.getConnectionState=function(){return this.session?this.session.getIceConnectionState():null},n.prototype.muteParticipant=function(a,b){e.info("set mute",b);var c=$iq({to:this.focusMucJid,type:"set"}).c("mute",{xmlns:"http://jitsi.org/jitmeet/audio",jid:a}).t(b.toString()).up();this.connection.sendIQ(c,function(a){e.log("set mute",a)},function(a){e.log("set mute error",a)})},n.prototype.onMute=function(a){var b=a.getAttribute("from");if(b!==this.focusMucJid)return e.warn("Ignored mute from non focus peer"),!1;var c=$(a).find("mute");if(c.length){var d="true"===c.text();this.eventEmitter.emit(f.AUDIO_MUTED_BY_FOCUS,d)}return!0},n.prototype.leave=function(){var a=this;return this._dispose(),new Promise(function(b,c){function g(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e.removeListener(f.MUC_LEFT,g),clearTimeout(d),a?c(new Error("The timeout for the confirmation about leaving the room expired.")):b()}var d=setTimeout(function(){return g(!0)},5e3),e=a.eventEmitter;e.on(f.MUC_LEFT,g),a.doLeave()})},n.prototype._dispose=function(){this.session&&this.session.close()},a.exports=n}).call(b,"modules/xmpp/ChatRoom.js")},function(a,b){"use strict";var c={ADD_ICE_CANDIDATE_FAILED:"xmpp.add_ice_candidate_failed",AUDIO_MUTED_BY_FOCUS:"xmpp.audio_muted_by_focus",AUTHENTICATION_REQUIRED:"xmpp.authentication_required",BRIDGE_DOWN:"xmpp.bridge_down",CALL_INCOMING:"xmpp.callincoming.jingle",CALL_ENDED:"xmpp.callended.jingle",CHAT_ERROR_RECEIVED:"xmpp.chat_error_received",CONFERENCE_SETUP_FAILED:"xmpp.conference_setup_failed",CONNECTION_FAILED:"xmpp.connection.failed",CONNECTION_INTERRUPTED:"xmpp.connection.interrupted",CONNECTION_RESTORED:"xmpp.connection.restored",CONNECTION_ICE_FAILED:"xmpp.connection.ice.failed",CREATE_ANSWER_ERROR:"xmpp.create_answer_error",CREATE_ANSWER_FAILED:"xmpp.create_answer_failed",CREATE_OFFER_FAILED:"xmpp.create_offer_failed",DISPLAY_NAME_CHANGED:"xmpp.display_name_changed",ETHERPAD:"xmpp.etherpad",FOCUS_DISCONNECTED:"xmpp.focus_disconnected",FOCUS_LEFT:"xmpp.focus_left",GRACEFUL_SHUTDOWN:"xmpp.graceful_shutdown",ICE_RESTARTING:"rtc.ice_restarting",JINGLE_ERROR:"xmpp.jingle_error",JINGLE_FATAL_ERROR:"xmpp.jingle_fatal_error",KICKED:"xmpp.kicked",LOCAL_ROLE_CHANGED:"xmpp.localrole_changed",MESSAGE_RECEIVED:"xmpp.message_received",MUC_DESTROYED:"xmpp.muc_destroyed",MUC_JOINED:"xmpp.muc_joined",MUC_MEMBER_JOINED:"xmpp.muc_member_joined",MUC_MEMBER_LEFT:"xmpp.muc_member_left",MUC_LEFT:"xmpp.muc_left",MUC_ROLE_CHANGED:"xmpp.muc_role_changed",MUC_LOCK_CHANGED:"xmpp.muc_lock_changed",PARTICIPANT_AUDIO_MUTED:"xmpp.audio_muted",PARTICIPANT_VIDEO_MUTED:"xmpp.video_muted",PARTICIPANT_VIDEO_TYPE_CHANGED:"xmpp.video_type",PASSWORD_REQUIRED:"xmpp.password_required",PEERCONNECTION_READY:"xmpp.peerconnection_ready",PHONE_NUMBER_CHANGED:"conference.phoneNumberChanged",PRESENCE_STATUS:"xmpp.presence_status",PROMPT_FOR_LOGIN:"xmpp.prompt_for_login",READY_TO_JOIN:"xmpp.ready_to_join",RECORDER_STATE_CHANGED:"xmpp.recorderStateChanged",REMOTE_STATS:"xmpp.remote_stats",REMOTE_TRACK_ADDED:"xmpp.remote_track_added",REMOTE_TRACK_REMOVED:"xmpp.remote_track_removed",RESERVATION_ERROR:"xmpp.room_reservation_error",ROOM_CONNECT_ERROR:"xmpp.room_connect_error",ROOM_CONNECT_NOT_ALLOWED_ERROR:"xmpp.room_connect_error.not_allowed",ROOM_JOIN_ERROR:"xmpp.room_join_error",ROOM_MAX_USERS_ERROR:"xmpp.room_max_users_error",SENDING_CHAT_MESSAGE:"xmpp.sending_chat_message",
SENDRECV_STREAMS_CHANGED:"xmpp.sendrecv_streams_changed",SESSION_ACCEPT_TIMEOUT:"xmpp.session_accept_timeout",SET_LOCAL_DESCRIPTION_ERROR:"xmpp.set_local_description_error",SET_LOCAL_DESCRIPTION_FAILED:"xmpp.set_local_description_failed",SET_REMOTE_DESCRIPTION_ERROR:"xmpp.set_remote_description_error",SET_REMOTE_DESCRIPTION_FAILED:"xmpp.set_remote_description_failed",START_MUTED_FROM_FOCUS:"xmpp.start_muted_from_focus",SUBJECT_CHANGED:"xmpp.subject_changed",LOCAL_UFRAG_CHANGED:"xmpp.local_ufrag_changed",REMOTE_UFRAG_CHANGED:"xmpp.remote_ufrag_changed"};a.exports=c},function(a,b){"use strict";var c={AUDIO:"audio",VIDEO:"video"};a.exports=c},function(a,b,c){(function(b){"use strict";function h(a){var b=1;return function(c){if(c)return void(b=1);var d=Math.pow(2,b-1);return b+=1,d*a}}function i(a,b,c,e,f){function g(a){if(a.data&&a.data.sessionId){if(a.origin!==window.location.origin)return void d.warn("Ignoring sessionId from different origin: "+a.origin);e.setSessionId(a.data.sessionId)}}this.roomName=a,this.xmppService=b,this.getNextTimeout=h(1e3),this.getNextErrorTimeout=h(1e3),this.externalAuthEnabled=!1,this.settings=e,this.options=f,this.sipGatewayEnabled=this.options.connection.hosts&&void 0!==this.options.connection.hosts.call_control,this.eventEmitter=c,this.connection=this.xmppService.connection,this.focusUserJid,window.addEventListener?window.addEventListener("message",g,!1):window.attachEvent("onmessage",g)}var d=c(9).getLogger(b),e=c(35),f=c(38),g=c(39);i.prototype.isExternalAuthEnabled=function(){return this.externalAuthEnabled},i.prototype.isSipGatewayEnabled=function(){return this.sipGatewayEnabled},i.prototype.onMucMemberLeft=function(a){d.info("Someone left is it focus ? "+a);var b=Strophe.getResourceFromJid(a);"focus"===b&&(d.info("Focus has left the room - leaving conference"),this.eventEmitter.emit(e.FOCUS_LEFT))},i.prototype.setFocusUserJid=function(a){this.focusUserJid||(this.focusUserJid=a,d.info("Focus jid set to: "+this.focusUserJid))},i.prototype.getFocusUserJid=function(){return this.focusUserJid},i.prototype.getFocusComponent=function(){var a=this.options.connection.hosts.focus;return a||(a="focus."+this.options.connection.hosts.domain),a},i.prototype.createConferenceIq=function(){var a=$iq({to:this.getFocusComponent(),type:"set"}),b=this.settings.getSessionId(),c=this.settings.getUserId();if(d.info("Session ID: "+b+" machine UID: "+c),a.c("conference",{xmlns:"http://jitsi.org/protocol/focus",room:this.roomName,"machine-uid":c}),b&&a.attrs({"session-id":b}),void 0!==this.options.connection.enforcedBridge&&a.c("property",{name:"enforcedBridge",value:this.options.connection.enforcedBridge}).up(),void 0!==this.options.connection.hosts&&void 0!==this.options.connection.hosts.call_control&&a.c("property",{name:"call_control",value:this.options.connection.hosts.call_control}).up(),void 0!==this.options.conference.channelLastN&&a.c("property",{name:"channelLastN",value:this.options.conference.channelLastN}).up(),void 0!==this.options.conference.adaptiveLastN&&a.c("property",{name:"adaptiveLastN",value:this.options.conference.adaptiveLastN}).up(),void 0!==this.options.conference.disableAdaptiveSimulcast||this.options.conference.disableSimulcast){var e=!!this.options.conference.disableSimulcast||this.options.conference.disableAdaptiveSimulcast;a.c("property",{name:"disableAdaptiveSimulcast",value:e}).up()}return a.c("property",{name:"disableRtx",value:!0}).up(),a.c("property",{name:"enableLipSync",value:!1!==this.options.connection.enableLipSync}).up(),void 0!==this.options.conference.audioPacketDelay&&a.c("property",{name:"audioPacketDelay",value:this.options.conference.audioPacketDelay}).up(),this.options.conference.startBitrate&&a.c("property",{name:"startBitrate",value:this.options.conference.startBitrate}).up(),this.options.conference.minBitrate&&a.c("property",{name:"minBitrate",value:this.options.conference.minBitrate}).up(),void 0!==this.options.conference.openSctp&&a.c("property",{name:"openSctp",value:this.options.conference.openSctp}).up(),void 0!==this.options.conference.startAudioMuted&&a.c("property",{name:"startAudioMuted",value:this.options.conference.startAudioMuted}).up(),void 0!==this.options.conference.startVideoMuted&&a.c("property",{name:"startVideoMuted",value:this.options.conference.startVideoMuted}).up(),void 0!==this.options.conference.stereo&&a.c("property",{name:"stereo",value:this.options.conference.stereo}).up(),a.c("property",{name:"simulcastMode",value:"rewriting"}).up(),void 0!==this.options.conference.useRoomAsSharedDocumentName&&a.c("property",{name:"useRoomAsSharedDocumentName",value:this.options.conference.useRoomAsSharedDocumentName}).up(),a.up(),a},i.prototype.parseSessionId=function(a){var b=$(a).find("conference").attr("session-id");b&&(d.info("Received sessionId: "+b),this.settings.setSessionId(b))},i.prototype.parseConfigOptions=function(a){this.setFocusUserJid($(a).find("conference").attr("focusjid"));var b=$(a).find(">conference>property[name='authentication'][value='true']").length>0;d.info("Authentication enabled: "+b),this.externalAuthEnabled=$(a).find(">conference>property[name='externalAuth'][value='true']").length>0,d.info("External authentication enabled: "+this.externalAuthEnabled),this.externalAuthEnabled||this.parseSessionId(a);var c=$(a).find(">conference").attr("identity");this.eventEmitter.emit(f.IDENTITY_UPDATED,b,c),$(a).find(">conference>property[name='sipGatewayEnabled'][value='true']").length&&(this.sipGatewayEnabled=!0),d.info("Sip gateway enabled: "+this.sipGatewayEnabled)},i.prototype.allocateConferenceFocus=function(a){this.setFocusUserJid(this.options.connection.focusUserJid);var b=this;this.connection.sendIQ(this.createConferenceIq(),function(c){b._allocateConferenceFocusSuccess(c,a)},function(c){b._allocateConferenceFocusError(c,a)}),this.connection.flush()},i.prototype._allocateConferenceFocusError=function(a,b){var c=this,f=$(a).find(">error>session-invalid").length;if(f&&(d.info("Session expired! - removing"),c.settings.clearSessionId()),$(a).find(">error>graceful-shutdown").length)return void c.eventEmitter.emit(e.GRACEFUL_SHUTDOWN);var h=$(a).find(">error>reservation-error");if(h.length){var k,i=h.attr("error-code"),j=$(a).find(">error>text");return j&&(k=j.text()),void c.eventEmitter.emit(e.RESERVATION_ERROR,i,k)}if($(a).find(">error>not-authorized").length){d.warn("Unauthorized to start the conference",a);var l=Strophe.getDomainFromJid(a.getAttribute("to"));return l!==c.options.connection.hosts.anonymousdomain&&(c.externalAuthEnabled=!0),void c.eventEmitter.emit(e.AUTHENTICATION_REQUIRED,function(){c.allocateConferenceFocus(b)})}if(this.retries>=this.maxRetries)return void c.eventEmitter.emit(e.ALLOCATE_FOCUS_MAX_RETRIES_ERROR);this.retries++;var m=c.getNextErrorTimeout(),n="Focus error, retry after "+m;g.callErrorHandler(new Error(n)),d.error(n,a);var o=c.getFocusComponent(),p=m/1e3;f||c.eventEmitter.emit(e.FOCUS_DISCONNECTED,o,p),c.getNextTimeout(!0),window.setTimeout(function(){c.allocateConferenceFocus(b)},m)},i.prototype._allocateConferenceFocusSuccess=function(a,b){if(this.parseConfigOptions(a),this.getNextErrorTimeout(!0),"true"===$(a).find("conference").attr("ready"))this.getNextTimeout(!0),b();else{var c=this.getNextTimeout();d.info("Waiting for the focus... "+c);var e=this;window.setTimeout(function(){e.allocateConferenceFocus(b)},c)}},i.prototype.authenticate=function(){var a=this;return new Promise(function(b,c){a.connection.sendIQ(a.createConferenceIq(),function(c){a.parseSessionId(c),b()},function(a){var b=$(a).find(">error").attr("code");c(a,b)})})},i.prototype.getLoginUrl=function(a,b){this._getLoginUrl(!1,a,b)},i.prototype._getLoginUrl=function(a,b,c){function i(a,b){g.callErrorHandler(new Error(a)),d.error(a,b),c(b)}var e=$iq({to:this.getFocusComponent(),type:"get"}),f={xmlns:"http://jitsi.org/protocol/focus",room:this.roomName,"machine-uid":this.settings.getUserId()},h="auth url";a&&(f.popup=!0,h="POPUP "+h),e.c("login-url",f),this.connection.sendIQ(e,function(a){var c=$(a).find("login-url").attr("url");c=decodeURIComponent(c),c?(d.info("Got "+h+": "+c),b(c)):i("Failed to get "+h+" from the focus",a)},i.bind(void 0,"Get "+h+" error"))},i.prototype.getPopupLoginUrl=function(a,b){this._getLoginUrl(!0,a,b)},i.prototype.logout=function(a){var b=$iq({to:this.getFocusComponent(),type:"set"}),c=this.settings.getSessionId();return c?(b.c("logout",{xmlns:"http://jitsi.org/protocol/focus","session-id":c}),void this.connection.sendIQ(b,function(b){var c=$(b).find("logout").attr("logout-url");c&&(c=decodeURIComponent(c)),d.info("Log out OK, url: "+c,b),this.settings.clearSessionId(),a(c)}.bind(this),function(a){var b="Logout error";g.callErrorHandler(new Error(b)),d.error(b,a)})):void a()},a.exports=i}).call(b,"modules/xmpp/moderator.js")},function(a,b){"use strict";var c={IDENTITY_UPDATED:"authentication.identity_updated"};a.exports=c},function(a,b){"use strict";function e(a,b,e,f,g){c.forEach(function(c){c(a,b,e,f,g)}),d&&d(a,b,e,f,g)}function g(a){c.forEach(function(b){b(null,null,null,null,a.reason)}),f&&f(a)}var c=[],d=window.onerror,f=window.onunhandledrejection;window.onerror=e,window.onunhandledrejection=g;var h={addHandler:function(b){c.push(b)},callErrorHandler:function(b){var c=window.onerror;c&&c(null,null,null,null,b)},callUnhandledRejectionHandler:function(b){var c=window.onunhandledrejection;c&&c(b)}};a.exports=h},function(a,b,c){(function(b){"use strict";function i(a,b,c,d,e,f){this.eventEmitter=b,this.connection=c,this.state=null,this.focusMucJid=d,this.jirecon=e,this.url=null,this.type=a,this._isSupported=!(a===i.types.JIRECON&&!this.jirecon||a!==i.types.JIBRI&&a!==i.types.COLIBRI),this.jireconRid=null,this.roomjid=f}var d=c(9),e=(0,d.getLogger)(b),f=c(35),g=c(41),h=c(39);i.types={COLIBRI:"colibri",JIRECON:"jirecon",JIBRI:"jibri"},i.status={ON:"on",OFF:"off",AVAILABLE:"available",UNAVAILABLE:"unavailable",PENDING:"pending",RETRYING:"retrying",BUSY:"busy",FAILED:"failed"},i.action={START:"start",STOP:"stop"},i.prototype.handleJibriPresence=function(a){var b=a.attributes;if(b){var c=b.status;e.log("Handle jibri presence : ",c),c!==this.state&&("undefined"===c?this.state=i.status.UNAVAILABLE:"off"===c?this.state&&"undefined"!==this.state&&this.state!==i.status.UNAVAILABLE?this.state=i.status.OFF:this.state=i.status.AVAILABLE:this.state=c,this.eventEmitter.emit(f.RECORDER_STATE_CHANGED,this.state))}},i.prototype.setRecordingJibri=function(a,b,c,d){a==this.state&&c(g.INVALID_STATE),d=d||{};var f=$iq({to:this.focusMucJid,type:"set"}).c("jibri",{xmlns:"http://jitsi.org/protocol/jibri",action:a===i.status.ON?i.action.START:i.action.STOP,streamid:d.streamId}).up();e.log("Set jibri recording: "+a,f.nodeTree),e.log(f.nodeTree),this.connection.sendIQ(f,function(a){e.log("Result",a),b($(a).find("jibri").attr("state"),$(a).find("jibri").attr("url"))},function(a){e.log("Failed to start recording, error: ",a),c(a)})},i.prototype.setRecordingJirecon=function(a,b,c){a==this.state&&c(new Error("Invalid state!"));var d=$iq({to:this.jirecon,type:"set"}).c("recording",{xmlns:"http://jitsi.org/protocol/jirecon",action:a===i.status.ON?i.action.START:i.action.STOP,mucjid:this.roomjid});"off"===a&&d.attrs({rid:this.jireconRid}),e.log("Start recording");var f=this;this.connection.sendIQ(d,function(c){f.jireconRid=$(c).find("recording").attr("rid"),e.log("Recording "+(a===i.status.ON?"started":"stopped")+"(jirecon)"+c),f.state=a,a===i.status.OFF&&(f.jireconRid=null),b(a)},function(a){e.log("Failed to start recording, error: ",a),c(a)})},i.prototype.setRecordingColibri=function(a,b,c,d){var f=$iq({to:this.focusMucJid,type:"set"});f.c("conference",{xmlns:"http://jitsi.org/protocol/colibri"}),f.c("recording",{state:a,token:d.token});var g=this;this.connection.sendIQ(f,function(c){e.log('Set recording "',a,'". Result:',c);var d=$(c).find(">conference>recording"),f=d.attr("state");g.state=f,b(f),"pending"===f&&g.connection.addHandler(function(a){var c=$(a).find("recording").attr("state");c&&(g.state=f,b(c))},"http://jitsi.org/protocol/colibri","iq",null,null,null)},function(a){e.warn(a),c(a)})},i.prototype.setRecording=function(a,b,c,d){switch(this.type){case i.types.JIRECON:this.setRecordingJirecon(a,b,c,d);break;case i.types.COLIBRI:this.setRecordingColibri(a,b,c,d);break;case i.types.JIBRI:this.setRecordingJibri(a,b,c,d);break;default:var f="Unknown recording type!";return h.callErrorHandler(new Error(f)),void e.error(f)}},i.prototype.toggleRecording=function(a,b){var c=this.state;if(c===i.status.UNAVAILABLE||c===i.status.FAILED?b(i.status.FAILED,g.RECORDER_UNAVAILABLE):c===i.status.BUSY&&b(i.status.BUSY,g.RECORDER_BUSY),(c===i.status.OFF||c===i.status.AVAILABLE)&&(!a.token&&this.type===i.types.COLIBRI||!a.streamId&&this.type===i.types.JIBRI))return b(i.status.FAILED,g.NO_TOKEN),void e.error("No token passed!");var d=c===i.status.AVAILABLE||c===i.status.OFF?i.status.ON:i.status.OFF,f=this;e.log("Toggle recording (old state, new state): ",c,d),this.setRecording(d,function(a,d){a&&a!==c&&(f.state=a,f.url=d,b(a))},function(a){b(i.status.FAILED,a)},a)},i.prototype.isSupported=function(){return this._isSupported},i.prototype.getState=function(){return this.state},i.prototype.getURL=function(){return this.url},a.exports=i}).call(b,"modules/xmpp/recording.js")},function(a,b){"use strict";var c={RECORDER_UNAVAILABLE:"recorder.unavailable",RECORDER_BUSY:"recorder.busy",NO_TOKEN:"recorder.noToken",STATE_CHANGE_FAILED:"recorder.stateChangeFailed",INVALID_STATE:"recorder.invalidState"};a.exports=c},function(a,b){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(b,"__esModule",{value:!0});var c=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=function(){function a(){d(this,a),this.connection=null}return c(a,[{key:"init",value:function(b){this.connection=b}}]),a}();b.default=e},function(a,b,c){(function(b){"use strict";function q(a){return a&&a.__esModule?a:{default:a}}function r(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function s(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function t(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=function a(b,c,d){null===b&&(b=Function.prototype);var e=Object.getOwnPropertyDescriptor(b,c);if(void 0===e){var f=Object.getPrototypeOf(b);return null===f?void 0:a(f,c,d)}if("value"in e)return e.value;var g=e.get;if(void 0!==g)return g.call(d)},f=c(9),g=c(44),h=q(g),i=c(35),j=q(i),k=c(39),l=q(k),m=c(59),n=q(m),o=c(42),p=q(o),u=(0,f.getLogger)(b),v=function(a){function b(a,c){r(this,b);var d=s(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));return d.xmpp=a,d.eventEmitter=c,d.sessions={},d.ice_config={iceServers:[]},d.media_constraints={mandatory:{OfferToReceiveAudio:!0,OfferToReceiveVideo:!0}},d}return t(b,a),d(b,[{key:"init",value:function(c){e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"init",this).call(this,c),this.connection.addHandler(this.onJingle.bind(this),"urn:xmpp:jingle:1","iq","set",null,null)}},{key:"onJingle",value:function(b){var c=$(b).find("jingle").attr("sid"),d=$(b).find("jingle").attr("action"),e=b.getAttribute("from"),f=$iq({type:"result",to:e,id:b.getAttribute("id")});u.log("on jingle "+d+" from "+e,b);var g=this.sessions[c];if("session-initiate"!=d){if(!g)return f.attrs({type:"error"}),f.c("error",{type:"cancel"}).c("item-not-found",{xmlns:"urn:ietf:params:xml:ns:xmpp-stanzas"}).up().c("unknown-session",{xmlns:"urn:xmpp:jingle:errors:1"}),u.warn("invalid session id",b),this.connection.send(f),!0;if(e!=g.peerjid)return u.warn("jid mismatch for session id",c,g.peerjid,b),f.attrs({type:"error"}),f.c("error",{type:"cancel"}).c("item-not-found",{xmlns:"urn:ietf:params:xml:ns:xmpp-stanzas"}).up().c("unknown-session",{xmlns:"urn:xmpp:jingle:errors:1"}),this.connection.send(f),!0}else if(void 0!==g)return f.attrs({type:"error"}),f.c("error",{type:"cancel"}).c("service-unavailable",{xmlns:"urn:ietf:params:xml:ns:xmpp-stanzas"}).up(),u.warn("duplicate session id",c,b),this.connection.send(f),!0;var i=window.performance.now();switch(d){case"session-initiate":u.log("(TIME) received session-initiate:\t",i);var k=$(b).find("jingle>startmuted");if(k&&k.length>0){var m=k.attr("audio"),o=k.attr("video");this.eventEmitter.emit(j.default.START_MUTED_FROM_FOCUS,"true"===m,"true"===o)}g=new h.default($(b).attr("to"),$(b).find("jingle").attr("sid"),e,this.connection,this.media_constraints,this.ice_config,this.xmpp),this.sessions[g.sid]=g,this.eventEmitter.emit(j.default.CALL_INCOMING,g,$(b).find(">jingle"),i),n.default.analytics.sendEvent("xmpp.session-initiate",{value:i});break;case"session-terminate":u.log("terminating...",g.sid);var p=null,q=null;$(b).find(">jingle>reason").length&&(p=$(b).find(">jingle>reason>:first")[0].tagName,q=$(b).find(">jingle>reason>text").text()),this.terminate(g.sid,p,q),this.eventEmitter.emit(j.default.CALL_ENDED,g,p,q);break;case"transport-replace":u.info("(TIME) Start transport replace",i),n.default.analytics.sendEvent("xmpp.transport-replace.start",{value:i}),g.replaceTransport($(b).find(">jingle"),function(){var a=window.performance.now();u.info("(TIME) Transport replace success!",a),n.default.analytics.sendEvent("xmpp.transport-replace.success",{value:a})},function(a){l.default.callErrorHandler(a),u.error("Transport replace failed",a),g.sendTransportReject()});break;case"addsource":case"source-add":g.addSource($(b).find(">jingle>content"));break;case"removesource":case"source-remove":g.removeSource($(b).find(">jingle>content"));break;default:u.warn("jingle action not implemented",d),f.attrs({type:"error"}),f.c("error",{type:"cancel"}).c("bad-request",{xmlns:"urn:ietf:params:xml:ns:xmpp-stanzas"}).up()}return this.connection.send(f),!0}},{key:"terminate",value:function(b,c,d){this.sessions.hasOwnProperty(b)&&("ended"!=this.sessions[b].state&&this.sessions[b].onTerminated(c,d),delete this.sessions[b])}},{key:"getStunAndTurnCredentials",value:function(){var b=this;this.connection.sendIQ($iq({type:"get",to:this.connection.domain}).c("services",{xmlns:"urn:xmpp:extdisco:1"}).c("service",{host:"turn."+this.connection.domain}),function(a){var c=[];$(a).find(">services>service").each(function(a,b){b=$(b);var d={},e=b.attr("type");switch(e){case"stun":d.url="stun:"+b.attr("host"),b.attr("port")&&(d.url+=":"+b.attr("port")),c.push(d);break;case"turn":case"turns":d.url=e+":";var f=b.attr("username");f&&(navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)&&parseInt(navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)[2],10)<28?d.url+=f+"@":d.username=f),d.url+=b.attr("host");var g=b.attr("port");g&&"3478"!=g&&(d.url+=":"+b.attr("port"));var h=b.attr("transport");h&&"udp"!=h&&(d.url+="?transport="+h),d.credential=b.attr("password")||d.credential,c.push(d)}}),b.ice_config.iceServers=c},function(a){u.warn("getting turn credentials failed",a),u.warn("is mod_turncredentials or similar installed?")})}},{key:"getLog",value:function(){var b=this,c={};return Object.keys(this.sessions).forEach(function(a){var d=b.sessions[a],e=d.peerconnection;e&&e.updateLog&&(c["jingle_"+a]={updateLog:e.updateLog,stats:e.stats,url:window.location.href})}),c}}]),b}(p.default);a.exports=function(a,b){Strophe.addConnectionPlugin("jingle",new v(a,b))}}).call(b,"modules/xmpp/strophe.jingle.js")},function(a,b,c){(function(b){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function u(a,b,c,d,e,f,g,h){i.call(this,a,b,c,d,e,f,g,h),this.localSDP=null,this.lasticecandidate=!1,this.closed=!1,this.addssrc=[],this.removessrc=[],this.modifyingLocalStreams=!1,this.modifiedSSRCs={},this.localUfrag=null,this.remoteUfrag=null,this.ssrcOwners={},this.jingleOfferIq=null,this.webrtcIceUdpDisable=!!this.service.options.webrtcIceUdpDisable,this.webrtcIceTcpDisable=!!this.service.options.webrtcIceTcpDisable,this.failICE=!!this.service.options.failICE,this.modifySourcesQueue=n.queue(this._modifySources.bind(this),1)}function v(a,b){var c=$(a.tree()).find('>jingle>content[name="'+b+'"]');c&&c.length||($(a.tree()).find(">jingle").append('<content name="'+b+'"></content>'),c=$(a.tree()).find('>jingle>content[name="'+b+'"]'));var d=c.find(">description");return d&&d.length||(c.append('<description xmlns="urn:xmpp:jingle:apps:rtp:1" media="'+b+'"></description>'),d=c.find(">description")),d}function w(a){var b=a.split("\n").filter(function(a){return a.startsWith("a=ice-ufrag:")});if(b.length>0)return b[0].substr("a=ice-ufrag:".length)}var d=c(9),e=c(45),f=g(e),h=(0,d.getLogger)(b),i=c(46),j=c(47),k=c(129),l=c(52),m=c(130),n=c(131),o=c(35),p=c(32),q=c(48),r=c(39),s=c(59),t=1e4;u.prototype=Object.create(i.prototype),u.prototype.constructor=u,u.prototype.doInitialize=function(){var a=this;this.lasticecandidate=!1,this.isreconnect=!1,this.wasstable=!1,this.peerconnection=new j(this.connection.jingle.ice_config,q.getPCConstraints(),this),this.peerconnection.onicecandidate=function(b){if(b){var c=b.candidate;if(c){var d=c.protocol;if("string"==typeof d)if(d=d.toLowerCase(),"tcp"===d||"ssltcp"===d){if(a.webrtcIceTcpDisable)return}else if("udp"==d&&a.webrtcIceUdpDisable)return}a.sendIceCandidate(c)}},this.peerconnection.onaddstream=function(b){a.remoteStreamAdded(b.stream)},this.peerconnection.onremovestream=function(b){a.remoteStreamRemoved(b.stream)},this.peerconnection.onsignalingstatechange=function(){a&&a.peerconnection&&"stable"===a.peerconnection.signalingState&&(a.wasstable=!0)},this.peerconnection.oniceconnectionstatechange=function(){if(a&&a.peerconnection){var b=window.performance.now();switch(a.room.connectionTimes["ice.state."+a.peerconnection.iceConnectionState]=b,h.log("(TIME) ICE "+a.peerconnection.iceConnectionState+":\t",b),s.analytics.sendEvent("ice."+a.peerconnection.iceConnectionState,{value:b}),a.peerconnection.iceConnectionState){case"connected":"stable"===a.peerconnection.signalingState&&a.isreconnect&&a.room.eventEmitter.emit(o.CONNECTION_RESTORED),a.isreconnect=!1;break;case"disconnected":if(a.closed)break;a.isreconnect=!0,a.wasstable&&a.room.eventEmitter.emit(o.CONNECTION_INTERRUPTED);break;case"failed":a.room.eventEmitter.emit(o.CONNECTION_ICE_FAILED,a.peerconnection)}}},this.peerconnection.onnegotiationneeded=function(){a.room.eventEmitter.emit(o.PEERCONNECTION_READY,a)}},u.prototype.sendIceCandidate=function(a){var b=this;if(a&&!this.lasticecandidate){var c=l.iceparams(this.localSDP.media[a.sdpMLineIndex],this.localSDP.session),d=l.candidateToJingle(a.candidate);if(!c||!d){var e="failed to get ice && jcand";return r.callErrorHandler(new Error(e)),void h.error(e)}c.xmlns="urn:xmpp:jingle:transports:ice-udp:1",this.usedrip?(0===this.drip_container.length&&window.setTimeout(function(){0!==b.drip_container.length&&(b.sendIceCandidates(b.drip_container),b.drip_container=[])},20),this.drip_container.push(a)):b.sendIceCandidates([a])}else h.log("sendIceCandidate: last candidate."),this.lasticecandidate=!0},u.prototype.sendIceCandidates=function(a){h.log("sendIceCandidates",a);for(var b=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"transport-info",initiator:this.initiator,sid:this.sid}),c=0;c<this.localSDP.media.length;c++){var d=a.filter(function(a){return a.sdpMLineIndex==c}),e=l.parse_mline(this.localSDP.media[c].split("\r\n")[0]);if(d.length>0){var f=l.iceparams(this.localSDP.media[c],this.localSDP.session);f.xmlns="urn:xmpp:jingle:transports:ice-udp:1",b.c("content",{creator:this.initiator==this.me?"initiator":"responder",name:d[0].sdpMid?d[0].sdpMid:e.media}).c("transport",f);for(var g=0;g<d.length;g++){var i=l.candidateToJingle(d[g].candidate);this.service.options.failICE&&(i.ip="1.1.1.1"),b.c("candidate",i).up()}var j=l.find_line(this.localSDP.media[c],"a=fingerprint:",this.localSDP.session);if(j){var k=l.parse_fingerprint(j);k.required=!0,b.c("fingerprint",{xmlns:"urn:xmpp:jingle:apps:dtls:0"}).t(k.fingerprint),delete k.fingerprint,b.attrs(k),b.up()}b.up(),b.up()}}this.connection.sendIQ(b,null,this.newJingleErrorHandler(b,function(a){r.callErrorHandler(new Error("Jingle error: "+JSON.stringify(a)))}),t)},u.prototype.readSsrcInfo=function(a){var b=this;$(a).each(function(a,c){var d=$(c).find('description>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');d.each(function(){var a=this.getAttribute("ssrc");$(this).find('>ssrc-info[xmlns="http://jitsi.org/jitmeet"]').each(function(){var c=this.getAttribute("owner");b.ssrcOwners[a]=c})})})},u.prototype.acceptOffer=function(a,b,c){this.state=f.ACTIVE,this.setOfferCycle(a,function(){this.sendSessionAccept(this.localSDP,b,c)}.bind(this),c)},u.prototype.setOfferCycle=function(a,b,c){this.jingleOfferIq=a,this.modifySourcesQueue.push(b,function(a){a&&(c&&c(a),u.onJingleFatalError(this,a))}.bind(this))},u._fixAnswerRFC4145Setup=function(a,b){p.isChrome()&&a&&b&&a.media&&b.media&&a.media.length==b.media.length&&(b.media.forEach(function(c,d){l.find_line(a.media[d],"a=setup:actpass",a.session)&&(b.media[d]=c.replace(/a=setup:active/g,"a=setup:passive"))}),b.raw=b.session+b.media.join(""))},u.prototype.replaceTransport=function(a,b,c){this.room.eventEmitter.emit(o.ICE_RESTARTING);var d=a.clone();a.find(">content[name='data']").remove();var e=this;this.setOfferCycle(a,function(){e.setOfferCycle(d,function(){e.sendTransportAccept(e.localSDP,b,c)},c)},c)},u.prototype.sendSessionAccept=function(a,b,c){var d=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"session-accept",initiator:this.initiator,responder:this.responder,sid:this.sid});this.webrtcIceTcpDisable&&(a.removeTcpCandidates=!0),this.webrtcIceUdpDisable&&(a.removeUdpCandidates=!0),this.failICE&&(a.failICE=!0),a.toJingle(d,this.initiator==this.me?"initiator":"responder",null),this.fixJingle(d),d=d.tree(),h.info("Sending session-accept",d);var e=this;this.connection.sendIQ(d,b,this.newJingleErrorHandler(d,function(a){c(a),e.room.eventEmitter.emit(o.SESSION_ACCEPT_TIMEOUT)}),t)},u.prototype.sendTransportAccept=function(a,b,c){var d=this,e=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"transport-accept",initiator:this.initiator,sid:this.sid});a.media.forEach(function(b,c){var f=l.parse_mline(b.split("\r\n")[0]);e.c("content",{creator:d.initiator==d.me?"initiator":"responder",name:f.media}),a.transportToJingle(c,e),e.up()}),e=e.tree(),console.info("Sending transport-accept: ",e),d.connection.sendIQ(e,b,d.newJingleErrorHandler(e,c),t)},u.prototype.sendTransportReject=function(a,b){var c=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"transport-reject",initiator:this.initiator,sid:this.sid});c=c.tree(),h.info("Sending 'transport-reject",c),this.connection.sendIQ(c,a,this.newJingleErrorHandler(c,b),t)},u.prototype.terminate=function(a,b,c,d){this.state=f.ENDED;var e=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"session-terminate",initiator:this.initiator,sid:this.sid}).c("reason").c(a||"success");b&&e.up().c("text").t(b),e=e.tree(),h.info("Sending session-terminate",e),this.connection.sendIQ(e,c,this.newJingleErrorHandler(e,d),t),this.connection.jingle.terminate(this.sid)},u.prototype.onTerminated=function(a,b){this.state="ended",h.info("Session terminated",this,a,b),this.close()},u.prototype.addSource=function(a){var b=this;if(!this.peerconnection.localDescription)return h.warn("addSource - localDescription not ready yet"),void setTimeout(function(){b.addSource(a)},200);h.log("addssrc",(new Date).getTime()),h.log("ice",this.peerconnection.iceConnectionState),this.readSsrcInfo(a);var c=new m(this.peerconnection.remoteDescription.sdp),d=new m(this.peerconnection.localDescription.sdp);$(a).each(function(a,e){var f=$(e).attr("name"),g="";$(e).find('ssrc-group[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]').each(function(){var a=this.getAttribute("semantics"),b=$(this).find(">source").map(function(){return this.getAttribute("ssrc")}).get();b.length&&(g+="a=ssrc-group:"+a+" "+b.join(" ")+"\r\n")});var i=$(e).find('source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');i.each(function(){var a=$(this).attr("ssrc");return d.containsSSRC(a)?void h.warn("Got add stream request for my own ssrc: "+a):c.containsSSRC(a)?void h.warn("Source-add request for existing SSRC: "+a):void $(this).find(">parameter").each(function(){g+="a=ssrc:"+a+" "+$(this).attr("name"),$(this).attr("value")&&$(this).attr("value").length&&(g+=":"+$(this).attr("value")),g+="\r\n"})}),c.media.forEach(function(a,d){l.find_line(a,"a=mid:"+f)&&(c.media[d]+=g,b.addssrc[d]||(b.addssrc[d]=""),b.addssrc[d]+=g)}),c.raw=c.session+c.media.join("")}),this.modifySourcesQueue.push(function(){h.log("modify sources done");var a=new m(b.peerconnection.localDescription.sdp);h.log("SDPs",d,a),b.notifyMySSRCUpdate(d,a)})},u.prototype.removeSource=function(a){var b=this;if(!this.peerconnection.localDescription)return h.warn("removeSource - localDescription not ready yet"),void setTimeout(function(){b.removeSource(a)},200);h.log("removessrc",(new Date).getTime()),h.log("ice",this.peerconnection.iceConnectionState);var c=new m(this.peerconnection.remoteDescription.sdp),d=new m(this.peerconnection.localDescription.sdp);$(a).each(function(a,e){var f=$(e).attr("name"),g="";$(e).find('ssrc-group[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]').each(function(){var a=this.getAttribute("semantics"),b=$(this).find(">source").map(function(){return this.getAttribute("ssrc")}).get();b.length&&(g+="a=ssrc-group:"+a+" "+b.join(" ")+"\r\n")});var i=[],j=$(e).find('source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]');j.each(function(){var a=$(this).attr("ssrc");if(d.containsSSRC(a)){var b="Got remove stream request for my own ssrc: "+a;return r.callErrorHandler(new Error(b)),void h.error(b)}i.push(a)}),c.media.forEach(function(a,c){l.find_line(a,"a=mid:"+f)&&(b.removessrc[c]||(b.removessrc[c]=""),i.forEach(function(d){var e=l.find_lines(a,"a=ssrc:"+d);e.length&&(b.removessrc[c]+=e.join("\r\n")+"\r\n"),b.addssrc[c]&&(b.addssrc[c]=b.addssrc[c].replace(new RegExp("^a=ssrc:"+d+" .*\r\n","gm"),""))}),b.removessrc[c]+=g)}),c.raw=c.session+c.media.join("")}),this.modifySourcesQueue.push(function(){h.log("modify sources done");var a=new m(b.peerconnection.localDescription.sdp);h.log("SDPs",d,a),b.notifyMySSRCUpdate(d,a)})},u.prototype._modifySources=function(a,b){function f(a,c){c?(a=a+": "+c,h.error(a,c)):(h.error(a),c=new Error(a)),r.callErrorHandler(new Error(a)),b(c)}var e,c=this,d=null;if("closed"!=this.peerconnection.signalingState){if(!(this.addssrc.length||this.removessrc.length||this.modifyingLocalStreams||null!==this.jingleOfferIq))return a&&a(),void b();this.jingleOfferIq?(d=new m(""),this.webrtcIceTcpDisable&&(d.removeTcpCandidates=!0),this.webrtcIceUdpDisable&&(d.removeUdpCandidates=!0),this.failICE&&(d.failICE=!0),d.fromJingle(this.jingleOfferIq),this.readSsrcInfo($(this.jingleOfferIq).find(">content")),this.jingleOfferIq=null,e=this.media_constraints):(this.modifyingLocalStreams=!1,d=new m(this.peerconnection.remoteDescription.sdp)),this.addssrc.forEach(function(a,b){d.media[b]+=a}),this.addssrc=[],this.removessrc.forEach(function(a,b){a=a.split("\r\n"),a.pop(),a.forEach(function(a){
d.media[b]=d.media[b].replace(a+"\r\n","")})}),this.removessrc=[],d.raw=d.session+d.media.join("");var g=w(d.raw);g!=c.remoteUfrag&&(c.remoteUfrag=g,c.room.eventEmitter.emit(o.REMOTE_UFRAG_CHANGED,g)),this.peerconnection.setRemoteDescription(new RTCSessionDescription({type:"offer",sdp:d.raw}),function(){return"closed"==c.signalingState?void f("createAnswer attempt on closed state"):void c.peerconnection.createAnswer(function(e){var g=new m(e.sdp);u._fixAnswerRFC4145Setup(d,g),e.sdp=g.raw,c.localSDP=new m(e.sdp),e.sdp=c.localSDP.raw;var h=w(e.sdp);h!=c.localUfrag&&(c.localUfrag=h,c.room.eventEmitter.emit(o.LOCAL_UFRAG_CHANGED,h)),c.peerconnection.setLocalDescription(e,function(){a&&a(),b()},f.bind(void 0,"modified setLocalDescription failed"))},f.bind(void 0,"modified answer failed"),e)},f.bind(void 0,"modify failed"))}},u.prototype.addStream=function(a,b,c,d,e){var f=null;if(this.peerconnection&&this.peerconnection.localDescription&&(f=new m(this.peerconnection.localDescription.sdp)),!f||!this.peerconnection||e)return this.peerconnection&&(a||d)&&this.peerconnection.addStream(a,d),d&&(this.modifiedSSRCs[d.type]=this.modifiedSSRCs[d.type]||[],this.modifiedSSRCs[d.type].push(d)),void b();(a||d)&&this.peerconnection.addStream(a,d),this.modifyingLocalStreams=!0;var g=this;this.modifySourcesQueue.push(function(){h.log("modify sources done"),d&&(g.modifiedSSRCs[d.type]=g.modifiedSSRCs[d.type]||[],g.modifiedSSRCs[d.type].push(d));var a=new m(g.peerconnection.localDescription.sdp);h.log("SDPs",f,a),g.notifyMySSRCUpdate(f,a)},function(a){a?c(a):b()})},u.prototype.generateNewStreamSSRCInfo=function(){return this.peerconnection.generateNewStreamSSRCInfo()},u.prototype.removeStream=function(a,b,c,d){if(!this.peerconnection)return void b();var e=null;if(this.peerconnection.localDescription&&(e=new m(this.peerconnection.localDescription.sdp)),!e)return void b();if(p.getBrowserType()===p.RTC_BROWSER_FIREFOX){if(!a)return void b();var f=null,g=null;if(a.getAudioTracks()&&a.getAudioTracks().length?g=a.getAudioTracks()[0]:a.getVideoTracks()&&a.getVideoTracks().length&&(g=a.getVideoTracks()[0]),!g){var i="Cannot remove tracks: no tracks.";return h.log(i),void c(new Error(i))}this.peerconnection.peerconnection.getSenders().some(function(a){if(a.track===g)return f=a,!0}),f?this.peerconnection.peerconnection.removeTrack(f):h.log("Cannot remove tracks: no RTPSender.")}else a&&this.peerconnection.removeStream(a,!1,d);this.modifyingLocalStreams=!0;var j=this;this.modifySourcesQueue.push(function(){h.log("modify sources done");var a=new m(j.peerconnection.localDescription.sdp);d&&(j.modifiedSSRCs[d.type]=j.modifiedSSRCs[d.type]||[],j.modifiedSSRCs[d.type].push(d)),h.log("SDPs",e,a),j.notifyMySSRCUpdate(e,a)},function(a){a?c(a):b()})},u.prototype.notifyMySSRCUpdate=function(a,b){if(this.state!==f.ACTIVE)return void h.warn("Skipping SSRC update in '"+this.state+" ' state.");e=new k(b,a);var c=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"source-remove",initiator:this.initiator,sid:this.sid});e.toJingle(c);var d=this.fixJingle(c);d&&c?(h.info("Sending source-remove",c.tree()),this.connection.sendIQ(c,null,this.newJingleErrorHandler(c,function(a){r.callErrorHandler(new Error("Jingle error: "+JSON.stringify(a)))}),t)):h.log("removal not necessary");var e=new k(a,b),g=$iq({to:this.peerjid,type:"set"}).c("jingle",{xmlns:"urn:xmpp:jingle:1",action:"source-add",initiator:this.initiator,sid:this.sid});e.toJingle(g);var i=this.fixJingle(g);i&&g?(h.info("Sending source-add",g.tree()),this.connection.sendIQ(g,null,this.newJingleErrorHandler(g,function(a){r.callErrorHandler(new Error("Jingle error: "+JSON.stringify(a)))}),t)):h.log("addition not necessary")},u.prototype.newJingleErrorHandler=function(a,b){return function(c){var d={},e=$(c).find("error");if(e.length){d.code=e.attr("code");var f=$(c).find("error :first");f.length&&(d.reason=f[0].tagName)}c||(d.reason="timeout"),d.source=null,a&&"function"==typeof a.tree&&(d.source=a.tree()),h.error("Jingle error",d),b&&b(d)}.bind(this)},u.onJingleFatalError=function(a,b){this.room.eventEmitter.emit(o.CONFERENCE_SETUP_FAILED,b),this.room.eventEmitter.emit(o.JINGLE_FATAL_ERROR,a,b)},u.prototype.remoteStreamAdded=function(a){var b=this;return q.isUserStream(a)?((p.isChrome()||p.isNWJS())&&(a.onaddtrack=function(a){b.remoteTrackAdded(a.target,a.track)},a.onremovetrack=function(a){b.remoteTrackRemoved(a.target,a.track)}),a.getAudioTracks().forEach(function(c){b.remoteTrackAdded(a,c)}),void a.getVideoTracks().forEach(function(c){b.remoteTrackAdded(a,c)})):void h.info("Ignored remote 'stream added' event for non-user stream",a)},u.prototype.remoteTrackAdded=function(a,b){h.info("Remote track added",a,b);var c=q.getStreamID(a),d=b.kind,e={stream:a,track:b,mediaType:b.kind,owner:void 0,muted:null};try{if(!d)throw h.error("MediaType undefined",b),new Error("MediaType undefined for remote track");var f=new m(this.peerconnection.remoteDescription.sdp),g=f.media.filter(function(a){return a.startsWith("m="+d)});if(!g.length)throw h.error("No media for type "+d+" found in remote SDP"),new Error("No media for type "+d+" found in remote SDP for remote track");var i=l.find_lines(g[0],"a=ssrc:");i=i.filter(function(a){var b=p.isTemasysPluginUsed()?"mslabel":"msid";return a.indexOf(b+":"+c)!==-1});var j;if(!i.length)throw h.error("No SSRC lines for ",c),new Error("No SSRC lines for streamId "+c+" for remote track");if(j=i[0].substring(7).split(" ")[0],!this.ssrcOwners[j])throw h.error("No SSRC owner known for: "+j),new Error("No SSRC owner known for: "+j+" for remote track");e.owner=this.ssrcOwners[j],h.log("associated jid",this.ssrcOwners[j],j),e.ssrc=j,this.room.remoteTrackAdded(e)}catch(a){r.callErrorHandler(a)}},u.prototype.remoteStreamRemoved=function(a){var b=this;return q.isUserStream(a)?(a.getVideoTracks().forEach(function(c){b.remoteTrackRemoved(a,c)}),void a.getAudioTracks().forEach(function(c){b.remoteTrackRemoved(a,c)})):void h.info("Ignored remote 'stream removed' event for non-user stream",a)},u.prototype.remoteTrackRemoved=function(a,b){h.info("Remote track removed",a,b);var c=q.getStreamID(a),d=b&&b.id;try{if(!c)throw h.error("No stream ID for",a),new Error("Remote track removal failed - No stream ID");if(!d)throw h.error("No track ID for",b),new Error("Remote track removal failed - No track ID");this.room.eventEmitter.emit(o.REMOTE_TRACK_REMOVED,c,d)}catch(a){r.callErrorHandler(a)}},u.prototype.getIceConnectionState=function(){return this.peerconnection.iceConnectionState},u.prototype.close=function(){this.closed=!0,this.peerconnection&&this.peerconnection.close()},u.prototype.fixJingle=function(a){var b=$(a.nodeTree).find("jingle").attr("action");switch(b){case"source-add":case"session-accept":this.fixSourceAddJingle(a);break;case"source-remove":this.fixSourceRemoveJingle(a);break;default:var c="Unknown jingle action!";return r.callErrorHandler(c),h.error(c),!1}var d=$(a.tree()).find(">jingle>content>description>source");return d&&d.length>0},u.prototype.fixSourceAddJingle=function(a){var b=this.modifiedSSRCs.unmute;this.modifiedSSRCs.unmute=[],b&&b.length&&b.forEach(function(b){var c=$(a.tree()).find('>jingle>content[name="'+b.mtype+'"]>description');c&&c.length&&(b.ssrc.ssrcs.forEach(function(a){var b=c.find('>source[ssrc="'+a+'"]');b.remove()}),b.ssrc.groups.forEach(function(a){var b=c.find('>ssrc-group[semantics="'+a.group.semantics+'"]:has(source[ssrc="'+a.primarySSRC+'"])');b.remove()}))}),b=this.modifiedSSRCs.addMuted,this.modifiedSSRCs.addMuted=[],b&&b.length&&b.forEach(function(b){var c=v(a,b.mtype),d=Math.random().toString(36).substring(2);b.ssrc.ssrcs.forEach(function(a){var e=c.find('>source[ssrc="'+a+'"]');e.remove();var f='<source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="'+a+'"><parameter xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" value="'+b.msid+'" name="msid"/><parameter xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" value="'+d+'" name="cname" /></source>';c.append(f)}),b.ssrc.groups.forEach(function(a){var b=c.find('>ssrc-group[semantics="'+a.group.semantics+'"]:has(source[ssrc="'+a.primarySSRC+'"])');b.remove(),c.append('<ssrc-group semantics="'+a.group.semantics+'" xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"><source ssrc="'+a.group.ssrcs.split(" ").join('"/><source ssrc="')+'"/></ssrc-group>')})})},u.prototype.fixSourceRemoveJingle=function(a){var b=this.modifiedSSRCs.mute;this.modifiedSSRCs.mute=[],b&&b.length&&b.forEach(function(b){b.ssrc.ssrcs.forEach(function(c){var d=$(a.tree()).find('>jingle>content[name="'+b.mtype+'"]>description>source[ssrc="'+c+'"]');d.remove()}),b.ssrc.groups.forEach(function(c){var d=$(a.tree()).find('>jingle>content[name="'+b.mtype+'"]>description>ssrc-group[semantics="'+c.group.semantics+'"]:has(source[ssrc="'+c.primarySSRC+'"])');d.remove()})}),b=this.modifiedSSRCs.remove,this.modifiedSSRCs.remove=[],b&&b.length&&b.forEach(function(b){var c=v(a,b.mtype);b.ssrc.ssrcs.forEach(function(a){var b=c.find('>source[ssrc="'+a+'"]');b&&b.length||c.append('<source xmlns="urn:xmpp:jingle:apps:rtp:ssma:0" ssrc="'+a+'"></source>')}),b.ssrc.groups.forEach(function(a){var b=c.find('>ssrc-group[semantics="'+a.group.semantics+'"]:has(source[ssrc="'+a.primarySSRC+'"])');b&&b.length||c.append('<ssrc-group semantics="'+a.group.semantics+'" xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"><source ssrc="'+a.group.ssrcs.split(" ").join('"/><source ssrc="')+'"/></ssrc-group>')})})},a.exports=u}).call(b,"modules/xmpp/JingleSessionPC.js")},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.PENDING="pending",b.ACTIVE="active",b.ENDED="ended"},function(a,b,c){(function(b){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function i(a,b,c,d,e,f,g,h){this.me=a,this.sid=b,this.peerjid=c,this.connection=d,this.service=g,this.eventEmitter=h,this.usedrip=!0,this.drip_container=[],this.media_constraints=e,this.ice_config=f,this.room=null,this.state=null}var d=c(9),e=c(45),f=g(e),h=(0,d.getLogger)(b);i.prototype.initialize=function(a,b){if(null!==this.state){var c="attempt to initiate on session "+this.sid+"in state "+this.state;throw h.error(c),new Error(c)}this.room=b,this.state=f.PENDING,this.initiator=a?this.me:this.peerjid,this.responder=a?this.peerjid:this.me,this.doInitialize()},i.prototype.doInitialize=function(){},i.prototype.addIceCandidates=function(a){},i.prototype.getState=function(){return this.state},i.prototype.addSources=function(a){},i.prototype.removeSources=function(a){},i.prototype.terminate=function(a,b,c,d){},i.prototype.acceptOffer=function(a,b,c){},a.exports=i}).call(b,"modules/xmpp/JingleSession.js")},function(a,b,c){(function(b){"use strict";function n(a,b,d){var e=this;this.session=d,this.replaceSSRCs={audio:[],video:[]},this.recvOnlySSRCs={};var f=null;f=h.isFirefox()?mozRTCPeerConnection:h.isTemasysPluginUsed()?RTCPeerConnection:webkitRTCPeerConnection,this.peerconnection=new f(a,b),this.updateLog=[],this.stats={},this.statsinterval=null,this.maxstats=0;var g=c(123).Interop;this.interop=new g;var i=c(127);this.simulcast=new i({numOfLayers:m,explodeRemoteSimulcast:!1}),this.eventEmitter=this.session.room.eventEmitter,this.trace=function(a,b){e.updateLog.push({time:new Date,type:a,value:b||""})},this.onicecandidate=null,this.peerconnection.onicecandidate=function(a){h.isTemasysPluginUsed()||e.trace("onicecandidate",JSON.stringify(a.candidate,null," ")),null!==e.onicecandidate&&e.onicecandidate(a)},this.onaddstream=null,this.peerconnection.onaddstream=function(a){e.trace("onaddstream",a.stream.id),null!==e.onaddstream&&e.onaddstream(a)},this.onremovestream=null,this.peerconnection.onremovestream=function(a){e.trace("onremovestream",a.stream.id),null!==e.onremovestream&&e.onremovestream(a)},this.onsignalingstatechange=null,this.peerconnection.onsignalingstatechange=function(a){e.trace("onsignalingstatechange",e.signalingState),null!==e.onsignalingstatechange&&e.onsignalingstatechange(a)},this.oniceconnectionstatechange=null,this.peerconnection.oniceconnectionstatechange=function(a){e.trace("oniceconnectionstatechange",e.iceConnectionState),null!==e.oniceconnectionstatechange&&e.oniceconnectionstatechange(a)},this.onnegotiationneeded=null,this.peerconnection.onnegotiationneeded=function(a){e.trace("onnegotiationneeded"),null!==e.onnegotiationneeded&&e.onnegotiationneeded(a)},e.ondatachannel=null,this.peerconnection.ondatachannel=function(a){e.trace("ondatachannel",a),null!==e.ondatachannel&&e.ondatachannel(a)},!h.isFirefox()&&this.maxstats&&(this.statsinterval=window.setInterval(function(){e.peerconnection.getStats(function(a){for(var b=a.result(),c=new Date,d=0;d<b.length;++d)b[d].names().forEach(function(a){var f=b[d].id+"-"+a;e.stats[f]||(e.stats[f]={startTime:c,endTime:c,values:[],times:[]}),e.stats[f].values.push(b[d].stat(a)),e.stats[f].times.push(c.getTime()),e.stats[f].values.length>e.maxstats&&(e.stats[f].values.shift(),e.stats[f].times.shift()),e.stats[f].endTime=c})})},1e3))}function p(a){if("object"!==("undefined"==typeof a?"undefined":d(a))||null===a||"string"!=typeof a.sdp)return f.warn("An empty description was passed as an argument."),a;var b={},c={},e=j.parse(a.sdp);return Array.isArray(e.media)?(e.media.forEach(function(a){Array.isArray(a.ssrcs)&&("undefined"!=typeof a.ssrcGroups&&Array.isArray(a.ssrcGroups)&&a.ssrcGroups.forEach(function(a){if("undefined"!=typeof a.semantics&&"undefined"!=typeof a.ssrcs){var b=Number(a.ssrcs.split(" ")[0]);c[b]=c[b]||[],c[b].push(a)}}),a.ssrcs.forEach(function(a){"msid"===a.attribute&&(b[a.value]=b[a.value]||{groups:[],ssrcs:[]},b[a.value].ssrcs.push(a.id),c[a.id]&&c[a.id].forEach(function(c){b[a.value].groups.push({primarySSRC:a.id,group:c})}))}))}),b):void 0}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},e=c(9),f=(0,e.getLogger)(b),g=c(48),h=c(32),i=c(35),j=c(119),k=c(31),l=c(39),m=3,o=function(b){return"undefined"==typeof b||null==b?"":"type: "+b.type+"\r\n"+b.sdp};n.prototype.ssrcReplacement=function(a){if("object"!==("undefined"==typeof a?"undefined":d(a))||null===a||"string"!=typeof a.sdp)return f.warn("An empty description was passed as an argument."),a;var b=j.parse(a.sdp);if(Array.isArray(b.media)){var c=!1;return b.media.forEach(function(a){if(this.replaceSSRCs[a.type]){c=!0;for(var b=this.replaceSSRCs[a.type].splice(0,1),d=[];b&&b.length;){var e=b[0];switch(e.type){case"mute":case"addMuted":a.ssrcs||(a.ssrcs=[]);var g=e.ssrc.groups,h=null;if(g&&g.length)h=g[0].primarySSRC;else{if(!e.ssrc.ssrcs||!e.ssrc.ssrcs.length){l.callErrorHandler(new Error("SSRC replacement error!")),f.error("SSRC replacement error!");break}h=e.ssrc.ssrcs[0]}a.ssrcs.push({id:h,attribute:"cname",value:["recvonly-",h].join("")}),this.recvOnlySSRCs[a.type]=h;break;case"unmute":var i,j,m,n=function(){if(!e.ssrc||!e.ssrc.ssrcs||!e.ssrc.ssrcs.length)return"break";for(i={},j=e.ssrc.ssrcs.length-1,m=0;m<a.ssrcs.length;m++){var b=a.ssrcs[m];if(("msid"===b.attribute||b.value===e.msid)&&(i[b.id]=e.ssrc.ssrcs[j],j--,j<0))break}var c=e.ssrc.groups;return"undefined"!=typeof a.ssrcGroups&&Array.isArray(a.ssrcGroups)&&c&&c.length&&a.ssrcGroups.forEach(function(a){if(a.ssrcs){for(var b=a.ssrcs.split(" "),d=null,e=0;e<c.length;e++){d=c[e].group;var f=d.ssrcs.split(" ");if(d.semantics===a.semantics){for(var g=!1,h=0;h<b.length;h++)if(d.ssrcs.indexOf(i[b[h]])===-1){g=!0;break}if(!g){for(h=0;h<f.length;h++)i[b[h]]=f[h];break}}}a.ssrcs=d.ssrcs}}),a.ssrcs.forEach(function(a){i[a.id]&&(a.id=i[a.id])}),d.push(e),"break"}();if("break"===n)break}b=this.replaceSSRCs[a.type].splice(0,1)}if(this.replaceSSRCs[a.type]=d,!Array.isArray(a.ssrcs)||0===a.ssrcs.length){var o=this.recvOnlySSRCs[a.type]=this.recvOnlySSRCs[a.type]||k.randomInt(1,4294967295);a.ssrcs=[{id:o,attribute:"cname",value:["recvonly-",o].join("")}]}}}.bind(this)),c?new RTCSessionDescription({type:a.type,sdp:j.write(b)}):a}};var q=function(b){if("object"!==("undefined"==typeof b?"undefined":d(b))||null===b||"string"!=typeof b.sdp)return f.warn("An empty description was passed as an argument."),b;var e=c(119),g=e.parse(b.sdp);"undefined"!=typeof g&&"undefined"!=typeof g.media&&Array.isArray(g.media)&&g.media.forEach(function(a){var b=[],c=[];if("undefined"!=typeof a.ssrcGroups&&Array.isArray(a.ssrcGroups)&&a.ssrcGroups.forEach(function(a){"undefined"!=typeof a.semantics&&"FID"===a.semantics&&"undefined"!=typeof a.ssrcs&&b.push(Number(a.ssrcs.split(" ")[0]))}),"undefined"!=typeof a.ssrcs&&Array.isArray(a.ssrcs)){var e;for(e=0;e<a.ssrcs.length;e++)"object"===d(a.ssrcs[e])&&"undefined"!=typeof a.ssrcs[e].id&&b.indexOf(a.ssrcs[e].id)>=0&&(c.push(a.ssrcs[e]),delete a.ssrcs[e]);for(e=0;e<a.ssrcs.length;e++)"undefined"!=typeof a.ssrcs[e]&&c.push(a.ssrcs[e]);a.ssrcs=c}});var h=e.write(g);return new RTCSessionDescription({type:b.type,sdp:h})},r={signalingState:function(){return this.peerconnection.signalingState},iceConnectionState:function(){return this.peerconnection.iceConnectionState},localDescription:function(){var b=this.peerconnection.localDescription;return this.trace("getLocalDescription::preTransform",o(b)),h.usesUnifiedPlan()&&(b=this.interop.toPlanB(b),this.trace("getLocalDescription::postTransform (Plan B)",o(b))),b},remoteDescription:function(){var b=this.peerconnection.remoteDescription;return this.trace("getRemoteDescription::preTransform",o(b)),h.usesUnifiedPlan()&&(b=this.interop.toPlanB(b),this.trace("getRemoteDescription::postTransform (Plan B)",o(b))),b}};Object.keys(r).forEach(function(a){Object.defineProperty(n.prototype,a,{get:r[a]})}),n.prototype.addStream=function(a,b){this.trace("addStream",a?a.id:"null"),a&&this.peerconnection.addStream(a),b&&this.replaceSSRCs[b.mtype]&&this.replaceSSRCs[b.mtype].push(b)},n.prototype.removeStream=function(a,b,c){if(this.trace("removeStream",a.id),b&&g.stopMediaStream(a),this.peerconnection.removeStream&&(this.peerconnection.removeStream(a),c&&this.replaceSSRCs[c.mtype])){for(var d=0;d<this.replaceSSRCs[c.mtype].length;d++){var e=this.replaceSSRCs[c.mtype][d];if("unmute"===e.type&&e.ssrc.ssrcs.join("_")===c.ssrc.ssrcs.join("_")){this.replaceSSRCs[c.mtype].splice(d,1);break}}this.replaceSSRCs[c.mtype].push(c)}},n.prototype.createDataChannel=function(a,b){return this.trace("createDataChannel",a,b),this.peerconnection.createDataChannel(a,b)},n.prototype.setLocalDescription=function(a,b,c){this.trace("setLocalDescription::preTransform",o(a)),h.usesUnifiedPlan()&&(a=this.interop.toUnifiedPlan(a),this.trace("setLocalDescription::postTransform (Plan A)",o(a)));var d=this;this.peerconnection.setLocalDescription(a,function(){d.trace("setLocalDescriptionOnSuccess"),b()},function(a){d.trace("setLocalDescriptionOnFailure",a),d.eventEmitter.emit(i.SET_LOCAL_DESCRIPTION_FAILED,a,d.peerconnection),c(a)})},n.prototype.setRemoteDescription=function(a,b,c){this.trace("setRemoteDescription::preTransform",o(a)),a=this.simulcast.mungeRemoteDescription(a),this.trace("setRemoteDescription::postTransform (simulcast)",o(a)),h.usesUnifiedPlan()&&(a=this.interop.toUnifiedPlan(a),this.trace("setRemoteDescription::postTransform (Plan A)",o(a))),h.usesPlanB()&&(a=q(a));var d=this;this.peerconnection.setRemoteDescription(a,function(){d.trace("setRemoteDescriptionOnSuccess"),b()},function(a){d.trace("setRemoteDescriptionOnFailure",a),d.eventEmitter.emit(i.SET_REMOTE_DESCRIPTION_FAILED,a,d.peerconnection),c(a)})},n.prototype.close=function(){this.trace("stop"),null!==this.statsinterval&&(window.clearInterval(this.statsinterval),this.statsinterval=null),this.peerconnection.close()},n.prototype.createAnswer=function(a,b,c){var d=this;this.trace("createAnswer",JSON.stringify(c,null," ")),this.peerconnection.createAnswer(function(c){try{d.trace("createAnswerOnSuccess::preTransform",o(c)),h.usesUnifiedPlan()&&(c=d.interop.toPlanB(c),d.trace("createAnswerOnSuccess::postTransform (Plan B)",o(c))),!d.session.room.options.disableSimulcast&&d.simulcast.isSupported()&&(c=d.simulcast.mungeLocalDescription(c),d.trace("createAnswerOnSuccess::postTransform (simulcast)",o(c))),h.isFirefox()||(c=d.ssrcReplacement(c),d.trace("createAnswerOnSuccess::mungeLocalVideoSSRC",o(c))),d.eventEmitter.emit(i.SENDRECV_STREAMS_CHANGED,p(c)),a(c)}catch(a){d.trace("createAnswerOnError",a),d.trace("createAnswerOnError",o(c)),f.error("createAnswerOnError",a,o(c)),b(a)}},function(a){d.trace("createAnswerOnFailure",a),d.eventEmitter.emit(i.CREATE_ANSWER_FAILED,a,d.peerconnection),b(a)},c)},n.prototype.addIceCandidate=function(a,b,c){this.trace("addIceCandidate",JSON.stringify(a,null," ")),this.peerconnection.addIceCandidate(a)},n.prototype.getStats=function(a,b){h.isFirefox()||h.isTemasysPluginUsed()||h.isReactNative()?(b||(b=function(){}),this.peerconnection.getStats(null,a,b)):this.peerconnection.getStats(a)},n.prototype.generateNewStreamSSRCInfo=function(){if(!this.session.room.options.disableSimulcast&&this.simulcast.isSupported()){for(var a={ssrcs:[],groups:[]},b=0;b<m;b++)a.ssrcs.push(k.randomInt(1,4294967295));return a.groups.push({primarySSRC:a.ssrcs[0],group:{ssrcs:a.ssrcs.join(" "),semantics:"SIM"}}),a}return{ssrcs:[k.randomInt(1,4294967295)],groups:[]}},a.exports=n}).call(b,"modules/xmpp/TraceablePeerConnection.js")},function(a,b,c){(function(b){"use strict";function h(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function i(a){return a&&a.__esModule?a:{default:a}}function t(a,b){var c=[],d=null;return a.forEach(function(a){a.mediaType===q.AUDIO?d=b.micDeviceId:a.videoType===r.CAMERA&&(d=b.cameraDeviceId);var e=new n(a.stream,a.track,a.mediaType,a.videoType,a.resolution,d,b.facingMode);c.push(e)}),c}function u(a,b){this.conference=a,this.localTracks=[],this.remoteTracks={},this.localAudio=null,this.localVideo=null,this.eventEmitter=new k;var c=this;this.options=b||{},this.dataChannelsOpen=!1,m.isDeviceChangeAvailable("output")&&m.addListener(l.AUDIO_OUTPUT_DEVICE_CHANGED,function(a){for(var b in c.remoteTracks)c.remoteTracks.hasOwnProperty(b)&&c.remoteTracks[b].audio&&c.remoteTracks[b].audio.setAudioOutput(a)})}var d=c(6),e=i(d),f=c(7),g=h(f),j=c(9).getLogger(b),k=c(14),l=c(49),m=c(50),n=c(57),o=c(117),p=c(118),q=c(36),r=c(55),s=c(39);u.obtainAudioAndVideoPermissions=function(a){return m.obtainAudioAndVideoPermissions(a).then(function(b){var c=t(b,a);return c.some(function(a){return!a._isReceivingData()})?Promise.reject(new e.default(g.NO_DATA_FROM_SOURCE)):c})},u.prototype.onIncommingCall=function(a){var b=this;this.options.config.openSctp&&(this.dataChannels=new o(a.peerconnection,this.eventEmitter),this._dataChannelOpenListener=function(){b.dataChannelsOpen=!0;try{b.dataChannels.sendSelectedEndpointMessage(b.selectedEndpoint)}catch(a){s.callErrorHandler(a),j.error("Cannot sendSelectedEndpointMessage ",b.selectedEndpoint,". Error: ",a)}b.removeListener(l.DATA_CHANNEL_OPEN,b._dataChannelOpenListener),b._dataChannelOpenListener=null},this.addListener(l.DATA_CHANNEL_OPEN,this._dataChannelOpenListener))},u.prototype.onCallEnded=function(){this.dataChannels&&(this.dataChannels=null,this.dataChannelsOpen=!1)},u.prototype.selectEndpoint=function(a){this.selectedEndpoint=a,this.dataChannels&&this.dataChannelsOpen&&this.dataChannels.sendSelectedEndpointMessage(a)},u.prototype.pinEndpoint=function(a){if(!this.dataChannels)throw new Error("Data channels support is disabled!");this.dataChannels.sendPinnedEndpointMessage(a)},u.prototype.addListener=function(a,b){this.eventEmitter.on(a,b)},u.prototype.removeListener=function(a,b){this.eventEmitter.removeListener(a,b)},u.addListener=function(a,b){m.addListener(a,b)},u.removeListener=function(a,b){m.removeListener(a,b)},u.isRTCReady=function(){return m.isRTCReady()},u.init=function(a){return this.options=a||{},m.init(this.options)},u.getDeviceAvailability=function(){return m.getDeviceAvailability()},u.prototype.addLocalTrack=function(a){if(!a)throw new Error("track must not be null nor undefined");this.localTracks.push(a),a.conference=this.conference,a.isAudioTrack()?this.localAudio=a:this.localVideo=a},u.prototype.getLocalVideoTrack=function(){return this.localVideo},u.prototype.getRemoteTrackByType=function(a,b){return this.remoteTracks[b]?this.remoteTracks[b][a]:null},u.prototype.getRemoteAudioTrack=function(a){return this.getRemoteTrackByType(q.AUDIO,a)},u.prototype.getRemoteVideoTrack=function(a){return this.getRemoteTrackByType(q.VIDEO,a)},u.prototype.setAudioMute=function(a){for(var b=[],c=0;c<this.localTracks.length;c++){var d=this.localTracks[c];d.getType()===q.AUDIO&&b.push(a?d.mute():d.unmute())}return Promise.all(b)},u.prototype.removeLocalTrack=function(a){var b=this.localTracks.indexOf(a);b!==-1&&(this.localTracks.splice(b,1),a.isAudioTrack()?this.localAudio=null:this.localVideo=null)},u.prototype.createRemoteTrack=function(a){var b=a.owner,c=new p(this,this.conference,b,a.stream,a.track,a.mediaType,a.videoType,a.ssrc,a.muted),d=Strophe.getResourceFromJid(b),e=this.remoteTracks[d]||(this.remoteTracks[d]={}),f=c.getType();return e[f]&&j.warn("Overwriting remote track!",d,f),e[f]=c,c},u.prototype.removeRemoteTracks=function(a){var b=[],c=this.removeRemoteTrack(a,q.AUDIO),d=this.removeRemoteTrack(a,q.VIDEO);return c&&b.push(c),d&&b.push(d),delete this.remoteTracks[a],b},u.prototype.removeRemoteTrack=function(a,b){var c=this.remoteTracks[a];if(c&&c[b]){var d=c[b];return d.dispose(),delete c[b],d}},u.getPCConstraints=function(){return m.pc_constraints},u.attachMediaStream=function(a,b){return m.attachMediaStream(a,b)},u.getStreamID=function(a){return m.getStreamID(a)},u.isDeviceListAvailable=function(){return m.isDeviceListAvailable()},u.isDeviceChangeAvailable=function(a){return m.isDeviceChangeAvailable(a)},u.getAudioOutputDevice=function(){return m.getAudioOutputDevice()},u.getCurrentlyAvailableMediaDevices=function(){return m.getCurrentlyAvailableMediaDevices()},u.getEventDataForActiveDevice=function(a){return m.getEventDataForActiveDevice(a)},u.setAudioOutputDevice=function(a){return m.setAudioOutputDevice(a)},u.isUserStream=function(a){var b=m.getStreamID(a);return b&&"mixedmslabel"!==b&&"default"!==b},u.enumerateDevices=function(a){m.enumerateDevices(a)},u.stopMediaStream=function(a){m.stopMediaStream(a)},u.isDesktopSharingEnabled=function(){return m.isDesktopSharingEnabled()},u.prototype.closeAllDataChannels=function(){this.dataChannels&&(this.dataChannels.closeAllChannels(),this.dataChannelsOpen=!1)},u.prototype.dispose=function(){},u.prototype.setAudioLevel=function(a,b){if(a){var c=this.getRemoteAudioTrack(a);c&&c.setAudioLevel(b)}},u.prototype.getResourceBySSRC=function(a){if(this.localVideo&&a==this.localVideo.getSSRC()||this.localAudio&&a==this.localAudio.getSSRC())return this.conference.myUserId();var b=this.getRemoteTrackBySSRC(a);return b?b.getParticipantId():null},u.prototype.getRemoteTrackBySSRC=function(a){for(var b in this.remoteTracks){var c=this.getRemoteAudioTrack(b);if(c&&c.getSSRC()==a)return c;if(c=this.getRemoteVideoTrack(b),c&&c.getSSRC()==a)return c}return null},u.prototype.handleRemoteTrackMute=function(a,b,c){var d=this.getRemoteTrackByType(a,c);d&&d.setMute(b)},u.prototype.handleRemoteTrackVideoTypeChanged=function(a,b){var c=this.getRemoteVideoTrack(b);c&&c._setVideoType(a)},u.prototype.sendDataChannelMessage=function(a,b){if(!this.dataChannels)throw new Error("Data channels support is disabled!");this.dataChannels.sendDataChannelMessage(a,b)},a.exports=u}).call(b,"modules/RTC/RTC.js")},function(a,b){"use strict";var c={RTC_READY:"rtc.ready",DATA_CHANNEL_OPEN:"rtc.data_channel_open",ENDPOINT_CONN_STATUS_CHANGED:"rtc.endpoint_conn_status_changed",LASTN_CHANGED:"rtc.lastn_changed",DOMINANTSPEAKER_CHANGED:"rtc.dominantspeaker_changed",LASTN_ENDPOINT_CHANGED:"rtc.lastn_endpoint_changed",AVAILABLE_DEVICES_CHANGED:"rtc.available_devices_changed",TRACK_ATTACHED:"rtc.track_attached",REMOTE_TRACK_MUTE:"rtc.remote_track_mute",REMOTE_TRACK_UNMUTE:"rtc.remote_track_unmute",AUDIO_OUTPUT_DEVICE_CHANGED:"rtc.audio_output_device_changed",DEVICE_LIST_CHANGED:"rtc.device_list_changed",DEVICE_LIST_AVAILABLE:"rtc.device_list_available",ENDPOINT_MESSAGE_RECEIVED:"rtc.endpoint_message_received"};a.exports=c},function(a,b,c){(function(b){"use strict";function f(a){return a&&a.__esModule?a:{default:a}}function D(){C=navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices?function(a){navigator.mediaDevices.enumerateDevices().then(a,function(){a([])})}:MediaStreamTrack&&MediaStreamTrack.getSources?function(a){MediaStreamTrack.getSources(function(b){a(b.map(T))})}:void 0}function G(a,b){var c=h.isAndroid();i[b]?(a.video.mandatory.minWidth=i[b].width,a.video.mandatory.minHeight=i[b].height):c&&(a.video.mandatory.minWidth=320,a.video.mandatory.minHeight=180,a.video.mandatory.maxFrameRate=15),a.video.mandatory.minWidth&&(a.video.mandatory.maxWidth=a.video.mandatory.minWidth),a.video.mandatory.minHeight&&(a.video.mandatory.maxHeight=a.video.mandatory.minHeight)}function H(a,b){var c={audio:!1,video:!1},d=h.isFirefox()||h.isReactNative()||h.isTemasysPluginUsed();if(a.indexOf("video")>=0){if(c.video={mandatory:{},optional:[]},b.cameraDeviceId)d&&(c.video.deviceId=b.cameraDeviceId),c.video.optional.push({sourceId:b.cameraDeviceId});else{var e=b.facingMode||p.USER;d&&(c.video.facingMode=e),c.video.optional.push({facingMode:e})}c.video.optional.push({googLeakyBucket:!0}),G(c,b.resolution)}if(a.indexOf("audio")>=0&&(h.isReactNative()?c.audio=!0:h.isFirefox()?b.micDeviceId?c.audio={mandatory:{},deviceId:b.micDeviceId,optional:[{sourceId:b.micDeviceId}]}:c.audio=!0:(c.audio={mandatory:{},optional:[]},b.micDeviceId&&(d&&(c.audio.deviceId=b.micDeviceId),c.audio.optional.push({sourceId:b.micDeviceId})),c.audio.optional.push({googEchoCancellation:!x},{googAutoGainControl:!0},{googNoiseSupression:!y},{googHighpassFilter:!0},{googNoiseSuppression2:!y},{googEchoCancellation2:!x},{googAutoGainControl2:!0}))),a.indexOf("screen")>=0)if(h.isChrome())c.video={mandatory:{chromeMediaSource:"screen",googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3},optional:[]};else if(h.isTemasysPluginUsed())c.video={optional:[{sourceId:r.WebRTCPlugin.plugin.screensharingKey}]};else if(h.isFirefox())c.video={mozMediaSource:"window",mediaSource:"window"};else{var f="'screen' WebRTC media source is supported only in Chrome and with Temasys plugin";q.callErrorHandler(new Error(f)),g.error(f)}return a.indexOf("desktop")>=0&&(c.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:b.desktopStream,googLeakyBucket:!0,maxWidth:window.screen.width,maxHeight:window.screen.height,maxFrameRate:3},optional:[]}),b.bandwidth&&(c.video||(c.video={mandatory:{},optional:[]}),c.video.optional.push({bandwidth:b.bandwidth})),(b.minFps||b.maxFps||b.fps)&&(c.video||(c.video={mandatory:{},optional:[]}),(b.minFps||b.fps)&&(b.minFps=b.minFps||b.fps,c.video.mandatory.minFrameRate=b.minFps),b.maxFps&&(c.video.mandatory.maxFrameRate=b.maxFps)),h.isFirefox()&&b.firefox_fake_device&&(c.fake=!0),c}function I(a,b){var c=b&&!!b.getAudioTracks().length,d=b&&!!b.getVideoTracks().length;a.indexOf("video")!=-1&&(u.video=d),a.indexOf("audio")!=-1&&(u.audio=c),s.emit(j.AVAILABLE_DEVICES_CHANGED,u)}function J(a){function b(a){return JSON.stringify({kind:a.kind,deviceId:a.deviceId,groupId:a.groupId,label:a.label,facing:a.facing})}return a.length!==B.length||a.map(b).sort().join("")!==B.map(b).sort().join("")}function K(){C&&C(function(a){"undefined"==typeof B?B=a.slice(0):J(a)&&L(a),window.setTimeout(K,t)})}function L(a){B=a.slice(0),g.info("list of media devices has changed:",B);var b=B.filter(function(a){return"videoinput"===a.kind}),c=B.filter(function(a){return"audioinput"===a.kind}),d=b.filter(function(a){return""===a.label}),e=c.filter(function(a){return""===a.label});b.length&&b.length===d.length&&(u.video=!1),c.length&&c.length===e.length&&(u.audio=!1),
s.emit(j.DEVICE_LIST_CHANGED,a)}function M(a,b){F=!0,s.emit(j.RTC_READY,!0),m.init(a,b),D(),Y.isDeviceListAvailable()&&C&&C(function(a){B=a.splice(0),s.emit(j.DEVICE_LIST_AVAILABLE,B),E?navigator.mediaDevices.addEventListener("devicechange",function(){Y.enumerateDevices(L)}):K()})}function N(a,b){a&&a.apply(null,b||[])}function P(a){return function(b,c,d){a(b,function(a){N(c,[a]),O.initialized||(O.initialized=!0,O.callbacks.forEach(function(a){a()}),O.callbacks.length=0)},function(a){N(d,[a])})}}function Q(a){O.initialized?a():O.callbacks.push(a)}function R(a){return function(b){Q(function(){a().then(b,function(a){g.error("cannot enumerate devices: ",a),b([])})})}}function S(a){MediaStreamTrack.getSources(function(b){a(b.map(T))})}function T(a){var b=(a.kind||"").toLowerCase();return{facing:a.facing||null,label:a.label,kind:b?"audiooutput"===b?b:b+"input":null,deviceId:a.id,groupId:a.groupId||null}}function U(a){if(!a.devices||0===a.devices.length)return a.successCallback(a.streams||{});var b=a.devices.splice(0,1),c=[];c.push(b),a.deviceGUM[b](function(c){a.streams=a.streams||{},a.streams[b]=c,U(a)},function(c){Object.keys(a.streams).forEach(function(b){Y.stopMediaStream(a.streams[b])}),g.error("failed to obtain "+b+" stream - stop",c),a.errorCallback(c)})}function V(a,b){var c,d,e,f=[];if(a){var g=a.audioVideo;if(g){var h=g.getAudioTracks();if(h.length){c=new webkitMediaStream;for(var i=0;i<h.length;i++)c.addTrack(h[i])}var j=g.getVideoTracks();if(j.length){d=new webkitMediaStream;for(var k=0;k<j.length;k++)d.addTrack(j[k])}}else c=a.audio,d=a.video;e=a.desktopStream||a.desktop}return e&&f.push({stream:e,track:e.getVideoTracks()[0],mediaType:n.VIDEO,videoType:o.DESKTOP}),c&&f.push({stream:c,track:c.getAudioTracks()[0],mediaType:n.AUDIO,videoType:null}),d&&f.push({stream:d,track:d.getVideoTracks()[0],mediaType:n.VIDEO,videoType:o.CAMERA,resolution:b}),f}function W(a){return function(b,c){var d=a.apply(Y,arguments);return c&&Y.isDeviceChangeAvailable("output")&&c.getAudioTracks&&c.getAudioTracks().length&&w&&b.setSinkId(Y.getAudioOutputDevice()).catch(function(a){var c=new e.default(a,null,["audiooutput"]);q.callUnhandledRejectionHandler({promise:this,reason:c}),g.warn("Failed to set audio output device for the element. Default audio output device will be used instead",b,c)}),d}}function X(a,b){var c="srcObject";if(c in a||(c="mozSrcObject",c in a||(c=null)),c)return void(a[c]=b);var d;b&&(d=b.jitsiObjectURL,d||(b.jitsiObjectURL=d=(URL||webkitURL).createObjectURL(b))),a.src=d||""}var B,d=c(6),e=f(d),g=c(9).getLogger(b),h=c(32),i=c(51),j=c(49),k=c(52),l=c(14),m=c(53),n=c(36),o=c(55),p=c(56),q=c(39),r=h.isTemasysPluginUsed()?c(54):void 0,s=new l,t=3e3,u={audio:!1,video:!1},v="default",w=!1,x=!1,y=!1,z=document.createElement("audio"),A="undefined"!=typeof z.setSinkId,C=void 0,E=!1,F=!1,O={initialized:!1,callbacks:[]},Y={init:function(b){return"boolean"==typeof b.disableAEC&&(x=b.disableAEC,g.info("Disable AEC: "+x)),"boolean"==typeof b.disableNS&&(y=b.disableNS,g.info("Disable NS: "+y)),new Promise(function(a,c){if(h.isFirefox()){var d=h.getFirefoxVersion();if(d<40)return g.error("Firefox version too old: "+d+". Required >= 40."),void c(new Error("Firefox version too old: "+d+". Required >= 40."));this.peerconnection=mozRTCPeerConnection,this.getUserMedia=P(navigator.mozGetUserMedia.bind(navigator)),this.enumerateDevices=R(navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices)),this.pc_constraints={},this.attachMediaStream=W(function(a,b){return a&&(X(a,b),b&&a.play()),a}),this.getStreamID=function(a){var b=a.id;if(!b){var c=a.getVideoTracks();c&&0!==c.length||(c=a.getAudioTracks()),b=c[0].id}return k.filter_special_chars(b)},RTCSessionDescription=mozRTCSessionDescription,RTCIceCandidate=mozRTCIceCandidate}else if(h.isChrome()||h.isOpera()||h.isNWJS()||h.isReactNative()){this.peerconnection=webkitRTCPeerConnection;var e=navigator.webkitGetUserMedia.bind(navigator);navigator.mediaDevices?(this.getUserMedia=P(e),this.enumerateDevices=R(navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices))):(this.getUserMedia=e,this.enumerateDevices=S),this.attachMediaStream=W(function(a,b){return X(a,b),a}),this.getStreamID=function(a){var b=a.id;return"number"==typeof b?b:k.filter_special_chars(b)},this.pc_constraints={optional:[{DtlsSrtpKeyAgreement:"true"}]},b.useIPv6&&this.pc_constraints.optional.push({googIPv6:!0}),h.isAndroid()&&(this.pc_constraints={}),webkitMediaStream.prototype.getVideoTracks||(webkitMediaStream.prototype.getVideoTracks=function(){return this.videoTracks}),webkitMediaStream.prototype.getAudioTracks||(webkitMediaStream.prototype.getAudioTracks=function(){return this.audioTracks})}else{if(!h.isTemasysPluginUsed()){var i="Browser does not appear to be WebRTC-capable";return g.error(i),void c(new Error(i))}var f=this;r.webRTCReady(function(){f.peerconnection=RTCPeerConnection,f.getUserMedia=window.getUserMedia,f.enumerateDevices=S,f.attachMediaStream=W(function(a,b){if(b){if("dummyAudio"===b.id||"dummyVideo"===b.id)return;var c=$(a);h.isTemasysPluginUsed()&&!c.is(":visible")&&c.show();var d=!!b.getVideoTracks().length;if(d&&!$(a).is(":visible"))throw new Error("video element must be visible to attach video stream")}return attachMediaStream(a,b)}),f.getStreamID=function(a){return k.filter_special_chars(a.label)},M(b,f.getUserMediaWithConstraints.bind(f)),a()})}h.isTemasysPluginUsed()||(M(b,this.getUserMediaWithConstraints.bind(this)),a())}.bind(this))},getUserMediaWithConstraints:function(b,c,d,f){f=f||{};var h=H(b,f);g.info("Get media constraints",h);try{this.getUserMedia(h,function(a){g.log("onUserMediaSuccess"),I(b,a),c(a)},function(a){I(b,void 0),g.warn("Failed to get access to local media. Error ",a,h),d&&d(new e.default(a,h,b))})}catch(a){g.error("GUM failed: ",a),d&&d(new e.default(a,h,b))}},obtainAudioAndVideoPermissions:function(b){var c=this;b=b||{};var d=b.desktopSharingExtensionExternalInstallation;return new Promise(function(a,f){var g=function(d){a(V(d,b.resolution))};if(b.devices=b.devices||["audio","video"],m.isSupported()||b.devices.indexOf("desktop")===-1||f(new Error("Desktop sharing is not supported!")),h.isFirefox()||h.isReactNative()||h.isTemasysPluginUsed()){var i=function(c,d,e){this.getUserMediaWithConstraints(c,d,e,b)},j={audio:i.bind(c,["audio"]),video:i.bind(c,["video"])};m.isSupported()&&(j.desktop=m.obtainStream.bind(m,d)),U({devices:b.devices,streams:[],successCallback:g,errorCallback:f,deviceGUM:j})}else{var k=b.devices.indexOf("desktop")>-1;k&&b.devices.splice(b.devices.indexOf("desktop"),1),b.resolution=b.resolution||"360",b.devices.length?this.getUserMediaWithConstraints(b.devices,function(a){var h=b.devices.indexOf("audio")!==-1,i=b.devices.indexOf("video")!==-1,j=!!a.getAudioTracks().length,l=!!a.getVideoTracks().length;if(h&&!j||i&&!l){c.stopMediaStream(a);var n=[];return h&&!j&&n.push("audio"),i&&!l&&n.push("video"),void c.getUserMediaWithConstraints(n,function(){f(new e.default({name:"UnknownError"},H(b.devices,b),n))},function(a){f(a)},b)}k?m.obtainStream(d,function(b){g({audioVideo:a,desktopStream:b})},function(b){c.stopMediaStream(a),f(b)}):g({audioVideo:a})},function(a){f(a)},b):k&&m.obtainStream(d,function(a){g({desktopStream:a})},function(a){f(a)})}}.bind(this))},addListener:function(b,c){s.on(b,c)},removeListener:function(b,c){s.removeListener(b,c)},getDeviceAvailability:function(){return u},isRTCReady:function(){return F},_isDeviceListAvailable:function(){if(!F)throw new Error("WebRTC not ready yet");var b=navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices;return!!b||!("undefined"==typeof MediaStreamTrack||!MediaStreamTrack.getSources)},onRTCReady:function(){return F?Promise.resolve():new Promise(function(a){var b=function b(){s.removeListener(j.RTC_READY,b),a()};s.addListener(j.RTC_READY,b)})},isDeviceListAvailable:function(){return this.onRTCReady().then(function(){return this._isDeviceListAvailable()}.bind(this))},isDeviceChangeAvailable:function(b){return"output"===b||"audiooutput"===b?A:h.isChrome()||h.isFirefox()||h.isOpera()||h.isTemasysPluginUsed()||h.isNWJS()},stopMediaStream:function(b){b.getTracks().forEach(function(a){!h.isTemasysPluginUsed()&&a.stop&&a.stop()}),b.stop&&b.stop(),b.release&&b.release();var c=b.jitsiObjectURL;c&&(delete b.jitsiObjectURL,(URL||webkitURL).revokeObjectURL(c))},isDesktopSharingEnabled:function(){return m.isSupported()},setAudioOutputDevice:function(b){return this.isDeviceChangeAvailable("output")||Promise.reject(new Error("Audio output device change is not supported")),z.setSinkId(b).then(function(){v=b,w=!0,g.log("Audio output device set to "+b),s.emit(j.AUDIO_OUTPUT_DEVICE_CHANGED,b)})},getAudioOutputDevice:function(){return v},getCurrentlyAvailableMediaDevices:function(){return B},getEventDataForActiveDevice:function(b){var c=[],d={deviceId:b.deviceId,kind:b.kind,label:b.label,groupId:b.groupId};return c.push(d),{deviceList:c}}};a.exports=Y}).call(b,"modules/RTC/RTCUtils.js")},function(a,b){"use strict";var c={1080:{width:1920,height:1080,order:7},fullhd:{width:1920,height:1080,order:7},720:{width:1280,height:720,order:6},hd:{width:1280,height:720,order:6},960:{width:960,height:720,order:5},360:{width:640,height:360,order:4},640:{width:640,height:480,order:3},vga:{width:640,height:480,order:3},180:{width:320,height:180,order:2},320:{width:320,height:240,order:1}};a.exports=c},function(a,b,c){(function(b){"use strict";var d=c(9),e=(0,d.getLogger)(b),f=c(32),g={filter_special_chars:function(b){return b?b.replace(/[\\\/\{,\}\+]/g,""):b},iceparams:function(b,c){var e,f,d=null;return(e=g.find_line(b,"a=ice-ufrag:",c))&&(f=g.find_line(b,"a=ice-pwd:",c))&&(d={ufrag:g.parse_iceufrag(e),pwd:g.parse_icepwd(f)}),d},parse_iceufrag:function(b){return b.substring(12)},build_iceufrag:function(b){return"a=ice-ufrag:"+b},parse_icepwd:function(b){return b.substring(10)},build_icepwd:function(b){return"a=ice-pwd:"+b},parse_mid:function(b){return b.substring(6)},parse_mline:function(b){var c=b.substring(2).split(" "),d={};return d.media=c.shift(),d.port=c.shift(),d.proto=c.shift(),""===c[c.length-1]&&c.pop(),d.fmt=c,d},build_mline:function(b){return"m="+b.media+" "+b.port+" "+b.proto+" "+b.fmt.join(" ")},parse_rtpmap:function(b){var c=b.substring(9).split(" "),d={};return d.id=c.shift(),c=c[0].split("/"),d.name=c.shift(),d.clockrate=c.shift(),d.channels=c.length?c.shift():"1",d},parse_sctpmap:function(b){var c=b.substring(10).split(" "),d=c[0],e=c[1],f=c.length>2?c[2]:null;return[d,e,f]},build_rtpmap:function(b){var c="a=rtpmap:"+b.getAttribute("id")+" "+b.getAttribute("name")+"/"+b.getAttribute("clockrate");return b.getAttribute("channels")&&"1"!=b.getAttribute("channels")&&(c+="/"+b.getAttribute("channels")),c},parse_crypto:function(b){var c=b.substring(9).split(" "),d={};return d.tag=c.shift(),d["crypto-suite"]=c.shift(),d["key-params"]=c.shift(),c.length&&(d["session-params"]=c.join(" ")),d},parse_fingerprint:function(b){var c=b.substring(14).split(" "),d={};return d.hash=c.shift(),d.fingerprint=c.shift(),d},parse_fmtp:function(b){var d,e,f,c=b.split(" "),g=[];for(c.shift(),c=c.join(" ").split(";"),d=0;d<c.length;d++){for(e=c[d].split("=")[0];e.length&&" "==e[0];)e=e.substring(1);f=c[d].split("=")[1],e&&f?g.push({name:e,value:f}):e&&g.push({name:"",value:e})}return g},parse_icecandidate:function(b){var c={},d=b.split(" ");c.foundation=d[0].substring(12),c.component=d[1],c.protocol=d[2].toLowerCase(),c.priority=d[3],c.ip=d[4],c.port=d[5],c.type=d[7],c.generation=0;for(var f=8;f<d.length;f+=2)switch(d[f]){case"raddr":c["rel-addr"]=d[f+1];break;case"rport":c["rel-port"]=d[f+1];break;case"generation":c.generation=d[f+1];break;case"tcptype":c.tcptype=d[f+1];break;default:e.log('parse_icecandidate not translating "'+d[f]+'" = "'+d[f+1]+'"')}return c.network="1",c.id=Math.random().toString(36).substr(2,10),c},build_icecandidate:function(b){var c=["a=candidate:"+b.foundation,b.component,b.protocol,b.priority,b.ip,b.port,"typ",b.type].join(" ");switch(c+=" ",b.type){case"srflx":case"prflx":case"relay":b.hasOwnAttribute("rel-addr")&&b.hasOwnAttribute("rel-port")&&(c+="raddr",c+=" ",c+=b["rel-addr"],c+=" ",c+="rport",c+=" ",c+=b["rel-port"],c+=" ")}return b.hasOwnAttribute("tcptype")&&(c+="tcptype",c+=" ",c+=b.tcptype,c+=" "),c+="generation",c+=" ",c+=b.hasOwnAttribute("generation")?b.generation:"0"},parse_ssrc:function(b){for(var c=b.split("\r\n"),d={},e=0;e<c.length;e++)if("a=ssrc:"==c[e].substring(0,7)){var f=c[e].indexOf(" ");d[c[e].substr(f+1).split(":",2)[0]]=c[e].substr(f+1).split(":",2)[1]}return d},parse_rtcpfb:function(b){var c=b.substr(10).split(" "),d={};return d.pt=c.shift(),d.type=c.shift(),d.params=c,d},parse_extmap:function(b){var c=b.substr(9).split(" "),d={};return d.value=c.shift(),d.value.indexOf("/")!=-1?(d.direction=d.value.substr(d.value.indexOf("/")+1),d.value=d.value.substr(0,d.value.indexOf("/"))):d.direction="both",d.uri=c.shift(),d.params=c,d},find_line:function(b,c,d){for(var e=b.split("\r\n"),f=0;f<e.length;f++)if(e[f].substring(0,c.length)==c)return e[f];if(!d)return!1;e=d.split("\r\n");for(var g=0;g<e.length;g++)if(e[g].substring(0,c.length)==c)return e[g];return!1},find_lines:function(b,c,d){for(var e=b.split("\r\n"),f=[],g=0;g<e.length;g++)e[g].substring(0,c.length)==c&&f.push(e[g]);if(f.length||!d)return f;e=d.split("\r\n");for(var h=0;h<e.length;h++)e[h].substring(0,c.length)==c&&f.push(e[h]);return f},candidateToJingle:function(b){if(0===b.indexOf("candidate:"))b="a="+b;else if("a=candidate:"!=b.substring(0,12))return e.log("parseCandidate called with a line that is not a candidate line"),e.log(b),null;"\r\n"==b.substring(b.length-2)&&(b=b.substring(0,b.length-2));var f,c={},d=b.split(" ");if("typ"!=d[6])return e.log("did not find typ in the right place"),e.log(b),null;for(c.foundation=d[0].substring(12),c.component=d[1],c.protocol=d[2].toLowerCase(),c.priority=d[3],c.ip=d[4],c.port=d[5],c.type=d[7],c.generation="0",f=8;f<d.length;f+=2)switch(d[f]){case"raddr":c["rel-addr"]=d[f+1];break;case"rport":c["rel-port"]=d[f+1];break;case"generation":c.generation=d[f+1];break;case"tcptype":c.tcptype=d[f+1];break;default:e.log('not translating "'+d[f]+'" = "'+d[f+1]+'"')}return c.network="1",c.id=Math.random().toString(36).substr(2,10),c},candidateFromJingle:function(b){var c="a=candidate:";c+=b.getAttribute("foundation"),c+=" ",c+=b.getAttribute("component"),c+=" ";var d=b.getAttribute("protocol");switch(f.isFirefox()&&"ssltcp"==d.toLowerCase()&&(d="tcp"),c+=d,c+=" ",c+=b.getAttribute("priority"),c+=" ",c+=b.getAttribute("ip"),c+=" ",c+=b.getAttribute("port"),c+=" ",c+="typ",c+=" "+b.getAttribute("type"),c+=" ",b.getAttribute("type")){case"srflx":case"prflx":case"relay":b.getAttribute("rel-addr")&&b.getAttribute("rel-port")&&(c+="raddr",c+=" ",c+=b.getAttribute("rel-addr"),c+=" ",c+="rport",c+=" ",c+=b.getAttribute("rel-port"),c+=" ")}return"tcp"==d.toLowerCase()&&(c+="tcptype",c+=" ",c+=b.getAttribute("tcptype"),c+=" "),c+="generation",c+=" ",c+=b.getAttribute("generation")||"0",c+"\r\n"}};a.exports=g}).call(b,"modules/xmpp/SDPUtil.js")},function(a,b,c){(function(b){"use strict";function h(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function i(a){return a&&a.__esModule?a:{default:a}}function u(a,b,c){q(["screen"],b,c)}function v(a){return"https://chrome.google.com/webstore/detail/"+(a.desktopSharingChromeExtId||a.chromeExtensionId)}function w(a,b){try{for(var c=a.split("."),d=b.split("."),e=Math.max(c.length,d.length),f=0;f<e;f++){var g=0,h=0;if(f<c.length&&(g=parseInt(c[f])),f<d.length&&(h=parseInt(d[f])),isNaN(g)||isNaN(h))return!0;if(g!==h)return g>h}return!1}catch(a){return j.callErrorHandler(a),k.error("Failed to parse extension version",a),!0}}function x(a,b){return"undefined"!=typeof chrome&&chrome&&chrome.runtime?void chrome.runtime.sendMessage(b.desktopSharingChromeExtId||b.chromeExtensionId,{getVersion:!0},function(c){if(!c||!c.version)return k.warn("Extension not installed?: ",chrome.runtime.lastError),void a(!1,!1);var d=c.version;k.log("Extension version is: "+d);var e=w(b.desktopSharingChromeMinExtVersion||b.minChromeExtVersion,d);a(!e,e)}):void a(!1,!1)}function y(a,b,c){chrome.runtime.sendMessage(a.desktopSharingChromeExtId||a.chromeExtensionId,{getStream:!0,sources:a.desktopSharingChromeSources||a.desktopSharingSources},function(a){if(!a){var d=chrome.runtime.lastError;return void c(d instanceof Error?d:new e.default(g.CHROME_EXTENSION_GENERIC_ERROR,d))}if(k.log("Response from extension: ",a),a.streamId)q(["desktop"],function(a){return b(a)},c,{desktopStream:a.streamId});else{if(""===a.streamId)return void c(new e.default(g.CHROME_EXTENSION_USER_CANCELED));c(new e.default(g.CHROME_EXTENSION_GENERIC_ERROR,a.error))}})}function z(a){0===$("link[rel=chrome-webstore-item]").length&&$("head").append('<link rel="chrome-webstore-item">'),$("link[rel=chrome-webstore-item]").attr("href",v(a))}function A(a){z(a),x(function(a,b){m=a,n=b,k.info("Chrome extension installed: "+m+" updateRequired: "+n)},a)}function B(a,b,c){return 0===c?Promise.reject():new Promise(function(d,e){var f=c,g=window.setInterval(function(){x(function(a){a?(window.clearInterval(g),d()):(f--,0===f&&(e(),window.clearInterval(g)))},a)},b)})}function C(a){if(!a.desktopSharingFirefoxDisabled&&o!==!1&&o!==!0){if(!a.desktopSharingFirefoxExtId)return void(o=!1);var b=document.createElement("img");b.onload=function(){k.log("Detected firefox screen sharing extension."),o=!0},b.onerror=function(){k.log("Detected lack of firefox screen sharing extension."),o=!1};var c="chrome://"+a.desktopSharingFirefoxExtId.replace("@",".")+"/content/"+document.location.hostname+".png";b.setAttribute("src",c)}}var d=c(6),e=i(d),f=c(7),g=h(f),j=c(39),k=c(9).getLogger(b),l=c(32),m=!1,n=!1,o=null,p=!1,q=null,r="Inline installs can not be initiated from pop-up windows.",t={obtainStream:null,init:function(b,d){var f=null;this.options=b=b||{},q=d,l.isFirefox()&&C(b);var h=b.desktopSharingChromeMethod||b.desktopSharing;if(l.isNWJS())f=function(b,c,d){window.JitsiMeetNW.obtainDesktopStream(c,function(a,b){var c;c=a&&"InvalidStateError"==a.name?new e.default(g.CHROME_EXTENSION_USER_CANCELED):new e.default(a,b,["desktop"]),"function"==typeof d&&d(c)})};else if(l.isTemasysPluginUsed()){var i=c(54);i.WebRTCPlugin.plugin.HasScreensharingFeature?i.WebRTCPlugin.plugin.isScreensharingAvailable?(f=u,k.info("Using Temasys plugin for desktop sharing")):k.info("Screensharing not available with Temasys plugin on this site"):k.info("Screensharing not supported by this plugin version")}else l.isChrome()?"ext"==h?l.getChromeVersion()>=34?(f=this.obtainScreenFromExtension,k.info("Using Chrome extension for desktop sharing"),A(b)):k.info("Chrome extension not supported until ver 34"):"webrtc"==h&&(f=u,k.info("Using Chrome WebRTC for desktop sharing")):l.isFirefox()&&(b.desktopSharingFirefoxDisabled?f=null:"http:"===window.location.protocol?(k.log("Screen sharing is not supported over HTTP. Use of HTTPS is required."),f=null):f=this.obtainScreenOnFirefox);f||k.info("Desktop sharing disabled"),this.obtainStream=f},isSupported:function(){return!!this.obtainStream},obtainScreenOnFirefox:function(b,c,d){var f=this,h=!1;return(this.options.desktopSharingFirefoxMaxVersionExtRequired===-1||this.options.desktopSharingFirefoxMaxVersionExtRequired>=0&&l.getFirefoxVersion()<=this.options.desktopSharingFirefoxMaxVersionExtRequired)&&(h=!0,k.log("Jidesha extension required on firefox version "+l.getFirefoxVersion())),h&&o!==!0?(p&&(p=!1,C(this.options)),null===o?(window.setTimeout(function(){null===o&&(o=!1),f.obtainScreenOnFirefox(c,d)},300),void k.log("Waiting for detection of jidesha on firefox to finish.")):(o=null,p=!0,void d(new e.default(g.FIREFOX_EXTENSION_NEEDED)))):void u(b,c,d)},obtainScreenFromExtension:function(b,c,d){var e=this;if(m)y(this.options,c,d);else{n&&alert("Jitsi Desktop Streamer requires update. Changes will take effect after next Chrome restart.");try{chrome.webstore.install(v(this.options),function(a){k.log("Extension installed successfully",a),m=!0,B(e.options,200,10).then(function(){y(e.options,c,d)}).catch(function(){e.handleExtensionInstallationError(b,c,d)})},this.handleExtensionInstallationError.bind(this,b,c,d))}catch(a){this.handleExtensionInstallationError(b,c,d,a)}}},handleExtensionInstallationError:function(b,c,d,f){var h=v(this.options);if(r===f&&b.interval>0&&"function"==typeof b.checkAgain&&"function"==typeof b.listener)return b.listener("waitingForExtension",h),void this.checkForChromeExtensionOnInterval(b,c,d,f);var i="Failed to install the extension from "+h;k.log(i,f),d(new e.default(g.CHROME_EXTENSION_INSTALLATION_ERROR,i))},checkForChromeExtensionOnInterval:function(b,c,d){var f=this;return b.checkAgain()===!1?void d(new e.default(g.CHROME_EXTENSION_INSTALLATION_ERROR)):void B(this.options,b.interval,1).then(function(){m=!0,b.listener("extensionFound"),f.obtainScreenFromExtension(b,c,d)}).catch(function(){f.checkForChromeExtensionOnInterval(b,c,d)})}};a.exports=t}).call(b,"modules/RTC/ScreenObtainer.js")},function(a,b,c){var d,d;(function(b){var e=c(9).getLogger(b),f=f||{};a.exports=f,f.options=f.options||{},f.VERSION="0.14.0",f.onwebrtcready=f.onwebrtcready||function(a){},f._onwebrtcreadies=[],f.webRTCReady=function(a){if("function"!=typeof a)throw new Error("Callback provided is not a function");!0===f.onwebrtcreadyDone?a(null!==f.WebRTCPlugin.plugin):f._onwebrtcreadies.push(a)},f.WebRTCPlugin=f.WebRTCPlugin||{},f.WebRTCPlugin.pluginInfo=f.WebRTCPlugin.pluginInfo||{prefix:"Tem",plugName:"TemWebRTCPlugin",pluginId:"plugin0",type:"application/x-temwebrtcplugin",onload:"__TemWebRTCReady0",portalLink:"http://skylink.io/plugin/",downloadLink:null,companyName:"Temasys",downloadLinks:{mac:"http://bit.ly/webrtcpluginpkg",win:"http://bit.ly/webrtcpluginmsi"}},"undefined"!=typeof f.WebRTCPlugin.pluginInfo.downloadLinks&&null!==f.WebRTCPlugin.pluginInfo.downloadLinks&&(navigator.platform.match(/^Mac/i)?f.WebRTCPlugin.pluginInfo.downloadLink=f.WebRTCPlugin.pluginInfo.downloadLinks.mac:navigator.platform.match(/^Win/i)&&(f.WebRTCPlugin.pluginInfo.downloadLink=f.WebRTCPlugin.pluginInfo.downloadLinks.win)),f.WebRTCPlugin.TAGS={NONE:"none",AUDIO:"audio",VIDEO:"video"},f.WebRTCPlugin.pageId=Math.random().toString(36).slice(2),f.WebRTCPlugin.plugin=null,f.WebRTCPlugin.setLogLevel=null,f.WebRTCPlugin.defineWebRTCInterface=null,f.WebRTCPlugin.isPluginInstalled=null,f.WebRTCPlugin.pluginInjectionInterval=null,f.WebRTCPlugin.injectPlugin=null,f.WebRTCPlugin.PLUGIN_STATES={NONE:0,INITIALIZING:1,INJECTING:2,INJECTED:3,READY:4},f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.NONE,f.onwebrtcreadyDone=!1,f.WebRTCPlugin.PLUGIN_LOG_LEVELS={NONE:"NONE",ERROR:"ERROR",WARNING:"WARNING",INFO:"INFO",VERBOSE:"VERBOSE",SENSITIVE:"SENSITIVE"},f.WebRTCPlugin.WaitForPluginReady=null,f.WebRTCPlugin.callWhenPluginReady=null,__TemWebRTCReady0=function(){if("complete"===document.readyState)f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.READY,f.maybeThroughWebRTCReady();else var a=setInterval(function(){"complete"===document.readyState&&(clearInterval(a),f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.READY,f.maybeThroughWebRTCReady())},100)},f.maybeThroughWebRTCReady=function(){f.onwebrtcreadyDone||(f.onwebrtcreadyDone=!0,f._onwebrtcreadies.length?f._onwebrtcreadies.forEach(function(a){"function"==typeof a&&a(null!==f.WebRTCPlugin.plugin)}):"function"==typeof f.onwebrtcready&&f.onwebrtcready(null!==f.WebRTCPlugin.plugin))},f.TEXT={PLUGIN:{REQUIRE_INSTALLATION:"This website requires you to install a WebRTC-enabling plugin to work on this browser.",NOT_SUPPORTED:"Your browser does not support WebRTC.",BUTTON:"Install Now"},REFRESH:{REQUIRE_REFRESH:"Please refresh page",BUTTON:"Refresh Page"}},f._iceConnectionStates={starting:"starting",checking:"checking",connected:"connected",completed:"connected",done:"completed",disconnected:"disconnected",failed:"failed",closed:"closed"},f._iceConnectionFiredStates=[],f.isDefined=null,f.parseWebrtcDetectedBrowser=function(){var a=null;if(window.opr&&opr.addons||window.opera||navigator.userAgent.indexOf(" OPR/")>=0)a=navigator.userAgent.match(/OPR\/(\d+)/i)||[],webrtcDetectedBrowser="opera",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=26,webrtcDetectedType="webkit",webrtcDetectedDCSupport="SCTP";else if(navigator.userAgent.match(/Bowser\/[0-9.]*/g)){a=navigator.userAgent.match(/Bowser\/[0-9.]*/g)||[];var b=parseInt((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./i)||[])[2]||"0",10);webrtcDetectedBrowser="bowser",webrtcDetectedVersion=parseFloat((a[0]||"0/0").split("/")[1],10),webrtcMinimumVersion=0,webrtcDetectedType="webkit",webrtcDetectedDCSupport=b>30?"SCTP":"RTP"}else if(navigator.userAgent.indexOf("OPiOS")>0)a=navigator.userAgent.match(/OPiOS\/([0-9]+)\./),webrtcDetectedBrowser="opera",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=0,webrtcDetectedType=null,webrtcDetectedDCSupport=null;else if(navigator.userAgent.indexOf("CriOS")>0)a=navigator.userAgent.match(/CriOS\/([0-9]+)\./)||[],webrtcDetectedBrowser="chrome",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=0,webrtcDetectedType=null,webrtcDetectedDCSupport=null;else if(navigator.userAgent.indexOf("FxiOS")>0)a=navigator.userAgent.match(/FxiOS\/([0-9]+)\./)||[],webrtcDetectedBrowser="firefox",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=0,webrtcDetectedType=null,webrtcDetectedDCSupport=null;else if(document.documentMode)a=/\brv[ :]+(\d+)/g.exec(navigator.userAgent)||[],webrtcDetectedBrowser="IE",webrtcDetectedVersion=parseInt(a[1],10),webrtcMinimumVersion=9,webrtcDetectedType="plugin",webrtcDetectedDCSupport="SCTP",webrtcDetectedVersion||(a=/\bMSIE[ :]+(\d+)/g.exec(navigator.userAgent)||[],webrtcDetectedVersion=parseInt(a[1]||"0",10));else if(window.StyleMedia||navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))a=navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)||[],webrtcDetectedBrowser="edge",webrtcDetectedVersion=parseFloat((a[0]||"0/0").split("/")[1],10),webrtcMinimumVersion=13.10547,webrtcDetectedType="ms",webrtcDetectedDCSupport=null;else if("undefined"!=typeof InstallTrigger||navigator.userAgent.indexOf("irefox")>0)a=navigator.userAgent.match(/Firefox\/([0-9]+)\./)||[],webrtcDetectedBrowser="firefox",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=31,webrtcDetectedType="moz",webrtcDetectedDCSupport="SCTP";else if(window.chrome&&window.chrome.webstore||navigator.userAgent.indexOf("Chrom")>0)a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./i)||[],webrtcDetectedBrowser="chrome",webrtcDetectedVersion=parseInt(a[2]||"0",10),webrtcMinimumVersion=38,webrtcDetectedType="webkit",webrtcDetectedDCSupport=webrtcDetectedVersion>30?"SCTP":"RTP";else if(/^((?!chrome|android).)*safari/i.test(navigator.userAgent)){a=navigator.userAgent.match(/version\/(\d+)/i)||[];var c=navigator.userAgent.match(/(iPhone|iPad)/gi)||[];webrtcDetectedBrowser="safari",webrtcDetectedVersion=parseInt(a[1]||"0",10),webrtcMinimumVersion=7,webrtcDetectedType=0===c.length?"plugin":null,webrtcDetectedDCSupport=0===c.length?"SCTP":null}window.webrtcDetectedBrowser=webrtcDetectedBrowser,window.webrtcDetectedVersion=webrtcDetectedVersion,window.webrtcMinimumVersion=webrtcMinimumVersion,window.webrtcDetectedType=webrtcDetectedType,window.webrtcDetectedDCSupport=webrtcDetectedDCSupport},f.addEvent=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):a[b]=c},f.renderNotificationBar=function(a,b,c,d,e){if("complete"===document.readyState){var g=window,h=document.createElement("iframe");h.name="adapterjs-alert",h.style.position="fixed",h.style.top="-41px",h.style.left=0,h.style.right=0,h.style.width="100%",h.style.height="40px",h.style.backgroundColor="#ffffe1",h.style.border="none",h.style.borderBottom="1px solid #888888",h.style.zIndex="9999999","string"==typeof h.style.webkitTransition?h.style.webkitTransition="all .5s ease-out":"string"==typeof h.style.transition&&(h.style.transition="all .5s ease-out"),document.body.appendChild(h);var i=h.contentWindow?h.contentWindow:h.contentDocument.document?h.contentDocument.document:h.contentDocument;i.document.open(),i.document.write('<span style="display: inline-block; font-family: Helvetica, Arial,sans-serif; font-size: .9rem; padding: 4px; vertical-align: middle; cursor: default;">'+a+"</span>"),b&&c?(i.document.write('<button id="okay">'+b+'</button><button id="cancel">Cancel</button>'),i.document.close(),f.addEvent(i.document.getElementById("okay"),"click",function(a){e&&f.renderNotificationBar(f.TEXT.EXTENSION?f.TEXT.EXTENSION.REQUIRE_REFRESH:f.TEXT.REFRESH.REQUIRE_REFRESH,f.TEXT.REFRESH.BUTTON,"javascript:location.reload()"),window.open(c,d?"_blank":"_top"),a.preventDefault();try{a.cancelBubble=!0}catch(a){}var b=setInterval(function(){isIE||navigator.plugins.refresh(!1),f.WebRTCPlugin.isPluginInstalled(f.WebRTCPlugin.pluginInfo.prefix,f.WebRTCPlugin.pluginInfo.plugName,f.WebRTCPlugin.pluginInfo.type,function(){clearInterval(b),f.WebRTCPlugin.defineWebRTCInterface()},function(){})},500)}),f.addEvent(i.document.getElementById("cancel"),"click",function(a){g.document.body.removeChild(h)})):i.document.close(),setTimeout(function(){"string"==typeof h.style.webkitTransform?h.style.webkitTransform="translateY(40px)":"string"==typeof h.style.transform?h.style.transform="translateY(40px)":h.style.top="0px"},300)}},webrtcDetectedType=null,checkMediaDataChannelSettings=function(a,b,c,d){if("function"==typeof c){var f=!0,g="firefox"===webrtcDetectedBrowser,h="moz"===webrtcDetectedType&&webrtcDetectedVersion>30,i="firefox"===a;if(g&&i||h)try{delete d.mandatory.MozDontOfferDataChannel}catch(a){e.error("Failed deleting MozDontOfferDataChannel"),e.error(a)}else g&&!i&&(d.mandatory.MozDontOfferDataChannel=!0);if(!g)for(var k in d.mandatory)d.mandatory.hasOwnProperty(k)&&k.indexOf("Moz")!==-1&&delete d.mandatory[k];!g||i||h||(f=!1),c(f,d)}},checkIceConnectionState=function(a,b,c){return"function"!=typeof c?void e.warn("No callback specified in checkIceConnectionState. Aborted."):(a=a?a:"peer",f._iceConnectionFiredStates[a]&&b!==f._iceConnectionStates.disconnected&&b!==f._iceConnectionStates.failed&&b!==f._iceConnectionStates.closed||(f._iceConnectionFiredStates[a]=[]),b=f._iceConnectionStates[b],void(f._iceConnectionFiredStates[a].indexOf(b)<0&&(f._iceConnectionFiredStates[a].push(b),b===f._iceConnectionStates.connected&&setTimeout(function(){f._iceConnectionFiredStates[a].push(f._iceConnectionStates.done),c(f._iceConnectionStates.done)},1e3),c(b))))},createIceServer=null,createIceServers=null,RTCPeerConnection=null,RTCSessionDescription="function"==typeof RTCSessionDescription?RTCSessionDescription:null,RTCIceCandidate="function"==typeof RTCIceCandidate?RTCIceCandidate:null,getUserMedia=null,attachMediaStream=null,reattachMediaStream=null,webrtcDetectedBrowser=null,webrtcDetectedVersion=null,webrtcMinimumVersion=null,!(navigator.mozGetUserMedia||navigator.webkitGetUserMedia||navigator.mediaDevices&&navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))||0===(navigator.userAgent.match(/android/gi)||[]).length&&0===(navigator.userAgent.match(/chrome/gi)||[]).length&&navigator.userAgent.indexOf("Safari/")>0?("object"==typeof e&&"function"==typeof e.log||(e={}||e,e.log=function(a){},e.info=function(a){},e.error=function(a){},e.dir=function(a){},e.exception=function(a){},e.trace=function(a){},e.warn=function(a){},e.count=function(a){},e.debug=function(a){},e.count=function(a){},e.time=function(a){},e.timeEnd=function(a){},e.group=function(a){},e.groupCollapsed=function(a){},e.groupEnd=function(a){}),f.parseWebrtcDetectedBrowser(),isIE="IE"===webrtcDetectedBrowser,f.WebRTCPlugin.WaitForPluginReady=function(){for(;f.WebRTCPlugin.pluginState!==f.WebRTCPlugin.PLUGIN_STATES.READY;);},f.WebRTCPlugin.callWhenPluginReady=function(a){if(f.WebRTCPlugin.pluginState===f.WebRTCPlugin.PLUGIN_STATES.READY)a();else var b=setInterval(function(){
f.WebRTCPlugin.pluginState===f.WebRTCPlugin.PLUGIN_STATES.READY&&(clearInterval(b),a())},100)},f.WebRTCPlugin.setLogLevel=function(a){f.WebRTCPlugin.callWhenPluginReady(function(){f.WebRTCPlugin.plugin.setLogLevel(a)})},f.WebRTCPlugin.injectPlugin=function(){if("complete"===document.readyState&&f.WebRTCPlugin.pluginState===f.WebRTCPlugin.PLUGIN_STATES.INITIALIZING){if(f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.INJECTING,"IE"===webrtcDetectedBrowser&&webrtcDetectedVersion<=10){var a=document.createDocumentFragment();for(f.WebRTCPlugin.plugin=document.createElement("div"),f.WebRTCPlugin.plugin.innerHTML='<object id="'+f.WebRTCPlugin.pluginInfo.pluginId+'" type="'+f.WebRTCPlugin.pluginInfo.type+'" width="1" height="1"><param name="pluginId" value="'+f.WebRTCPlugin.pluginInfo.pluginId+'" /> <param name="windowless" value="false" /> <param name="pageId" value="'+f.WebRTCPlugin.pageId+'" /> <param name="onload" value="'+f.WebRTCPlugin.pluginInfo.onload+'" /><param name="tag" value="'+f.WebRTCPlugin.TAGS.NONE+'" />'+(f.options.getAllCams?'<param name="forceGetAllCams" value="True" />':"")+"</object>";f.WebRTCPlugin.plugin.firstChild;)a.appendChild(f.WebRTCPlugin.plugin.firstChild);document.body.appendChild(a),f.WebRTCPlugin.plugin=document.getElementById(f.WebRTCPlugin.pluginInfo.pluginId)}else f.WebRTCPlugin.plugin=document.createElement("object"),f.WebRTCPlugin.plugin.id=f.WebRTCPlugin.pluginInfo.pluginId,isIE?(f.WebRTCPlugin.plugin.width="1px",f.WebRTCPlugin.plugin.height="1px"):(f.WebRTCPlugin.plugin.width="0px",f.WebRTCPlugin.plugin.height="0px"),f.WebRTCPlugin.plugin.type=f.WebRTCPlugin.pluginInfo.type,f.WebRTCPlugin.plugin.innerHTML='<param name="onload" value="'+f.WebRTCPlugin.pluginInfo.onload+'"><param name="pluginId" value="'+f.WebRTCPlugin.pluginInfo.pluginId+'"><param name="windowless" value="false" /> '+(f.options.getAllCams?'<param name="forceGetAllCams" value="True" />':"")+'<param name="pageId" value="'+f.WebRTCPlugin.pageId+'"><param name="tag" value="'+f.WebRTCPlugin.TAGS.NONE+'" />',document.body.appendChild(f.WebRTCPlugin.plugin);f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.INJECTED}},f.WebRTCPlugin.isPluginInstalled=function(a,b,c,d,e){if(isIE){try{new ActiveXObject(a+"."+b)}catch(a){return void e()}d()}else{for(var f=navigator.mimeTypes,g=0;g<f.length;g++)if(f[g].type.indexOf(c)>=0)return void d();e()}},f.WebRTCPlugin.defineWebRTCInterface=function(){if(f.WebRTCPlugin.pluginState===f.WebRTCPlugin.PLUGIN_STATES.READY)return void e.error("AdapterJS - WebRTC interface has already been defined");f.WebRTCPlugin.pluginState=f.WebRTCPlugin.PLUGIN_STATES.INITIALIZING,f.isDefined=function(a){return null!==a&&void 0!==a},createIceServer=function(a,b,c){var d=null,e=a.split(":");return 0===e[0].indexOf("stun")?d={url:a,hasCredentials:!1}:0===e[0].indexOf("turn")&&(d={url:a,hasCredentials:!0,credential:c,username:b}),d},createIceServers=function(a,b,c){for(var d=[],e=0;e<a.length;++e)d.push(createIceServer(a[e],b,c));return d},RTCSessionDescription=function(a){return f.WebRTCPlugin.WaitForPluginReady(),f.WebRTCPlugin.plugin.ConstructSessionDescription(a.type,a.sdp)},RTCPeerConnection=function(a,b){if(void 0!==a&&null!==a&&!Array.isArray(a.iceServers))throw new Error("Failed to construct 'RTCPeerConnection': Malformed RTCConfiguration");if("undefined"!=typeof b&&null!==b){var c=!1;if(c|="object"!=typeof b,c|=b.hasOwnProperty("mandatory")&&void 0!==b.mandatory&&null!==b.mandatory&&b.mandatory.constructor!==Object,c|=b.hasOwnProperty("optional")&&void 0!==b.optional&&null!==b.optional&&!Array.isArray(b.optional))throw new Error("Failed to construct 'RTCPeerConnection': Malformed constraints object")}f.WebRTCPlugin.WaitForPluginReady();var d=null;if(a&&Array.isArray(a.iceServers)){d=a.iceServers;for(var e=0;e<d.length;e++)d[e].urls&&!d[e].url&&(d[e].url=d[e].urls),d[e].hasCredentials=f.isDefined(d[e].username)&&f.isDefined(d[e].credential)}if(f.WebRTCPlugin.plugin.PEER_CONNECTION_VERSION&&f.WebRTCPlugin.plugin.PEER_CONNECTION_VERSION>1)return d&&(a.iceServers=d),f.WebRTCPlugin.plugin.PeerConnection(a);var g=b&&b.mandatory?b.mandatory:null,h=b&&b.optional?b.optional:null;return f.WebRTCPlugin.plugin.PeerConnection(f.WebRTCPlugin.pageId,d,g,h)},MediaStreamTrack=function(){},MediaStreamTrack.getSources=function(a){f.WebRTCPlugin.callWhenPluginReady(function(){f.WebRTCPlugin.plugin.GetSources(a)})};var a=function(a){if("object"!=typeof a||a.mandatory||a.optional)return a;var b={};return Object.keys(a).forEach(function(c){if("require"!==c&&"advanced"!==c&&"mediaSource"!==c){var d="object"==typeof a[c]?a[c]:{ideal:a[c]};void 0!==d.exact&&"number"==typeof d.exact&&(d.min=d.max=d.exact);var e=function(a,b){return a?a+b.charAt(0).toUpperCase()+b.slice(1):"deviceId"===b?"sourceId":b};if(void 0!==d.ideal){b.optional=b.optional||[];var f={};"number"==typeof d.ideal?(f[e("min",c)]=d.ideal,b.optional.push(f),f={},f[e("max",c)]=d.ideal,b.optional.push(f)):(f[e("",c)]=d.ideal,b.optional.push(f))}void 0!==d.exact&&"number"!=typeof d.exact?(b.mandatory=b.mandatory||{},b.mandatory[e("",c)]=d.exact):["min","max"].forEach(function(a){void 0!==d[a]&&(b.mandatory=b.mandatory||{},b.mandatory[e(a,c)]=d[a])})}}),a.advanced&&(b.optional=(b.optional||[]).concat(a.advanced)),b};getUserMedia=function(b,c,d){var e={};e.audio=!!b.audio&&a(b.audio),e.video=!!b.video&&a(b.video),f.WebRTCPlugin.callWhenPluginReady(function(){f.WebRTCPlugin.plugin.getUserMedia(e,c,d)})},window.navigator.getUserMedia=getUserMedia,navigator.mediaDevices||"undefined"==typeof Promise||(requestUserMedia=function(a){return new Promise(function(b,c){getUserMedia(a,b,c)})},navigator.mediaDevices={getUserMedia:requestUserMedia,enumerateDevices:function(){return new Promise(function(a){var b={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(c){a(c.map(function(a){return{label:a.label,kind:b[a.kind],id:a.id,deviceId:a.id,groupId:""}}))})})}}),attachMediaStream=function(a,b){if(a&&a.parentNode){var c;null===b?c="":("undefined"!=typeof b.enableSoundTracks&&b.enableSoundTracks(!0),c=b.id);var d=0===a.id.length?Math.random().toString(36).slice(2):a.id,e=a.nodeName.toLowerCase();if("object"!==e){var g;switch(e){case"audio":g=f.WebRTCPlugin.TAGS.AUDIO;break;case"video":g=f.WebRTCPlugin.TAGS.VIDEO;break;default:g=f.WebRTCPlugin.TAGS.NONE}var h=document.createDocumentFragment(),i=document.createElement("div"),j="";for(a.className?j='class="'+a.className+'" ':a.attributes&&a.attributes.class&&(j='class="'+a.attributes.class.value+'" '),i.innerHTML='<object id="'+d+'" '+j+'type="'+f.WebRTCPlugin.pluginInfo.type+'"><param name="pluginId" value="'+d+'" /> <param name="pageId" value="'+f.WebRTCPlugin.pageId+'" /> <param name="windowless" value="true" /> <param name="streamId" value="'+c+'" /> <param name="tag" value="'+g+'" /> </object>';i.firstChild;)h.appendChild(i.firstChild);var k="",l="";a.clientWidth||a.clientHeight?(l=a.clientWidth,k=a.clientHeight):(a.width||a.height)&&(l=a.width,k=a.height),a.parentNode.insertBefore(h,a),h=document.getElementById(d),h.width=l,h.height=k,a.parentNode.removeChild(a)}else{for(var m=a.children,n=0;n!==m.length;++n)if("streamId"===m[n].name){m[n].value=c;break}a.setStreamId(c)}var o=document.getElementById(d);return f.forwardEventHandlers(o,a,Object.getPrototypeOf(a)),o}},reattachMediaStream=function(a,b){for(var c=null,d=b.children,g=0;g!==d.length;++g)if("streamId"===d[g].name){f.WebRTCPlugin.WaitForPluginReady(),c=f.WebRTCPlugin.plugin.getStreamWithId(f.WebRTCPlugin.pageId,d[g].value);break}return null!==c?attachMediaStream(a,c):void e.log("Could not find the stream associated with this element")},window.attachMediaStream=attachMediaStream,window.reattachMediaStream=reattachMediaStream,window.getUserMedia=getUserMedia,f.attachMediaStream=attachMediaStream,f.reattachMediaStream=reattachMediaStream,f.getUserMedia=getUserMedia,f.forwardEventHandlers=function(a,b,c){properties=Object.getOwnPropertyNames(c);for(var d in properties)d&&(propName=properties[d],"function"==typeof propName.slice&&"on"===propName.slice(0,2)&&"function"==typeof b[propName]&&f.addEvent(a,propName.slice(2),b[propName]));var e=Object.getPrototypeOf(c);e&&f.forwardEventHandlers(a,b,e)},RTCIceCandidate=function(a){return a.sdpMid||(a.sdpMid=""),f.WebRTCPlugin.WaitForPluginReady(),f.WebRTCPlugin.plugin.ConstructIceCandidate(a.sdpMid,a.sdpMLineIndex,a.candidate)},f.addEvent(document,"readystatechange",f.WebRTCPlugin.injectPlugin),f.WebRTCPlugin.injectPlugin()},f.WebRTCPlugin.pluginNeededButNotInstalledCb=f.WebRTCPlugin.pluginNeededButNotInstalledCb||function(){f.addEvent(document,"readystatechange",f.WebRTCPlugin.pluginNeededButNotInstalledCbPriv),f.WebRTCPlugin.pluginNeededButNotInstalledCbPriv()},f.WebRTCPlugin.pluginNeededButNotInstalledCbPriv=function(){if(!f.options.hidePluginInstallPrompt){var a=f.WebRTCPlugin.pluginInfo.downloadLink;if(a){var b;b=f.WebRTCPlugin.pluginInfo.portalLink?'This website requires you to install the <a href="'+f.WebRTCPlugin.pluginInfo.portalLink+'" target="_blank">'+f.WebRTCPlugin.pluginInfo.companyName+" WebRTC Plugin</a> to work on this browser.":f.TEXT.PLUGIN.REQUIRE_INSTALLATION,f.renderNotificationBar(b,f.TEXT.PLUGIN.BUTTON,a)}else f.renderNotificationBar(f.TEXT.PLUGIN.NOT_SUPPORTED)}},f.WebRTCPlugin.isPluginInstalled(f.WebRTCPlugin.pluginInfo.prefix,f.WebRTCPlugin.pluginInfo.plugName,f.WebRTCPlugin.pluginInfo.type,f.WebRTCPlugin.defineWebRTCInterface,f.WebRTCPlugin.pluginNeededButNotInstalledCb)):(!function(b){a.exports=b()}(function(){return function a(b,c,e){function f(h,i){if(!c[h]){if(!b[h]){var j="function"==typeof d&&d;if(!i&&j)return d(h,!0);if(g)return g(h,!0);var k=new Error("Cannot find module '"+h+"'");throw k.code="MODULE_NOT_FOUND",k}var l=c[h]={exports:{}};b[h][0].call(l.exports,function(a){var c=b[h][1][a];return f(c?c:a)},l,l.exports,a,b,c,e)}return c[h].exports}for(var g="function"==typeof d&&d,h=0;h<e.length;h++)f(e[h]);return f}({1:[function(a,b,c){"use strict";var d={};d.generateIdentifier=function(){return Math.random().toString(36).substr(2,10)},d.localCName=d.generateIdentifier(),d.splitLines=function(a){return a.trim().split("\n").map(function(a){return a.trim()})},d.splitSections=function(a){var b=a.split("\nm=");return b.map(function(a,b){return(b>0?"m="+a:a).trim()+"\r\n"})},d.matchPrefix=function(a,b){return d.splitLines(a).filter(function(a){return 0===a.indexOf(b)})},d.parseCandidate=function(a){var b;b=0===a.indexOf("a=candidate:")?a.substring(12).split(" "):a.substring(10).split(" ");for(var c={foundation:b[0],component:b[1],protocol:b[2].toLowerCase(),priority:parseInt(b[3],10),ip:b[4],port:parseInt(b[5],10),type:b[7]},d=8;d<b.length;d+=2)switch(b[d]){case"raddr":c.relatedAddress=b[d+1];break;case"rport":c.relatedPort=parseInt(b[d+1],10);break;case"tcptype":c.tcpType=b[d+1]}return c},d.writeCandidate=function(a){var b=[];b.push(a.foundation),b.push(a.component),b.push(a.protocol.toUpperCase()),b.push(a.priority),b.push(a.ip),b.push(a.port);var c=a.type;return b.push("typ"),b.push(c),"host"!==c&&a.relatedAddress&&a.relatedPort&&(b.push("raddr"),b.push(a.relatedAddress),b.push("rport"),b.push(a.relatedPort)),a.tcpType&&"tcp"===a.protocol.toLowerCase()&&(b.push("tcptype"),b.push(a.tcpType)),"candidate:"+b.join(" ")},d.parseRtpMap=function(a){var b=a.substr(9).split(" "),c={payloadType:parseInt(b.shift(),10)};return b=b[0].split("/"),c.name=b[0],c.clockRate=parseInt(b[1],10),c.numChannels=3===b.length?parseInt(b[2],10):1,c},d.writeRtpMap=function(a){var b=a.payloadType;return void 0!==a.preferredPayloadType&&(b=a.preferredPayloadType),"a=rtpmap:"+b+" "+a.name+"/"+a.clockRate+(1!==a.numChannels?"/"+a.numChannels:"")+"\r\n"},d.parseExtmap=function(a){var b=a.substr(9).split(" ");return{id:parseInt(b[0],10),uri:b[1]}},d.writeExtmap=function(a){return"a=extmap:"+(a.id||a.preferredId)+" "+a.uri+"\r\n"},d.parseFmtp=function(a){for(var c,b={},d=a.substr(a.indexOf(" ")+1).split(";"),e=0;e<d.length;e++)c=d[e].trim().split("="),b[c[0].trim()]=c[1];return b},d.writeFmtp=function(a){var b="",c=a.payloadType;if(void 0!==a.preferredPayloadType&&(c=a.preferredPayloadType),a.parameters&&Object.keys(a.parameters).length){var d=[];Object.keys(a.parameters).forEach(function(b){d.push(b+"="+a.parameters[b])}),b+="a=fmtp:"+c+" "+d.join(";")+"\r\n"}return b},d.parseRtcpFb=function(a){var b=a.substr(a.indexOf(" ")+1).split(" ");return{type:b.shift(),parameter:b.join(" ")}},d.writeRtcpFb=function(a){var b="",c=a.payloadType;return void 0!==a.preferredPayloadType&&(c=a.preferredPayloadType),a.rtcpFeedback&&a.rtcpFeedback.length&&a.rtcpFeedback.forEach(function(a){b+="a=rtcp-fb:"+c+" "+a.type+(a.parameter&&a.parameter.length?" "+a.parameter:"")+"\r\n"}),b},d.parseSsrcMedia=function(a){var b=a.indexOf(" "),c={ssrc:parseInt(a.substr(7,b-7),10)},d=a.indexOf(":",b);return d>-1?(c.attribute=a.substr(b+1,d-b-1),c.value=a.substr(d+1)):c.attribute=a.substr(b+1),c},d.getDtlsParameters=function(a,b){var c=d.splitLines(a);c=c.concat(d.splitLines(b));var e=c.filter(function(a){return 0===a.indexOf("a=fingerprint:")})[0].substr(14),f={role:"auto",fingerprints:[{algorithm:e.split(" ")[0],value:e.split(" ")[1]}]};return f},d.writeDtlsParameters=function(a,b){var c="a=setup:"+b+"\r\n";return a.fingerprints.forEach(function(a){c+="a=fingerprint:"+a.algorithm+" "+a.value+"\r\n"}),c},d.getIceParameters=function(a,b){var c=d.splitLines(a);c=c.concat(d.splitLines(b));var e={usernameFragment:c.filter(function(a){return 0===a.indexOf("a=ice-ufrag:")})[0].substr(12),password:c.filter(function(a){return 0===a.indexOf("a=ice-pwd:")})[0].substr(10)};return e},d.writeIceParameters=function(a){return"a=ice-ufrag:"+a.usernameFragment+"\r\na=ice-pwd:"+a.password+"\r\n"},d.parseRtpParameters=function(a){for(var b={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},c=d.splitLines(a),e=c[0].split(" "),f=3;f<e.length;f++){var g=e[f],h=d.matchPrefix(a,"a=rtpmap:"+g+" ")[0];if(h){var i=d.parseRtpMap(h),j=d.matchPrefix(a,"a=fmtp:"+g+" ");switch(i.parameters=j.length?d.parseFmtp(j[0]):{},i.rtcpFeedback=d.matchPrefix(a,"a=rtcp-fb:"+g+" ").map(d.parseRtcpFb),b.codecs.push(i),i.name.toUpperCase()){case"RED":case"ULPFEC":b.fecMechanisms.push(i.name.toUpperCase())}}}return d.matchPrefix(a,"a=extmap:").forEach(function(a){b.headerExtensions.push(d.parseExtmap(a))}),b},d.writeRtpDescription=function(a,b){var c="";return c+="m="+a+" ",c+=b.codecs.length>0?"9":"0",c+=" UDP/TLS/RTP/SAVPF ",c+=b.codecs.map(function(a){return void 0!==a.preferredPayloadType?a.preferredPayloadType:a.payloadType}).join(" ")+"\r\n",c+="c=IN IP4 0.0.0.0\r\n",c+="a=rtcp:9 IN IP4 0.0.0.0\r\n",b.codecs.forEach(function(a){c+=d.writeRtpMap(a),c+=d.writeFmtp(a),c+=d.writeRtcpFb(a)}),c+="a=rtcp-mux\r\n"},d.parseRtpEncodingParameters=function(a){var i,b=[],c=d.parseRtpParameters(a),e=c.fecMechanisms.indexOf("RED")!==-1,f=c.fecMechanisms.indexOf("ULPFEC")!==-1,g=d.matchPrefix(a,"a=ssrc:").map(function(a){return d.parseSsrcMedia(a)}).filter(function(a){return"cname"===a.attribute}),h=g.length>0&&g[0].ssrc,j=d.matchPrefix(a,"a=ssrc-group:FID").map(function(a){var b=a.split(" ");return b.shift(),b.map(function(a){return parseInt(a,10)})});j.length>0&&j[0].length>1&&j[0][0]===h&&(i=j[0][1]),c.codecs.forEach(function(a){if("RTX"===a.name.toUpperCase()&&a.parameters.apt){var c={ssrc:h,codecPayloadType:parseInt(a.parameters.apt,10),rtx:{payloadType:a.payloadType,ssrc:i}};b.push(c),e&&(c=JSON.parse(JSON.stringify(c)),c.fec={ssrc:i,mechanism:f?"red+ulpfec":"red"},b.push(c))}}),0===b.length&&h&&b.push({ssrc:h});var k=d.matchPrefix(a,"b=");return k.length&&(0===k[0].indexOf("b=TIAS:")?k=parseInt(k[0].substr(7),10):0===k[0].indexOf("b=AS:")&&(k=parseInt(k[0].substr(5),10)),b.forEach(function(a){a.maxBitrate=k})),b},d.writeSessionBoilerplate=function(){return"v=0\r\no=thisisadapterortc 8169639915646943137 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},d.writeMediaSection=function(a,b,c,e){var f=d.writeRtpDescription(a.kind,b);if(f+=d.writeIceParameters(a.iceGatherer.getLocalParameters()),f+=d.writeDtlsParameters(a.dtlsTransport.getLocalParameters(),"offer"===c?"actpass":"active"),f+="a=mid:"+a.mid+"\r\n",f+=a.rtpSender&&a.rtpReceiver?"a=sendrecv\r\n":a.rtpSender?"a=sendonly\r\n":a.rtpReceiver?"a=recvonly\r\n":"a=inactive\r\n",a.rtpSender){var g="msid:"+e.id+" "+a.rtpSender.track.id+"\r\n";f+="a="+g,f+="a=ssrc:"+a.sendEncodingParameters[0].ssrc+" "+g}return f+="a=ssrc:"+a.sendEncodingParameters[0].ssrc+" cname:"+d.localCName+"\r\n"},d.getDirection=function(a,b){for(var c=d.splitLines(a),e=0;e<c.length;e++)switch(c[e]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return c[e].substr(2)}return b?d.getDirection(b):"sendrecv"},b.exports=d},{}],2:[function(a,b,c){"use strict";!function(){var c=a("./utils").log,d=a("./utils").browserDetails;b.exports.browserDetails=d,b.exports.extractVersion=a("./utils").extractVersion,b.exports.disableLog=a("./utils").disableLog;var e=a("./chrome/chrome_shim")||null,f=a("./edge/edge_shim")||null,g=a("./firefox/firefox_shim")||null,h=a("./safari/safari_shim")||null;switch(d.browser){case"opera":case"chrome":if(!e||!e.shimPeerConnection)return void c("Chrome shim is not included in this adapter release.");c("adapter.js shimming chrome."),b.exports.browserShim=e,e.shimGetUserMedia(),e.shimMediaStream(),e.shimSourceObject(),e.shimPeerConnection(),e.shimOnTrack();break;case"firefox":if(!g||!g.shimPeerConnection)return void c("Firefox shim is not included in this adapter release.");c("adapter.js shimming firefox."),b.exports.browserShim=g,g.shimGetUserMedia(),g.shimSourceObject(),g.shimPeerConnection(),g.shimOnTrack();break;case"edge":if(!f||!f.shimPeerConnection)return void c("MS edge shim is not included in this adapter release.");c("adapter.js shimming edge."),b.exports.browserShim=f,f.shimGetUserMedia(),f.shimPeerConnection();break;case"safari":if(!h)return void c("Safari shim is not included in this adapter release.");c("adapter.js shimming safari."),b.exports.browserShim=h,h.shimGetUserMedia();break;default:c("Unsupported browser!")}}()},{"./chrome/chrome_shim":3,"./edge/edge_shim":5,"./firefox/firefox_shim":7,"./safari/safari_shim":9,"./utils":10}],3:[function(a,b,c){"use strict";var d=a("../utils.js").log,e=a("../utils.js").browserDetails,f={shimMediaStream:function(){window.MediaStream=window.MediaStream||window.webkitMediaStream},shimOnTrack:function(){"object"!=typeof window||!window.RTCPeerConnection||"ontrack"in window.RTCPeerConnection.prototype||Object.defineProperty(window.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(a){var b=this;this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=a),this.addEventListener("addstream",this._ontrackpoly=function(a){a.stream.addEventListener("addtrack",function(c){var d=new Event("track");d.track=c.track,d.receiver={track:c.track},d.streams=[a.stream],b.dispatchEvent(d)}),a.stream.getTracks().forEach(function(b){var c=new Event("track");c.track=b,c.receiver={track:b},c.streams=[a.stream],this.dispatchEvent(c)}.bind(this))}.bind(this))}})},shimSourceObject:function(){"object"==typeof window&&(!window.HTMLMediaElement||"srcObject"in window.HTMLMediaElement.prototype||Object.defineProperty(window.HTMLMediaElement.prototype,"srcObject",{get:function(){return this._srcObject},set:function(a){var b=this;return this._srcObject=a,this.src&&URL.revokeObjectURL(this.src),a?(this.src=URL.createObjectURL(a),a.addEventListener("addtrack",function(){b.src&&URL.revokeObjectURL(b.src),b.src=URL.createObjectURL(a)}),void a.addEventListener("removetrack",function(){b.src&&URL.revokeObjectURL(b.src),b.src=URL.createObjectURL(a)})):void(this.src="")}}))},shimPeerConnection:function(){window.RTCPeerConnection=function(a,b){d("PeerConnection"),a&&a.iceTransportPolicy&&(a.iceTransports=a.iceTransportPolicy);var c=new webkitRTCPeerConnection(a,b),e=c.getStats.bind(c);return c.getStats=function(a,b,c){var d=this,f=arguments;if(arguments.length>0&&"function"==typeof a)return e(a,b);var g=function(a){var b={},c=a.result();return c.forEach(function(a){var c={id:a.id,timestamp:a.timestamp,type:a.type};a.names().forEach(function(b){c[b]=a.stat(b)}),b[c.id]=c}),b},h=function(a,b){var c=new Map(Object.keys(a).map(function(b){return[b,a[b]]}));return b=b||a,Object.keys(b).forEach(function(a){c[a]=b[a]}),c};if(arguments.length>=2){var i=function(a){f[1](h(g(a)))};return e.apply(this,[i,arguments[0]])}return new Promise(function(b,c){1===f.length&&"object"==typeof a?e.apply(d,[function(a){b(h(g(a)))},c]):e.apply(d,[function(a){b(h(g(a),a.result()))},c])}).then(b,c)},c},window.RTCPeerConnection.prototype=webkitRTCPeerConnection.prototype,webkitRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return webkitRTCPeerConnection.generateCertificate}}),["createOffer","createAnswer"].forEach(function(a){var b=webkitRTCPeerConnection.prototype[a];webkitRTCPeerConnection.prototype[a]=function(){var a=this;if(arguments.length<1||1===arguments.length&&"object"==typeof arguments[0]){var c=1===arguments.length?arguments[0]:void 0;return new Promise(function(d,e){b.apply(a,[d,e,c])})}return b.apply(this,arguments)}}),e.version<51&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(a){var b=webkitRTCPeerConnection.prototype[a];webkitRTCPeerConnection.prototype[a]=function(){var a=arguments,c=this,d=new Promise(function(d,e){b.apply(c,[a[0],d,e])});return a.length<2?d:d.then(function(){a[1].apply(null,[])},function(b){a.length>=3&&a[2].apply(null,[b])})}}),["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(a){var b=webkitRTCPeerConnection.prototype[a];webkitRTCPeerConnection.prototype[a]=function(){return arguments[0]=new("addIceCandidate"===a?RTCIceCandidate:RTCSessionDescription)(arguments[0]),b.apply(this,arguments)}});var a=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return null===arguments[0]?Promise.resolve():a.apply(this,arguments)}}};b.exports={shimMediaStream:f.shimMediaStream,shimOnTrack:f.shimOnTrack,shimSourceObject:f.shimSourceObject,shimPeerConnection:f.shimPeerConnection,shimGetUserMedia:a("./getusermedia")}},{"../utils.js":10,"./getusermedia":4}],4:[function(a,b,c){"use strict";var d=a("../utils.js").log;b.exports=function(){var a=function(a){if("object"!=typeof a||a.mandatory||a.optional)return a;var b={};return Object.keys(a).forEach(function(c){if("require"!==c&&"advanced"!==c&&"mediaSource"!==c){var d="object"==typeof a[c]?a[c]:{ideal:a[c]};void 0!==d.exact&&"number"==typeof d.exact&&(d.min=d.max=d.exact);var e=function(a,b){return a?a+b.charAt(0).toUpperCase()+b.slice(1):"deviceId"===b?"sourceId":b};if(void 0!==d.ideal){b.optional=b.optional||[];var f={};"number"==typeof d.ideal?(f[e("min",c)]=d.ideal,b.optional.push(f),f={},f[e("max",c)]=d.ideal,b.optional.push(f)):(f[e("",c)]=d.ideal,b.optional.push(f))}void 0!==d.exact&&"number"!=typeof d.exact?(b.mandatory=b.mandatory||{},b.mandatory[e("",c)]=d.exact):["min","max"].forEach(function(a){void 0!==d[a]&&(b.mandatory=b.mandatory||{},b.mandatory[e(a,c)]=d[a])})}}),a.advanced&&(b.optional=(b.optional||[]).concat(a.advanced)),b},b=function(b,c){if(b=JSON.parse(JSON.stringify(b)),b&&b.audio&&(b.audio=a(b.audio)),b&&"object"==typeof b.video){var e=b.video.facingMode;if(e=e&&("object"==typeof e?e:{ideal:e}),e&&("user"===e.exact||"environment"===e.exact||"user"===e.ideal||"environment"===e.ideal)&&(!navigator.mediaDevices.getSupportedConstraints||!navigator.mediaDevices.getSupportedConstraints().facingMode)&&(delete b.video.facingMode,"environment"===e.exact||"environment"===e.ideal))return navigator.mediaDevices.enumerateDevices().then(function(f){f=f.filter(function(a){return"videoinput"===a.kind});var g=f.find(function(a){return a.label.toLowerCase().indexOf("back")!==-1})||f.length&&f[f.length-1];return g&&(b.video.deviceId=e.exact?{exact:g.deviceId}:{ideal:g.deviceId}),b.video=a(b.video),d("chrome: "+JSON.stringify(b)),c(b)});b.video=a(b.video)}return d("chrome: "+JSON.stringify(b)),c(b)},c=function(a){return{name:{PermissionDeniedError:"NotAllowedError",ConstraintNotSatisfiedError:"OverconstrainedError"}[a.name]||a.name,message:a.message,constraint:a.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}},e=function(a,d,e){b(a,function(a){navigator.webkitGetUserMedia(a,d,function(a){e(c(a))})})};navigator.getUserMedia=e;var f=function(a){return new Promise(function(b,c){navigator.getUserMedia(a,b,c)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:f,enumerateDevices:function(){return new Promise(function(a){var b={audio:"audioinput",video:"videoinput"};return MediaStreamTrack.getSources(function(c){a(c.map(function(a){return{label:a.label,kind:b[a.kind],deviceId:a.id,groupId:""}}))})})}}),navigator.mediaDevices.getUserMedia){var g=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(a){return b(a,function(a){return g(a).catch(function(a){return Promise.reject(c(a))})})}}else navigator.mediaDevices.getUserMedia=function(a){return f(a)};"undefined"==typeof navigator.mediaDevices.addEventListener&&(navigator.mediaDevices.addEventListener=function(){d("Dummy mediaDevices.addEventListener called.")}),"undefined"==typeof navigator.mediaDevices.removeEventListener&&(navigator.mediaDevices.removeEventListener=function(){d("Dummy mediaDevices.removeEventListener called.")})}},{"../utils.js":10}],5:[function(a,b,c){"use strict";var d=a("sdp"),e=a("../utils").browserDetails,f={shimPeerConnection:function(){window.RTCIceGatherer&&(window.RTCIceCandidate||(window.RTCIceCandidate=function(a){return a}),window.RTCSessionDescription||(window.RTCSessionDescription=function(a){return a})),window.RTCPeerConnection=function(a){var b=this,c=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(a){b[a]=c[a].bind(c)}),this.onicecandidate=null,this.onaddstream=null,this.ontrack=null,this.onremovestream=null,this.onsignalingstatechange=null,this.oniceconnectionstatechange=null,this.onnegotiationneeded=null,this.ondatachannel=null,this.localStreams=[],this.remoteStreams=[],this.getLocalStreams=function(){return b.localStreams},this.getRemoteStreams=function(){return b.remoteStreams},this.localDescription=new RTCSessionDescription({type:"",sdp:""}),this.remoteDescription=new RTCSessionDescription({type:"",sdp:""}),this.signalingState="stable",this.iceConnectionState="new",this.iceGatheringState="new",this.iceOptions={gatherPolicy:"all",iceServers:[]},a&&a.iceTransportPolicy)switch(a.iceTransportPolicy){case"all":case"relay":this.iceOptions.gatherPolicy=a.iceTransportPolicy;break;case"none":throw new TypeError('iceTransportPolicy "none" not supported')}if(this.usingBundle=a&&"max-bundle"===a.bundlePolicy,a&&a.iceServers){var d=JSON.parse(JSON.stringify(a.iceServers));this.iceOptions.iceServers=d.filter(function(a){if(a&&a.urls){var b=a.urls;return"string"==typeof b&&(b=[b]),b=b.filter(function(a){return 0===a.indexOf("turn:")&&a.indexOf("transport=udp")!==-1&&a.indexOf("turn:[")===-1||0===a.indexOf("stun:")&&e.version>=14393})[0],!!b}return!1})}this.transceivers=[],this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype._emitBufferedCandidates=function(){var a=this,b=d.splitSections(a.localDescription.sdp);this._localIceCandidatesBuffer.forEach(function(c){var d=!c.candidate||0===Object.keys(c.candidate).length;if(d)for(var e=1;e<b.length;e++)b[e].indexOf("\r\na=end-of-candidates\r\n")===-1&&(b[e]+="a=end-of-candidates\r\n");else c.candidate.candidate.indexOf("typ endOfCandidates")===-1&&(b[c.candidate.sdpMLineIndex+1]+="a="+c.candidate.candidate+"\r\n");if(a.localDescription.sdp=b.join(""),a.dispatchEvent(c),null!==a.onicecandidate&&a.onicecandidate(c),!c.candidate&&"complete"!==a.iceGatheringState){var f=a.transceivers.every(function(a){return a.iceGatherer&&"completed"===a.iceGatherer.state});f&&(a.iceGatheringState="complete")}}),this._localIceCandidatesBuffer=[]},window.RTCPeerConnection.prototype.addStream=function(a){this.localStreams.push(a.clone()),this._maybeFireNegotiationNeeded()},window.RTCPeerConnection.prototype.removeStream=function(a){var b=this.localStreams.indexOf(a);b>-1&&(this.localStreams.splice(b,1),this._maybeFireNegotiationNeeded())},window.RTCPeerConnection.prototype.getSenders=function(){return this.transceivers.filter(function(a){return!!a.rtpSender}).map(function(a){return a.rtpSender})},window.RTCPeerConnection.prototype.getReceivers=function(){return this.transceivers.filter(function(a){return!!a.rtpReceiver}).map(function(a){return a.rtpReceiver})},window.RTCPeerConnection.prototype._getCommonCapabilities=function(a,b){var c={codecs:[],headerExtensions:[],fecMechanisms:[]};return a.codecs.forEach(function(a){for(var d=0;d<b.codecs.length;d++){var e=b.codecs[d];if(a.name.toLowerCase()===e.name.toLowerCase()&&a.clockRate===e.clockRate&&a.numChannels===e.numChannels){c.codecs.push(e),e.rtcpFeedback=e.rtcpFeedback.filter(function(b){for(var c=0;c<a.rtcpFeedback.length;c++)if(a.rtcpFeedback[c].type===b.type&&a.rtcpFeedback[c].parameter===b.parameter)return!0;return!1});break}}}),a.headerExtensions.forEach(function(a){for(var d=0;d<b.headerExtensions.length;d++){var e=b.headerExtensions[d];if(a.uri===e.uri){c.headerExtensions.push(e);break}}}),c},window.RTCPeerConnection.prototype._createIceAndDtlsTransports=function(a,b){var c=this,e=new RTCIceGatherer(c.iceOptions),f=new RTCIceTransport(e);e.onlocalcandidate=function(g){var h=new Event("icecandidate");h.candidate={sdpMid:a,sdpMLineIndex:b};var i=g.candidate,j=!i||0===Object.keys(i).length;j?(void 0===e.state&&(e.state="completed"),h.candidate.candidate="candidate:1 1 udp 1 0.0.0.0 9 typ endOfCandidates"):(i.component="RTCP"===f.component?2:1,h.candidate.candidate=d.writeCandidate(i));var k=d.splitSections(c.localDescription.sdp);h.candidate.candidate.indexOf("typ endOfCandidates")===-1?k[h.candidate.sdpMLineIndex+1]+="a="+h.candidate.candidate+"\r\n":k[h.candidate.sdpMLineIndex+1]+="a=end-of-candidates\r\n",c.localDescription.sdp=k.join("");var l=c.transceivers.every(function(a){return a.iceGatherer&&"completed"===a.iceGatherer.state});switch(c.iceGatheringState){case"new":c._localIceCandidatesBuffer.push(h),j&&l&&c._localIceCandidatesBuffer.push(new Event("icecandidate"));break;case"gathering":c._emitBufferedCandidates(),c.dispatchEvent(h),null!==c.onicecandidate&&c.onicecandidate(h),l&&(c.dispatchEvent(new Event("icecandidate")),null!==c.onicecandidate&&c.onicecandidate(new Event("icecandidate")),c.iceGatheringState="complete");break;case"complete":}},f.onicestatechange=function(){c._updateConnectionState()};var g=new RTCDtlsTransport(f);return g.ondtlsstatechange=function(){c._updateConnectionState()},g.onerror=function(){g.state="failed",c._updateConnectionState()},{iceGatherer:e,iceTransport:f,dtlsTransport:g}},window.RTCPeerConnection.prototype._transceive=function(a,b,c){var e=this._getCommonCapabilities(a.localCapabilities,a.remoteCapabilities);b&&a.rtpSender&&(e.encodings=a.sendEncodingParameters,e.rtcp={cname:d.localCName},a.recvEncodingParameters.length&&(e.rtcp.ssrc=a.recvEncodingParameters[0].ssrc),a.rtpSender.send(e)),c&&a.rtpReceiver&&(e.encodings=a.recvEncodingParameters,e.rtcp={cname:a.cname},a.sendEncodingParameters.length&&(e.rtcp.ssrc=a.sendEncodingParameters[0].ssrc),a.rtpReceiver.receive(e))},window.RTCPeerConnection.prototype.setLocalDescription=function(a){var c,e,b=this;if("offer"===a.type)this._pendingOffer&&(c=d.splitSections(a.sdp),e=c.shift(),c.forEach(function(a,c){var e=d.parseRtpParameters(a);b._pendingOffer[c].localCapabilities=e}),this.transceivers=this._pendingOffer,delete this._pendingOffer);else if("answer"===a.type){c=d.splitSections(b.remoteDescription.sdp),
e=c.shift();var f=d.matchPrefix(e,"a=ice-lite").length>0;c.forEach(function(a,c){var g=b.transceivers[c],h=g.iceGatherer,i=g.iceTransport,j=g.dtlsTransport,k=g.localCapabilities,l=g.remoteCapabilities,m="0"===a.split("\n",1)[0].split(" ",2)[1];if(!m&&!g.isDatachannel){var n=d.getIceParameters(a,e);if(f){var o=d.matchPrefix(a,"a=candidate:").map(function(a){return d.parseCandidate(a)}).filter(function(a){return"1"===a.component});o.length&&i.setRemoteCandidates(o)}var p=d.getDtlsParameters(a,e);f&&(p.role="server"),b.usingBundle&&0!==c||(i.start(h,n,f?"controlling":"controlled"),j.start(p));var q=b._getCommonCapabilities(k,l);b._transceive(g,q.codecs.length>0,!1)}})}switch(this.localDescription={type:a.type,sdp:a.sdp},a.type){case"offer":this._updateSignalingState("have-local-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+a.type+'"')}var g=arguments.length>1&&"function"==typeof arguments[1];if(g){var h=arguments[1];window.setTimeout(function(){h(),"new"===b.iceGatheringState&&(b.iceGatheringState="gathering"),b._emitBufferedCandidates()},0)}var i=Promise.resolve();return i.then(function(){g||("new"===b.iceGatheringState&&(b.iceGatheringState="gathering"),window.setTimeout(b._emitBufferedCandidates.bind(b),500))}),i},window.RTCPeerConnection.prototype.setRemoteDescription=function(a){var b=this,c=new MediaStream,e=[],f=d.splitSections(a.sdp),g=f.shift(),h=d.matchPrefix(g,"a=ice-lite").length>0;switch(this.usingBundle=d.matchPrefix(g,"a=group:BUNDLE ").length>0,f.forEach(function(f,i){var j=d.splitLines(f),k=j[0].substr(2).split(" "),l=k[0],m="0"===k[1],n=d.getDirection(f,g),o=d.matchPrefix(f,"a=mid:");if(o=o.length?o[0].substr(6):d.generateIdentifier(),"application"===l&&"DTLS/SCTP"===k[2])return void(b.transceivers[i]={mid:o,isDatachannel:!0});var p,q,r,s,t,u,v,w,x,y,A,B,z=d.parseRtpParameters(f);m||(A=d.getIceParameters(f,g),B=d.getDtlsParameters(f,g),B.role="client"),w=d.parseRtpEncodingParameters(f);var C,D=d.matchPrefix(f,"a=ssrc:").map(function(a){return d.parseSsrcMedia(a)}).filter(function(a){return"cname"===a.attribute})[0];D&&(C=D.value);var E=d.matchPrefix(f,"a=end-of-candidates",g).length>0,F=d.matchPrefix(f,"a=candidate:").map(function(a){return d.parseCandidate(a)}).filter(function(a){return"1"===a.component});if("offer"!==a.type||m)"answer"!==a.type||m||(p=b.transceivers[i],q=p.iceGatherer,r=p.iceTransport,s=p.dtlsTransport,t=p.rtpSender,u=p.rtpReceiver,v=p.sendEncodingParameters,x=p.localCapabilities,b.transceivers[i].recvEncodingParameters=w,b.transceivers[i].remoteCapabilities=z,b.transceivers[i].cname=C,(h||E)&&F.length&&r.setRemoteCandidates(F),b.usingBundle&&0!==i||(r.start(q,A,"controlling"),s.start(B)),b._transceive(p,"sendrecv"===n||"recvonly"===n,"sendrecv"===n||"sendonly"===n),!u||"sendrecv"!==n&&"sendonly"!==n?delete p.rtpReceiver:(y=u.track,e.push([y,u]),c.addTrack(y)));else{var G=b.usingBundle&&i>0?{iceGatherer:b.transceivers[0].iceGatherer,iceTransport:b.transceivers[0].iceTransport,dtlsTransport:b.transceivers[0].dtlsTransport}:b._createIceAndDtlsTransports(o,i);if(E&&G.iceTransport.setRemoteCandidates(F),x=RTCRtpReceiver.getCapabilities(l),v=[{ssrc:1001*(2*i+2)}],u=new RTCRtpReceiver(G.dtlsTransport,l),y=u.track,e.push([y,u]),c.addTrack(y),b.localStreams.length>0&&b.localStreams[0].getTracks().length>=i){var H;"audio"===l?H=b.localStreams[0].getAudioTracks()[0]:"video"===l&&(H=b.localStreams[0].getVideoTracks()[0]),H&&(t=new RTCRtpSender(H,G.dtlsTransport))}b.transceivers[i]={iceGatherer:G.iceGatherer,iceTransport:G.iceTransport,dtlsTransport:G.dtlsTransport,localCapabilities:x,remoteCapabilities:z,rtpSender:t,rtpReceiver:u,kind:l,mid:o,cname:C,sendEncodingParameters:v,recvEncodingParameters:w},b._transceive(b.transceivers[i],!1,"sendrecv"===n||"sendonly"===n)}}),this.remoteDescription={type:a.type,sdp:a.sdp},a.type){case"offer":this._updateSignalingState("have-remote-offer");break;case"answer":this._updateSignalingState("stable");break;default:throw new TypeError('unsupported type "'+a.type+'"')}return c.getTracks().length&&(b.remoteStreams.push(c),window.setTimeout(function(){var a=new Event("addstream");a.stream=c,b.dispatchEvent(a),null!==b.onaddstream&&window.setTimeout(function(){b.onaddstream(a)},0),e.forEach(function(d){var e=d[0],f=d[1],g=new Event("track");g.track=e,g.receiver=f,g.streams=[c],b.dispatchEvent(a),null!==b.ontrack&&window.setTimeout(function(){b.ontrack(g)},0)})},0)),arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.close=function(){this.transceivers.forEach(function(a){a.iceTransport&&a.iceTransport.stop(),a.dtlsTransport&&a.dtlsTransport.stop(),a.rtpSender&&a.rtpSender.stop(),a.rtpReceiver&&a.rtpReceiver.stop()}),this._updateSignalingState("closed")},window.RTCPeerConnection.prototype._updateSignalingState=function(a){this.signalingState=a;var b=new Event("signalingstatechange");this.dispatchEvent(b),null!==this.onsignalingstatechange&&this.onsignalingstatechange(b)},window.RTCPeerConnection.prototype._maybeFireNegotiationNeeded=function(){var a=new Event("negotiationneeded");this.dispatchEvent(a),null!==this.onnegotiationneeded&&this.onnegotiationneeded(a)},window.RTCPeerConnection.prototype._updateConnectionState=function(){var b,a=this,c={new:0,closed:0,connecting:0,checking:0,connected:0,completed:0,failed:0};if(this.transceivers.forEach(function(a){c[a.iceTransport.state]++,c[a.dtlsTransport.state]++}),c.connected+=c.completed,b="new",c.failed>0?b="failed":c.connecting>0||c.checking>0?b="connecting":c.disconnected>0?b="disconnected":c.new>0?b="new":(c.connected>0||c.completed>0)&&(b="connected"),b!==a.iceConnectionState){a.iceConnectionState=b;var d=new Event("iceconnectionstatechange");this.dispatchEvent(d),null!==this.oniceconnectionstatechange&&this.oniceconnectionstatechange(d)}},window.RTCPeerConnection.prototype.createOffer=function(){var a=this;if(this._pendingOffer)throw new Error("createOffer called while there is a pending offer.");var b;1===arguments.length&&"function"!=typeof arguments[0]?b=arguments[0]:3===arguments.length&&(b=arguments[2]);var c=[],e=0,f=0;if(this.localStreams.length&&(e=this.localStreams[0].getAudioTracks().length,f=this.localStreams[0].getVideoTracks().length),b){if(b.mandatory||b.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");void 0!==b.offerToReceiveAudio&&(e=b.offerToReceiveAudio),void 0!==b.offerToReceiveVideo&&(f=b.offerToReceiveVideo)}for(this.localStreams.length&&this.localStreams[0].getTracks().forEach(function(a){c.push({kind:a.kind,track:a,wantReceive:"audio"===a.kind?e>0:f>0}),"audio"===a.kind?e--:"video"===a.kind&&f--});e>0||f>0;)e>0&&(c.push({kind:"audio",wantReceive:!0}),e--),f>0&&(c.push({kind:"video",wantReceive:!0}),f--);var g=d.writeSessionBoilerplate(),h=[];c.forEach(function(b,c){var k,l,e=b.track,f=b.kind,g=d.generateIdentifier(),i=a.usingBundle&&c>0?{iceGatherer:h[0].iceGatherer,iceTransport:h[0].iceTransport,dtlsTransport:h[0].dtlsTransport}:a._createIceAndDtlsTransports(g,c),j=RTCRtpSender.getCapabilities(f),m=[{ssrc:1001*(2*c+1)}];e&&(k=new RTCRtpSender(e,i.dtlsTransport)),b.wantReceive&&(l=new RTCRtpReceiver(i.dtlsTransport,f)),h[c]={iceGatherer:i.iceGatherer,iceTransport:i.iceTransport,dtlsTransport:i.dtlsTransport,localCapabilities:j,remoteCapabilities:null,rtpSender:k,rtpReceiver:l,kind:f,mid:g,sendEncodingParameters:m,recvEncodingParameters:null}}),this.usingBundle&&(g+="a=group:BUNDLE "+h.map(function(a){return a.mid}).join(" ")+"\r\n"),c.forEach(function(b,c){var e=h[c];g+=d.writeMediaSection(e,e.localCapabilities,"offer",a.localStreams[0])}),this._pendingOffer=h;var i=new RTCSessionDescription({type:"offer",sdp:g});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,i),Promise.resolve(i)},window.RTCPeerConnection.prototype.createAnswer=function(){var a=this,b=d.writeSessionBoilerplate();this.usingBundle&&(b+="a=group:BUNDLE "+this.transceivers.map(function(a){return a.mid}).join(" ")+"\r\n"),this.transceivers.forEach(function(c){if(c.isDatachannel)return void(b+="m=application 0 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=mid:"+c.mid+"\r\n");var e=a._getCommonCapabilities(c.localCapabilities,c.remoteCapabilities);b+=d.writeMediaSection(c,e,"answer",a.localStreams[0])});var c=new RTCSessionDescription({type:"answer",sdp:b});return arguments.length&&"function"==typeof arguments[0]&&window.setTimeout(arguments[0],0,c),Promise.resolve(c)},window.RTCPeerConnection.prototype.addIceCandidate=function(a){if(null===a)this.transceivers.forEach(function(a){a.iceTransport.addRemoteCandidate({})});else{var b=a.sdpMLineIndex;if(a.sdpMid)for(var c=0;c<this.transceivers.length;c++)if(this.transceivers[c].mid===a.sdpMid){b=c;break}var e=this.transceivers[b];if(e){var f=Object.keys(a.candidate).length>0?d.parseCandidate(a.candidate):{};if("tcp"===f.protocol&&(0===f.port||9===f.port))return;if("1"!==f.component)return;"endOfCandidates"===f.type&&(f={}),e.iceTransport.addRemoteCandidate(f);var g=d.splitSections(this.remoteDescription.sdp);g[b+1]+=(f.type?a.candidate.trim():"a=end-of-candidates")+"\r\n",this.remoteDescription.sdp=g.join("")}}return arguments.length>1&&"function"==typeof arguments[1]&&window.setTimeout(arguments[1],0),Promise.resolve()},window.RTCPeerConnection.prototype.getStats=function(){var a=[];this.transceivers.forEach(function(b){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(c){b[c]&&a.push(b[c].getStats())})});var b=arguments.length>1&&"function"==typeof arguments[1]&&arguments[1];return new Promise(function(c){var d=new Map;Promise.all(a).then(function(a){a.forEach(function(a){Object.keys(a).forEach(function(b){d.set(b,a[b]),d[b]=a[b]})}),b&&window.setTimeout(b,0,d),c(d)})})}}};b.exports={shimPeerConnection:f.shimPeerConnection,shimGetUserMedia:a("./getusermedia")}},{"../utils":10,"./getusermedia":6,sdp:1}],6:[function(a,b,c){"use strict";b.exports=function(){var a=function(a){return{name:{PermissionDeniedError:"NotAllowedError"}[a.name]||a.name,message:a.message,constraint:a.constraint,toString:function(){return this.name}}},b=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(c){return b(c).catch(function(b){return Promise.reject(a(b))})}}},{}],7:[function(a,b,c){"use strict";var d=a("../utils").browserDetails,e={shimOnTrack:function(){"object"!=typeof window||!window.RTCPeerConnection||"ontrack"in window.RTCPeerConnection.prototype||Object.defineProperty(window.RTCPeerConnection.prototype,"ontrack",{get:function(){return this._ontrack},set:function(a){this._ontrack&&(this.removeEventListener("track",this._ontrack),this.removeEventListener("addstream",this._ontrackpoly)),this.addEventListener("track",this._ontrack=a),this.addEventListener("addstream",this._ontrackpoly=function(a){a.stream.getTracks().forEach(function(b){var c=new Event("track");c.track=b,c.receiver={track:b},c.streams=[a.stream],this.dispatchEvent(c)}.bind(this))}.bind(this))}})},shimSourceObject:function(){"object"==typeof window&&(!window.HTMLMediaElement||"srcObject"in window.HTMLMediaElement.prototype||Object.defineProperty(window.HTMLMediaElement.prototype,"srcObject",{get:function(){return this.mozSrcObject},set:function(a){this.mozSrcObject=a}}))},shimPeerConnection:function(){if("object"==typeof window&&(window.RTCPeerConnection||window.mozRTCPeerConnection)){window.RTCPeerConnection||(window.RTCPeerConnection=function(a,b){if(d.version<38&&a&&a.iceServers){for(var c=[],e=0;e<a.iceServers.length;e++){var f=a.iceServers[e];if(f.hasOwnProperty("urls"))for(var g=0;g<f.urls.length;g++){var h={url:f.urls[g]};0===f.urls[g].indexOf("turn")&&(h.username=f.username,h.credential=f.credential),c.push(h)}else c.push(a.iceServers[e])}a.iceServers=c}return new mozRTCPeerConnection(a,b)},window.RTCPeerConnection.prototype=mozRTCPeerConnection.prototype,mozRTCPeerConnection.generateCertificate&&Object.defineProperty(window.RTCPeerConnection,"generateCertificate",{get:function(){return mozRTCPeerConnection.generateCertificate}}),window.RTCSessionDescription=mozRTCSessionDescription,window.RTCIceCandidate=mozRTCIceCandidate),["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(a){var b=RTCPeerConnection.prototype[a];RTCPeerConnection.prototype[a]=function(){return arguments[0]=new("addIceCandidate"===a?RTCIceCandidate:RTCSessionDescription)(arguments[0]),b.apply(this,arguments)}});var a=RTCPeerConnection.prototype.addIceCandidate;RTCPeerConnection.prototype.addIceCandidate=function(){return null===arguments[0]?Promise.resolve():a.apply(this,arguments)};var b=function(a){var b=new Map;return Object.keys(a).forEach(function(c){b.set(c,a[c]),b[c]=a[c]}),b},c=RTCPeerConnection.prototype.getStats;RTCPeerConnection.prototype.getStats=function(a,d,e){return c.apply(this,[a||null]).then(function(a){return b(a)}).then(d,e)}}}};b.exports={shimOnTrack:e.shimOnTrack,shimSourceObject:e.shimSourceObject,shimPeerConnection:e.shimPeerConnection,shimGetUserMedia:a("./getusermedia")}},{"../utils":10,"./getusermedia":8}],8:[function(a,b,c){"use strict";var d=a("../utils").log,f=a("../utils").browserDetails;b.exports=function(){var a=function(a){return{name:{SecurityError:"NotAllowedError",PermissionDeniedError:"NotAllowedError"}[a.name]||a.name,message:{"The operation is insecure.":"The request is not allowed by the user agent or the platform in the current context."}[a.message]||a.message,constraint:a.constraint,toString:function(){return this.name+(this.message&&": ")+this.message}}},b=function(b,c,e){var g=function(a){if("object"!=typeof a||a.require)return a;var b=[];return Object.keys(a).forEach(function(c){if("require"!==c&&"advanced"!==c&&"mediaSource"!==c){var d=a[c]="object"==typeof a[c]?a[c]:{ideal:a[c]};if(void 0===d.min&&void 0===d.max&&void 0===d.exact||b.push(c),void 0!==d.exact&&("number"==typeof d.exact?d.min=d.max=d.exact:a[c]=d.exact,delete d.exact),void 0!==d.ideal){a.advanced=a.advanced||[];var e={};"number"==typeof d.ideal?e[c]={min:d.ideal,max:d.ideal}:e[c]=d.ideal,a.advanced.push(e),delete d.ideal,Object.keys(d).length||delete a[c]}}}),b.length&&(a.require=b),a};return b=JSON.parse(JSON.stringify(b)),f.version<38&&(d("spec: "+JSON.stringify(b)),b.audio&&(b.audio=g(b.audio)),b.video&&(b.video=g(b.video)),d("ff37: "+JSON.stringify(b))),navigator.mozGetUserMedia(b,c,function(b){e(a(b))})},c=function(a){return new Promise(function(c,d){b(a,c,d)})};if(navigator.mediaDevices||(navigator.mediaDevices={getUserMedia:c,addEventListener:function(){},removeEventListener:function(){}}),navigator.mediaDevices.enumerateDevices=navigator.mediaDevices.enumerateDevices||function(){return new Promise(function(a){var b=[{kind:"audioinput",deviceId:"default",label:"",groupId:""},{kind:"videoinput",deviceId:"default",label:"",groupId:""}];a(b)})},f.version<41){var g=navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);navigator.mediaDevices.enumerateDevices=function(){return g().then(void 0,function(a){if("NotFoundError"===a.name)return[];throw a})}}if(f.version<49){var h=navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices);navigator.mediaDevices.getUserMedia=function(b){return h(b).catch(function(b){return Promise.reject(a(b))})}}navigator.getUserMedia=function(a,c,d){return f.version<44?b(a,c,d):(e.warn("navigator.getUserMedia has been replaced by navigator.mediaDevices.getUserMedia"),void navigator.mediaDevices.getUserMedia(a).then(c,d))}}},{"../utils":10}],9:[function(a,b,c){"use strict";var d={shimGetUserMedia:function(){navigator.getUserMedia=navigator.webkitGetUserMedia}};b.exports={shimGetUserMedia:d.shimGetUserMedia}},{}],10:[function(a,b,c){"use strict";var d=!0,f={disableLog:function(a){return"boolean"!=typeof a?new Error("Argument type: "+typeof a+". Please use a boolean."):(d=a,a?"adapter.js logging disabled":"adapter.js logging enabled")},log:function(){if("object"==typeof window){if(d)return;"undefined"!=typeof e&&"function"==typeof e.log&&e.log.apply(e,arguments)}},extractVersion:function(a,b,c){var d=a.match(b);return d&&d.length>=c&&parseInt(d[c],10)},detectBrowser:function(){var a={};if(a.browser=null,a.version=null,"undefined"==typeof window||!window.navigator)return a.browser="Not a browser.",a;if(navigator.mozGetUserMedia)a.browser="firefox",a.version=this.extractVersion(navigator.userAgent,/Firefox\/([0-9]+)\./,1);else if(navigator.webkitGetUserMedia)if(window.webkitRTCPeerConnection)a.browser="chrome",a.version=this.extractVersion(navigator.userAgent,/Chrom(e|ium)\/([0-9]+)\./,2);else{if(!navigator.userAgent.match(/Version\/(\d+).(\d+)/))return a.browser="Unsupported webkit-based browser with GUM support but no WebRTC support.",a;a.browser="safari",a.version=this.extractVersion(navigator.userAgent,/AppleWebKit\/([0-9]+)\./,1)}else{if(!navigator.mediaDevices||!navigator.userAgent.match(/Edge\/(\d+).(\d+)$/))return a.browser="Not a supported browser.",a;a.browser="edge",a.version=this.extractVersion(navigator.userAgent,/Edge\/(\d+).(\d+)$/,2)}return a}};b.exports={log:f.log,disableLog:f.disableLog,browserDetails:f.detectBrowser(),extractVersion:f.extractVersion}},{}]},{},[2])(2)}),f.parseWebrtcDetectedBrowser(),navigator.mozGetUserMedia?(MediaStreamTrack.getSources=function(a){setTimeout(function(){var b=[{kind:"audio",id:"default",label:"",facing:""},{kind:"video",id:"default",label:"",facing:""}];a(b)},0)},attachMediaStream=function(a,b){return a.srcObject=b,a},reattachMediaStream=function(a,b){return a.srcObject=b.srcObject,a},createIceServer=function(a,b,c){e.warn("createIceServer is deprecated. It should be replaced with an application level implementation.");var d=null,f=a.split(":");if(0===f[0].indexOf("stun"))d={urls:[a]};else if(0===f[0].indexOf("turn"))if(webrtcDetectedVersion<27){var g=a.split("?");1!==g.length&&0!==g[1].indexOf("transport=udp")||(d={urls:[g[0]],credential:c,username:b})}else d={urls:[a],credential:c,username:b};return d},createIceServers=function(a,b,c){e.warn("createIceServers is deprecated. It should be replaced with an application level implementation.");var d=[];for(i=0;i<a.length;i++){var f=createIceServer(a[i],b,c);null!==f&&d.push(f)}return d}):navigator.webkitGetUserMedia?(attachMediaStream=function(a,b){return webrtcDetectedVersion>=43?a.srcObject=b:"undefined"!=typeof a.src?a.src=URL.createObjectURL(b):e.error("Error attaching stream to element."),a},reattachMediaStream=function(a,b){return webrtcDetectedVersion>=43?a.srcObject=b.srcObject:a.src=b.src,a},createIceServer=function(a,b,c){e.warn("createIceServer is deprecated. It should be replaced with an application level implementation.");var d=null,f=a.split(":");return 0===f[0].indexOf("stun")?d={url:a}:0===f[0].indexOf("turn")&&(d={url:a,credential:c,username:b}),d},createIceServers=function(a,b,c){e.warn("createIceServers is deprecated. It should be replaced with an application level implementation.");var d=[];if(webrtcDetectedVersion>=34)d={urls:a,credential:c,username:b};else for(i=0;i<a.length;i++){var f=createIceServer(a[i],b,c);null!==f&&d.push(f)}return d}):navigator.mediaDevices&&navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)&&(attachMediaStream=function(a,b){return a.srcObject=b,a},reattachMediaStream=function(a,b){return a.srcObject=b.srcObject,a}),attachMediaStream_base=attachMediaStream,"opera"===webrtcDetectedBrowser&&(attachMediaStream_base=function(a,b){webrtcDetectedVersion>38?a.srcObject=b:"undefined"!=typeof a.src&&(a.src=URL.createObjectURL(b))}),attachMediaStream=function(a,b){return"chrome"!==webrtcDetectedBrowser&&"opera"!==webrtcDetectedBrowser||b?attachMediaStream_base(a,b):a.src="",a},reattachMediaStream_base=reattachMediaStream,reattachMediaStream=function(a,b){return reattachMediaStream_base(a,b),a},window.attachMediaStream=attachMediaStream,window.reattachMediaStream=reattachMediaStream,window.getUserMedia=function(a,b,c){navigator.getUserMedia(a,b,c)},f.attachMediaStream=attachMediaStream,f.reattachMediaStream=reattachMediaStream,f.getUserMedia=getUserMedia,"undefined"==typeof Promise&&(requestUserMedia=null),f.maybeThroughWebRTCReady()),function(){"use strict";var a=null;f.TEXT.EXTENSION={REQUIRE_INSTALLATION_FF:"To enable screensharing you need to install the Skylink WebRTC tools Firefox Add-on.",REQUIRE_INSTALLATION_CHROME:"To enable screensharing you need to install the Skylink WebRTC tools Chrome Extension.",REQUIRE_REFRESH:"Please refresh this page after the Skylink WebRTC tools extension has been installed.",BUTTON_FF:"Install Now",BUTTON_CHROME:"Go to Chrome Web Store"};var b=function(a){if(null===a||"object"!=typeof a)return a;var b=a.constructor();for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b};if(window.navigator.mozGetUserMedia?(a=window.navigator.getUserMedia,navigator.getUserMedia=function(c,d,e){if(c&&c.video&&c.video.mediaSource){if("screen"!==c.video.mediaSource&&"window"!==c.video.mediaSource)return void e(new Error('GetUserMedia: Only "screen" and "window" are supported as mediaSource constraints'));var g=b(c);g.video.mozMediaSource=g.video.mediaSource;var h=setInterval(function(){"complete"===document.readyState&&(clearInterval(h),a(g,d,function(a){["PermissionDeniedError","SecurityError"].indexOf(a.name)>-1&&"https:"===window.parent.location.protocol?f.renderNotificationBar(f.TEXT.EXTENSION.REQUIRE_INSTALLATION_FF,f.TEXT.EXTENSION.BUTTON_FF,"https://addons.mozilla.org/en-US/firefox/addon/skylink-webrtc-tools/",!0,!0):e(a)}))},1)}else a(c,d,e)},f.getUserMedia=window.getUserMedia=navigator.getUserMedia):window.navigator.webkitGetUserMedia&&"safari"!==window.webrtcDetectedBrowser?(a=window.navigator.getUserMedia,navigator.getUserMedia=function(c,e,g){if(c&&c.video&&c.video.mediaSource){if("chrome"!==window.webrtcDetectedBrowser)return void g(new Error("Current browser does not support screensharing"));var h=b(c),i=function(b,c){b?g("permission-denied"===b?new Error("Permission denied for screen retrieval"):new Error("Failed retrieving selected screen")):(h.video.mandatory=h.video.mandatory||{},h.video.mandatory.chromeMediaSource="desktop",h.video.mandatory.maxWidth=window.screen.width>1920?window.screen.width:1920,h.video.mandatory.maxHeight=window.screen.height>1080?window.screen.height:1080,c&&(h.video.mandatory.chromeMediaSourceId=c),delete h.video.mediaSource,a(h,e,g))},j=function(a){a.data&&(a.data.chromeMediaSourceId&&("PermissionDeniedError"===a.data.chromeMediaSourceId?i("permission-denied"):i(null,a.data.chromeMediaSourceId)),a.data.chromeExtensionStatus&&("not-installed"===a.data.chromeExtensionStatus?f.renderNotificationBar(f.TEXT.EXTENSION.REQUIRE_INSTALLATION_CHROME,f.TEXT.EXTENSION.BUTTON_CHROME,a.data.data,!0,!0):i(a.data.chromeExtensionStatus,null)),window.removeEventListener("message",j))};window.addEventListener("message",j),d({captureSourceId:!0})}else a(c,e,g)},f.getUserMedia=window.getUserMedia=navigator.getUserMedia,navigator.mediaDevices.getUserMedia=function(a){return new Promise(function(b,c){window.getUserMedia(a,b,c)})}):navigator.mediaDevices&&navigator.userAgent.match(/Edge\/(\d+).(\d+)$/)?e.warn("Edge does not support screensharing feature in getUserMedia"):(a=window.navigator.getUserMedia,navigator.getUserMedia=function(c,d,e){if(c&&c.video&&c.video.mediaSource){var g=b(c);f.WebRTCPlugin.callWhenPluginReady(function(){return f.WebRTCPlugin.plugin.HasScreensharingFeature&&f.WebRTCPlugin.plugin.isScreensharingAvailable?(g.video.optional=g.video.optional||[],g.video.optional.push({sourceId:f.WebRTCPlugin.plugin.screensharingKey||"Screensharing"}),delete g.video.mediaSource,void a(g,d,e)):void e(new Error("Your version of the WebRTC plugin does not support screensharing"))})}else a(c,d,e)},f.getUserMedia=getUserMedia=window.getUserMedia=navigator.getUserMedia,navigator.mediaDevices&&"undefined"!=typeof Promise&&(navigator.mediaDevices.getUserMedia=requestUserMedia)),"chrome"===window.webrtcDetectedBrowser){var c=document.createElement("iframe");c.onload=function(){c.isLoaded=!0},c.src="https://cdn.temasys.com.sg/skylink/extensions/detectRTC.html",c.style.display="none",(document.body||document.documentElement).appendChild(c);var d=function(a){return a=a||{},c.isLoaded?void c.contentWindow.postMessage(a,"*"):void setTimeout(function(){c.contentWindow.postMessage(a,"*")},100)}}else"opera"===window.webrtcDetectedBrowser&&e.warn("Opera does not support screensharing feature in getUserMedia")}()}).call(b,"modules/RTC/adapter.screenshare.js")},function(a,b){"use strict";var c={CAMERA:"camera",DESKTOP:"desktop"};a.exports=c},function(a,b){"use strict";var c={ENVIRONMENT:"environment",USER:"user"};a.exports=c},function(a,b,c){(function(b){"use strict";function j(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function k(a){return a&&a.__esModule?a:{default:a}}function u(a,b,c,d,e,f,g){var h=this;m.call(this,null,a,b,function(){this.dontFireRemoveEvent||this.eventEmitter.emit(i.LOCAL_TRACK_STOPPED),this.dontFireRemoveEvent=!1}.bind(this),c,d,null),this.dontFireRemoveEvent=!1,this.resolution=e,p.isFirefox()&&(this.resolution=null),this.deviceId=f,this.startMuted=!1,this.initialMSID=this.getMSID(),this.inMuteOrUnmuteProgress=!1,this._facingMode=g,this._trackEnded=!1,this._bytesSent=null,this._testByteSent=!0,this._realDeviceId=""===this.deviceId?void 0:this.deviceId,this.stopStreamInProgress=!1,this._noDataFromSourceTimeout=null,this._onDeviceListChanged=function(a){h._setRealDeviceIdFromDeviceList(a),"undefined"!=typeof h.getTrack().readyState||"undefined"==typeof h._realDeviceId||a.find(function(a){return a.deviceId===h._realDeviceId})||(h._trackEnded=!0)},this.isAudioTrack()&&r.isDeviceChangeAvailable("output")&&(this._onAudioOutputDeviceChanged=this.setAudioOutput.bind(this),r.addListener(q.AUDIO_OUTPUT_DEVICE_CHANGED,this._onAudioOutputDeviceChanged)),r.addListener(q.DEVICE_LIST_CHANGED,this._onDeviceListChanged),this._initNoDataFromSourceHandlers()}function v(a,b){return a.inMuteOrUnmuteProgress?Promise.reject(new e.default(g.TRACK_MUTE_UNMUTE_IN_PROGRESS)):(a.inMuteOrUnmuteProgress=!0,a._setMute(b).then(function(){a.inMuteOrUnmuteProgress=!1}).catch(function(b){throw a.inMuteOrUnmuteProgress=!1,b}))}var d=c(6),e=k(d),f=c(7),g=j(f),h=c(8),i=j(h),l=c(56),m=c(58),n=c(9).getLogger(b),o=c(36),p=c(32),q=c(49),r=c(50),s=c(59),t=c(55);u.prototype=Object.create(m.prototype),u.prototype.constructor=u,u.prototype.isEnded=function(){return"ended"===this.getTrack().readyState||this._trackEnded},u.prototype._initNoDataFromSourceHandlers=function(){var a=this;this.isVideoTrack()&&this.videoType===t.CAMERA&&!function(){var b=a._onNoDataFromSourceError.bind(a);a._setHandler("track_mute",function(){a._checkForCameraIssues()&&!function(){var c=window.performance.now();a._noDataFromSourceTimeout=setTimeout(b,3e3),a._setHandler("track_unmute",function(){a._clearNoDataFromSourceMuteResources(),s.sendEventToAll(a.getType()+".track_unmute",{value:window.performance.now()-c})})}()}),a._setHandler("track_ended",b)}()},u.prototype._clearNoDataFromSourceMuteResources=function(){this._noDataFromSourceTimeout&&(clearTimeout(this._noDataFromSourceTimeout),this._noDataFromSourceTimeout=null),this._setHandler("track_unmute",void 0)},u.prototype._onNoDataFromSourceError=function(){this._clearNoDataFromSourceMuteResources(),this._checkForCameraIssues()&&this._fireNoDataFromSourceEvent()},u.prototype._fireNoDataFromSourceEvent=function(){this.eventEmitter.emit(i.NO_DATA_FROM_SOURCE),s.sendEventToAll(this.getType()+".no_data_from_source")},u.prototype._setRealDeviceIdFromDeviceList=function(a){var b=this.getTrack(),c=a.find(function(a){return a.kind===b.kind+"input"&&a.label===b.label});c&&(this._realDeviceId=c.deviceId)},u.prototype.mute=function(){return v(this,!0)},u.prototype.unmute=function(){return v(this,!1)},u.prototype._setMute=function(a){var b=this;if(this.isMuted()===a)return Promise.resolve();var c=Promise.resolve(),d=this;if(this.conference&&this.conference.room||(this.startMuted=a),this.dontFireRemoveEvent=!1,"https:"!==window.location.protocol||this.isAudioTrack()||this.videoType===t.DESKTOP||p.isFirefox())this.track&&(this.track.enabled=!a);else if(a)this.dontFireRemoveEvent=!0,c=new Promise(function(a,c){b._removeStreamFromConferenceAsMute(function(){b._stopMediaStream(),b._setStream(null),a()},function(a){c(a)})});else{var f={cameraDeviceId:this.getDeviceId(),devices:[o.VIDEO],facingMode:this.getCameraFacingMode()};this.resolution&&(f.resolution=this.resolution),c=r.obtainAudioAndVideoPermissions(f).then(function(a){var b=d.getType(),c=a.find(function(a){return a.mediaType===b});if(!c)throw new e.default(g.TRACK_NO_STREAM_FOUND);return d._setStream(c.stream),d.track=c.track,d.videoType!==c.videoType&&(n.warn("Video type has changed after unmute!",d.videoType,c.videoType),d.videoType=c.videoType),d.containers=d.containers.map(function(a){return r.attachMediaStream(a,d.stream)}),d._addStreamToConferenceAsUnmute()})}return c.then(function(){return d._sendMuteStatus(a)}).then(function(){d.eventEmitter.emit(i.TRACK_MUTE_CHANGED,this)})},u.prototype._addStreamToConferenceAsUnmute=function(){if(!this.conference||!this.conference.room)return Promise.resolve();var a=this;return new Promise(function(b,c){a.conference.room.addStream(a.stream,b,c,{mtype:a.type,type:"unmute",ssrc:a.ssrc,msid:a.getMSID()})})},u.prototype._removeStreamFromConferenceAsMute=function(a,b){return this.conference&&this.conference.room?void this.conference.room.removeStream(this.stream,a,b,{mtype:this.type,type:"mute",ssrc:this.ssrc}):void a()},u.prototype._sendMuteStatus=function(a){if(!this.conference||!this.conference.room)return Promise.resolve();var b=this;return new Promise(function(c){b.conference.room[b.isAudioTrack()?"setAudioMute":"setVideoMute"](a,c)})},u.prototype.dispose=function(){var a=this,b=Promise.resolve();return this.conference&&(b=this.conference.removeTrack(this)),this.stream&&(this._stopMediaStream(),this.detach()),r.removeListener(q.DEVICE_LIST_CHANGED,this._onDeviceListChanged),this._onAudioOutputDeviceChanged&&r.removeListener(q.AUDIO_OUTPUT_DEVICE_CHANGED,this._onAudioOutputDeviceChanged),b.then(function(){return m.prototype.dispose.call(a)})},u.prototype.isMuted=function(){return!this.stream||(!(!this.isVideoTrack()||this.isActive())||(!this.track||!this.track.enabled))},u.prototype._setSSRC=function(a){this.ssrc=a},u.prototype._setConference=function(a){this.conference=a;for(var b=0;b<this.containers.length;b++)this._maybeFireTrackAttached(this.containers[b])},u.prototype.getSSRC=function(){return this.ssrc&&this.ssrc.groups&&this.ssrc.groups.length?this.ssrc.groups[0].primarySSRC:this.ssrc&&this.ssrc.ssrcs&&this.ssrc.ssrcs.length?this.ssrc.ssrcs[0]:null},u.prototype.isLocal=function(){return!0},u.prototype.getDeviceId=function(){return this._realDeviceId||this.deviceId},u.prototype._setByteSent=function(a){this._bytesSent=a;var b=this.conference?this.conference.getConnectionState():null;this._testByteSent&&"connected"===b&&(setTimeout(function(){this._bytesSent<=0&&this._fireNoDataFromSourceEvent()}.bind(this),3e3),this._testByteSent=!1)},u.prototype.getCameraFacingMode=function(){if(this.isVideoTrack()&&this.videoType===t.CAMERA){var a;try{a=this.track.getSettings()}catch(a){}return a&&"facingMode"in a?a.facingMode:"undefined"!=typeof this._facingMode?this._facingMode:l.USER}},u.prototype._stopMediaStream=function(){this.stopStreamInProgress=!0,r.stopMediaStream(this.stream),this.stopStreamInProgress=!1},u.prototype._checkForCameraIssues=function(){return!(!this.isVideoTrack()||this.stopStreamInProgress||this.videoType===t.DESKTOP)&&!this._isReceivingData()},u.prototype._isReceivingData=function(){return!!this.stream&&this.stream.getTracks().some(function(a){return!("readyState"in a&&"live"!==a.readyState||"muted"in a&&a.muted===!0)})},a.exports=u}).call(b,"modules/RTC/JitsiLocalTrack.js");
},function(a,b,c){(function(b){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function m(a){var b=a.getOriginalStream();if(b){var c=b.stop;b.stop=function(){c.apply(b),a.isActive()&&b.onended()}}}function n(a,b){"undefined"!=typeof a.active?a.oninactive=b:a.onended=b}function o(a,b,c,d,e,f,g){this.containers=[],this.conference=a,this.stream=b,this.ssrc=g,this.eventEmitter=new j,this.audioLevel=-1,this.type=e,this.track=c,this.videoType=f,this.handlers={},this.disposed=!1,this._setHandler("inactive",d)}var d=c(8),e=f(d),g=c(9).getLogger(b),h=c(32),i=c(50),j=c(14),k=c(36),l={track_mute:"onmute",track_unmute:"onunmute",track_ended:"onended"};o.prototype._setHandler=function(a,b){this.handlers[a]=b,this.stream&&("inactive"===a?(h.isFirefox()&&m(this),n(this.stream,b)):l.hasOwnProperty(a)&&this.stream.getVideoTracks().forEach(function(c){c[l[a]]=b},this))},o.prototype._setStream=function(a){this.stream=a,Object.keys(this.handlers).forEach(function(a){"function"==typeof this.handlers[a]&&this._setHandler(a,this.handlers[a])},this)},o.prototype.getType=function(){return this.type},o.prototype.isAudioTrack=function(){return this.getType()===k.AUDIO},o.prototype.isVideoTrack=function(){return this.getType()===k.VIDEO},o.prototype.isLocal=function(){throw new Error("Not implemented by subclass")},o.prototype.getOriginalStream=function(){return this.stream},o.prototype.getStreamId=function(){return this.stream?this.stream.id:null},o.prototype.getTrack=function(){return this.track},o.prototype.getTrackId=function(){return this.track?this.track.id:null},o.prototype.getUsageLabel=function(){return this.isAudioTrack()?"mic":this.videoType?this.videoType:"default"},o.prototype._maybeFireTrackAttached=function(a){this.conference&&a&&this.conference._onTrackAttach(this,a)},o.prototype.attach=function(a){return this.stream&&(a=i.attachMediaStream(a,this.stream)),this.containers.push(a),this._maybeFireTrackAttached(a),this._attachTTFMTracker(a),a},o.prototype.detach=function(a){for(var b=this.containers,c=b.length-1;c>=0;--c){var d=b[c];a||i.attachMediaStream(d,null),a&&d!==a||b.splice(c,1)}a&&i.attachMediaStream(a,null)},o.prototype._attachTTFMTracker=function(a){},o.prototype.dispose=function(){return this.eventEmitter.removeAllListeners(),this.disposed=!0,Promise.resolve()},o.prototype.isScreenSharing=function(){},o.prototype._getId=function(){return this.getTrackId()},o.prototype.getId=function(){return this.stream?i.getStreamID(this.stream):null},o.prototype.isActive=function(){return"undefined"==typeof this.stream.active||this.stream.active},o.prototype.on=function(a,b){this.eventEmitter&&this.eventEmitter.on(a,b)},o.prototype.off=function(a,b){this.eventEmitter&&this.eventEmitter.removeListener(a,b)},o.prototype.addEventListener=o.prototype.on,o.prototype.removeEventListener=o.prototype.off,o.prototype.setAudioLevel=function(a){this.audioLevel!==a&&(this.eventEmitter.emit(e.TRACK_AUDIO_LEVEL_CHANGED,a),this.audioLevel=a)},o.prototype.getMSID=function(){var a=this.getStreamId(),b=this.getTrackId();return a&&b?a+" "+b:null},o.prototype.setAudioOutput=function(a){var b=this;return i.isDeviceChangeAvailable("output")?this.isVideoTrack()?Promise.resolve():Promise.all(this.containers.map(function(b){return b.setSinkId(a).catch(function(a){throw g.warn("Failed to change audio output device on element. Default or previously set audio output device will be used.",b,a),a})})).then(function(){b.eventEmitter.emit(e.TRACK_AUDIO_OUTPUT_CHANGED,a)}):Promise.reject(new Error("Audio output device change is not supported"))},a.exports=o}).call(b,"modules/RTC/JitsiTrack.js")},function(a,b,c){(function(b){"use strict";function h(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function i(a){return a&&a.__esModule?a:{default:a}}function r(a){q||(p.loadScript(a?a:"https://api.callstats.io/static/callstats-ws.min.js",!0,!0),q=!0)}function s(a){p.loadScript(a?a:"analytics.js",!0,!1,!a,function(){v.analytics.loaded()},function(){v.analytics.dispose()})}function u(a){var b=new Error;return b.stack=a.stack,b.name=(a.name||"Unknown error")+(a.gum&&a.gum.error&&a.gum.error.name?" - "+a.gum.error.name:""),b.constraintName=a.gum&&a.gum.constraints?JSON.stringify(a.gum.constraints):"",b.message=a.message,b}function v(a,b){this.rtpStats=null,this.eventEmitter=new l,this.xmpp=a,this.options=b||{},this.callStatsIntegrationEnabled=this.options.callStatsID&&this.options.callStatsSecret&&v.disableThirdPartyRequests!==!0,this.callStatsIntegrationEnabled&&r(this.options.callStatsCustomScriptUrl),this.callStats=null,this.callStatsStarted=!1,this.logStatsIntervalId=null}var d=c(6),e=i(d),f=c(60),g=h(f),j=c(61),k=c(62),l=c(14),m=c(9).getLogger(b),n=c(112),o=c(113),p=c(114),q=!1,t=6e4;v.init=function(a){v.audioLevelsEnabled=!a.disableAudioLevels,"number"==typeof a.audioLevelsInterval&&(v.audioLevelsInterval=a.audioLevelsInterval),v.disableThirdPartyRequests=a.disableThirdPartyRequests,v.disableThirdPartyRequests!==!0?s(a.analyticsScriptUrl):v.analytics.dispose()},v.audioLevelsEnabled=!1,v.audioLevelsInterval=200,v.disableThirdPartyRequests=!1,v.analytics=j,v.callsStatsInstances=[],v.prototype.startRemoteStats=function(a){this.stopRemoteStats();try{this.rtpStats=new o(a,v.audioLevelsInterval,2e3,this.eventEmitter),this.rtpStats.start(v.audioLevelsEnabled)}catch(a){this.rtpStats=null,m.error("Failed to start collecting remote statistics: "+a)}this.rtpStats&&(this.logStatsIntervalId=setInterval(function(){var a=this.rtpStats.getCollectedStats();this.xmpp.sendLogs(a)&&this.rtpStats.clearCollectedStats()}.bind(this),t))},v.localStats=[],v.startLocalStats=function(a,b){if(v.audioLevelsEnabled){var c=new n(a,v.audioLevelsInterval,b);this.localStats.push(c),c.start()}},v.prototype.addAudioLevelListener=function(a){v.audioLevelsEnabled&&this.eventEmitter.on(g.AUDIO_LEVEL,a)},v.prototype.removeAudioLevelListener=function(a){v.audioLevelsEnabled&&this.eventEmitter.removeListener(g.AUDIO_LEVEL,a)},v.prototype.addAudioProblemListener=function(a){this.eventEmitter.on(g.AUDIO_NOT_WORKING,a)},v.prototype.addConnectionStatsListener=function(a){this.eventEmitter.on(g.CONNECTION_STATS,a)},v.prototype.removeConnectionStatsListener=function(a){this.eventEmitter.removeListener(g.CONNECTION_STATS,a)},v.prototype.addByteSentStatsListener=function(a){this.eventEmitter.on(g.BYTE_SENT_STATS,a)},v.prototype.removeByteSentStatsListener=function(a){this.eventEmitter.removeListener(g.BYTE_SENT_STATS,a)},v.prototype.dispose=function(){this.stopCallStats(),this.stopRemoteStats(),this.eventEmitter&&this.eventEmitter.removeAllListeners()},v.stopLocalStats=function(a){if(v.audioLevelsEnabled)for(var b=0;b<v.localStats.length;b++)if(v.localStats[b].stream===a){var c=v.localStats.splice(b,1);c[0].stop();break}},v.prototype.stopRemoteStats=function(){this.rtpStats&&(this.rtpStats.stop(),this.rtpStats=null,this.logStatsIntervalId&&(clearInterval(this.logStatsIntervalId),this.logStatsIntervalId=null))},v.prototype.startCallStats=function(a,b){this.callStatsIntegrationEnabled&&!this.callStatsStarted&&(this.callstats=new k(a,b,this.options),v.callsStatsInstances.push(this.callstats),this.callStatsStarted=!0)},v.prototype.stopCallStats=function(){if(this.callStatsStarted){var a=v.callsStatsInstances.indexOf(this.callstats);a>-1&&v.callsStatsInstances.splice(a,1),k.dispose(),this.callStatsStarted=!1}},v.prototype.isCallstatsEnabled=function(){return this.callStatsIntegrationEnabled},v.prototype.sendIceConnectionFailedEvent=function(a){this.callstats&&this.callstats.sendIceConnectionFailedEvent(a,this.callstats),v.analytics.sendEvent("connection.ice_failed")},v.prototype.sendMuteEvent=function(a,b){this.callstats&&k.sendMuteEvent(a,b,this.callstats)},v.prototype.sendScreenSharingEvent=function(a){this.callstats&&k.sendScreenSharingEvent(a,this.callstats)},v.prototype.sendDominantSpeakerEvent=function(){this.callstats&&k.sendDominantSpeakerEvent(this.callstats)},v.sendActiveDeviceListEvent=function(a){v.callsStatsInstances.length?v.callsStatsInstances.forEach(function(b){k.sendActiveDeviceListEvent(a,b)}):k.sendActiveDeviceListEvent(a,null)},v.prototype.associateStreamWithVideoTag=function(a,b,c,d){this.callstats&&this.callstats.associateStreamWithVideoTag(a,b,c,d)},v.sendGetUserMediaFailed=function(a){v.callsStatsInstances.length?v.callsStatsInstances.forEach(function(b){k.sendGetUserMediaFailed(a instanceof e.default?u(a):a,b)}):k.sendGetUserMediaFailed(a instanceof e.default?u(a):a,null)},v.prototype.sendCreateOfferFailed=function(a,b){this.callstats&&k.sendCreateOfferFailed(a,b,this.callstats)},v.prototype.sendCreateAnswerFailed=function(a,b){this.callstats&&k.sendCreateAnswerFailed(a,b,this.callstats)},v.prototype.sendSetLocalDescFailed=function(a,b){this.callstats&&k.sendSetLocalDescFailed(a,b,this.callstats)},v.prototype.sendSetRemoteDescFailed=function(a,b){this.callstats&&k.sendSetRemoteDescFailed(a,b,this.callstats)},v.prototype.sendAddIceCandidateFailed=function(a,b){this.callstats&&k.sendAddIceCandidateFailed(a,b,this.callstats)},v.prototype.sendDetectedAudioProblem=function(a){this.callstats&&this.callstats.sendDetectedAudioProblem(a)},v.sendLog=function(a){v.callsStatsInstances.length?v.callsStatsInstances.forEach(function(b){k.sendApplicationLog(a,b)}):k.sendApplicationLog(a,null)},v.prototype.sendFeedback=function(a,b){this.callstats&&this.callstats.sendFeedback(a,b),v.analytics.sendEvent("feedback.rating",{value:a,detailed:b})},v.LOCAL_JID=c(116).LOCAL_JID,v.reportGlobalError=function(a){a instanceof e.default&&a.gum?v.sendGetUserMediaFailed(a):v.sendLog(a)},v.sendEventToAll=function(a,b){this.analytics.sendEvent(a,b),v.sendLog(JSON.stringify({name:a,data:b}))},a.exports=v}).call(b,"modules/statistics/statistics.js")},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.AUDIO_LEVEL="statistics.audioLevel",b.AUDIO_NOT_WORKING="statistics.audio_not_working",b.BYTE_SENT_STATS="statistics.byte_sent_stats",b.CONNECTION_STATS="statistics.connectionstats"},function(a,b,c){"use strict";function e(){}function f(){this.browserName=d.getBrowserName(),this.permanentProperties={}}var d=c(32);e.prototype.sendEvent=function(){},f.eventsQueue=[],f.prototype.sendEvent=function(a){var b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this._checkAnalyticsAndMaybeCacheEvent(a,b)){b.browserName=this.browserName;try{this.analytics.sendEvent(a,Object.assign({},this.permanentProperties,b))}catch(a){}}},f.prototype._checkAnalyticsAndMaybeCacheEvent=function(a,b){if(null===this.analytics||"undefined"==typeof this.analytics){if(!window.Analytics)return f.eventsQueue.push({action:a,data:b}),!1;this.loaded()}return!0},f.prototype.dispose=function(){this.analytics=new e,f.eventsQueue.length=0},f.prototype.addPermanentProperties=function(a){this.permanentProperties=Object.assign(this.permanentProperties,a)},f.prototype.loaded=function(){var a=window.Analytics||e;this.analytics=new a,f.eventsQueue.length&&(f.eventsQueue.forEach(function(a){this.sendEvent(a.action,a.data)}.bind(this)),f.eventsQueue.length=0)},a.exports=new f},function(a,b,c){(function(b){"use strict";function l(a,b){if(d.log("CallStats Status: err="+a+" msg="+b),n.initializeInProgress=!1,"success"!==a)return void(n.initializeFailed=!0);var c=j.addNewFabric(this.peerconnection,k,j.fabricUsage.multiplex,this.confID,this.pcCallback.bind(this)),e="success"===c.status;return e?(n.initializeFailed=!1,n.initialized=!0,n.feedbackEnabled=!0,void(n.reportsQueue.length&&(n.reportsQueue.forEach(function(a){if(a.type===o.ERROR){var b=a.data;n._reportError.call(this,b.type,b.error,b.pc)}else if(a.type===o.EVENT&&e){var c=a.data;j.sendFabricEvent(this.peerconnection,c.event,this.confID,c.eventData)}else if(a.type===o.MST_WITH_USERID){var d=a.data;j.associateMstWithUserID(this.peerconnection,d.callStatsId,this.confID,d.ssrc,d.usageLabel,d.containerId)}},this),n.reportsQueue.length=0))):(n.initializeFailed=!0,void d.log("callstats fabric not initilized",c.message))}function m(a){return function(){try{a.apply(this,arguments)}catch(a){e.callErrorHandler(a),d.error(a)}}}var d=c(9).getLogger(b),e=c(39),f=c(63),g=c(64),h={createOffer:"createOffer",createAnswer:"createAnswer",setLocalDescription:"setLocalDescription",setRemoteDescription:"setRemoteDescription",addIceCandidate:"addIceCandidate",getUserMedia:"getUserMedia",iceConnectionFailure:"iceConnectionFailure",signalingError:"signalingError",applicationLog:"applicationLog"},i={fabricHold:"fabricHold",fabricResume:"fabricResume",audioMute:"audioMute",audioUnmute:"audioUnmute",videoPause:"videoPause",videoResume:"videoResume",fabricUsageEvent:"fabricUsageEvent",fabricStats:"fabricStats",fabricTerminated:"fabricTerminated",screenShareStart:"screenShareStart",screenShareStop:"screenShareStop",dominantSpeaker:"dominantSpeaker",activeDeviceList:"activeDeviceList"},j=null,k="jitsi",n=m(function(a,b,c){try{n.feedbackEnabled=!1,j=new callstats($,g,f),this.peerconnection=a.peerconnection.peerconnection,this.userID={aliasName:Strophe.getResourceFromJid(a.room.myroomjid),userName:b.getCallStatsUserName()};var h=window.location;this.confID=h.hostname+"/"+c.roomName,this.callStatsID=c.callStatsID,this.callStatsSecret=c.callStatsSecret,n.initializeInProgress=!0,j.initialize(this.callStatsID,this.callStatsSecret,this.userID,l.bind(this))}catch(a){e.callErrorHandler(a),j=null,d.error(a)}});n.reportsQueue=[],n.initialized=!1,n.initializeInProgress=!1,n.initializeFailed=!1,n.feedbackEnabled=!1,n._checkInitialize=function(){!n.initialized&&n.initializeFailed&&j&&!n.initializeInProgress&&(n.initializeInProgress=!0,j.initialize(j.callStatsID,j.callStatsSecret,j.userID,l.bind(j)))};var o={ERROR:"error",EVENT:"event",MST_WITH_USERID:"mstWithUserID"};n.prototype.pcCallback=m(function(a,b){j&&"success"!==a&&d.error("Monitoring status: "+a+" msg: "+b)}),n.prototype.associateStreamWithVideoTag=function(a,b,c,e){if(j){var f=b?this.userID:"focus";m(function(){d.debug("Calling callStats.associateMstWithUserID with:",this.peerconnection,f,this.confID,a,c,e),n.initialized?j.associateMstWithUserID(this.peerconnection,f,this.confID,a,c,e):(n.reportsQueue.push({type:o.MST_WITH_USERID,data:{callStatsId:f,containerId:e,ssrc:a,usageLabel:c}}),n._checkInitialize())}).bind(this)()}},n.sendMuteEvent=m(function(a,b,c){var d=void 0;d="video"===b?a?i.videoPause:i.videoResume:a?i.audioMute:i.audioUnmute,n._reportEvent.call(c,d)}),n.sendScreenSharingEvent=m(function(a,b){n._reportEvent.call(b,a?i.screenShareStart:i.screenShareStop)}),n.sendDominantSpeakerEvent=m(function(a){n._reportEvent.call(a,i.dominantSpeaker)}),n.sendActiveDeviceListEvent=m(function(a,b){n._reportEvent.call(b,i.activeDeviceList,a)}),n._reportEvent=function(a,b){n.initialized?j.sendFabricEvent(this.peerconnection,a,this.confID,b):(n.reportsQueue.push({type:o.EVENT,data:{event:a,eventData:b}}),n._checkInitialize())},n.prototype.sendTerminateEvent=m(function(){n.initialized&&j.sendFabricEvent(this.peerconnection,j.fabricEvent.fabricTerminated,this.confID)}),n.prototype.sendDetectedAudioProblem=m(function(a){n._reportError.call(this,h.applicationLog,a,this.peerconnection)}),n.prototype.sendIceConnectionFailedEvent=m(function(a,b){n._reportError.call(b,h.iceConnectionFailure,null,a)}),n.prototype.sendFeedback=m(function(a,b){n.feedbackEnabled&&j.sendUserFeedback(this.confID,{userID:this.userID,overall:a,comment:b})}),n._reportError=function(a,b,c){b||(d.warn("No error is passed!"),b=new Error("Unknown error")),n.initialized?j.reportError(c,this.confID,a,b):(n.reportsQueue.push({type:o.ERROR,data:{type:a,error:b,pc:c}}),n._checkInitialize())},n.sendGetUserMediaFailed=m(function(a,b){n._reportError.call(b,h.getUserMedia,a,null)}),n.sendCreateOfferFailed=m(function(a,b,c){n._reportError.call(c,h.createOffer,a,b)}),n.sendCreateAnswerFailed=m(function(a,b,c){n._reportError.call(c,h.createAnswer,a,b)}),n.sendSetLocalDescFailed=m(function(a,b,c){n._reportError.call(c,h.setLocalDescription,a,b)}),n.sendSetRemoteDescFailed=m(function(a,b,c){n._reportError.call(c,h.setRemoteDescription,a,b)}),n.sendAddIceCandidateFailed=m(function(a,b,c){n._reportError.call(c,h.addIceCandidate,a,b)}),n.sendApplicationLog=m(function(a,b){n._reportError.call(b,h.applicationLog,a,null)}),n.dispose=function(){n.initialized=!1,n.initializeFailed=!1,n.initializeInProgress=!1},a.exports=n}).call(b,"modules/statistics/CallStats.js")},function(a,b,c){var d;!function(e){function f(a,b,c){var d=0,e=[0],f="",g=null,f=c||"UTF8";if("UTF8"!==f&&"UTF16"!==f)throw"encoding must be UTF8 or UTF16";if("HEX"===b){if(0!==a.length%2)throw"srcString of HEX type must be in byte increments";g=i(a),d=g.binLen,e=g.value}else if("ASCII"===b||"TEXT"===b)g=h(a,f),d=g.binLen,e=g.value;else{if("B64"!==b)throw"inputFormat must be HEX, TEXT, ASCII, or B64";g=j(a),d=g.binLen,e=g.value}this.getHash=function(a,b,c,f){var j,g=null,h=e.slice(),i=d;if(3===arguments.length?"number"!=typeof c&&(f=c,c=1):2===arguments.length&&(c=1),c!==parseInt(c,10)||1>c)throw"numRounds must a integer >= 1";switch(b){case"HEX":g=k;break;case"B64":g=l;break;default:throw"format must be HEX or B64"}if("SHA-1"===a)for(j=0;j<c;j++)h=K(h,i),i=160;else if("SHA-224"===a)for(j=0;j<c;j++)h=L(h,i,a),i=224;else if("SHA-256"===a)for(j=0;j<c;j++)h=L(h,i,a),i=256;else if("SHA-384"===a)for(j=0;j<c;j++)h=L(h,i,a),i=384;else{if("SHA-512"!==a)throw"Chosen SHA variant is not supported";for(j=0;j<c;j++)h=L(h,i,a),i=512}return g(h,m(f))},this.getHMAC=function(a,b,c,g,n){var o,p,q,r,s=[],t=[];switch(o=null,g){case"HEX":g=k;break;case"B64":g=l;break;default:throw"outputFormat must be HEX or B64"}if("SHA-1"===c)p=64,r=160;else if("SHA-224"===c)p=64,r=224;else if("SHA-256"===c)p=64,r=256;else if("SHA-384"===c)p=128,r=384;else{if("SHA-512"!==c)throw"Chosen SHA variant is not supported";p=128,r=512}if("HEX"===b)o=i(a),q=o.binLen,o=o.value;else if("ASCII"===b||"TEXT"===b)o=h(a,f),q=o.binLen,o=o.value;else{if("B64"!==b)throw"inputFormat must be HEX, TEXT, ASCII, or B64";o=j(a),q=o.binLen,o=o.value}for(a=8*p,b=p/4-1,p<q/8?(o="SHA-1"===c?K(o,q):L(o,q,c),o[b]&=4294967040):p>q/8&&(o[b]&=4294967040),p=0;p<=b;p+=1)s[p]=909522486^o[p],t[p]=1549556828^o[p];return c="SHA-1"===c?K(t.concat(K(s.concat(e),a+d)),a+r):L(t.concat(L(s.concat(e),a+d,c)),a+r,c),g(c,m(n))}}function g(a,b){this.a=a,this.b=b}function h(a,b){var d,g,c=[],e=[],f=0;if("UTF8"===b)for(g=0;g<a.length;g+=1)for(d=a.charCodeAt(g),e=[],2048<d?(e[0]=224|(61440&d)>>>12,e[1]=128|(4032&d)>>>6,e[2]=128|63&d):128<d?(e[0]=192|(1984&d)>>>6,e[1]=128|63&d):e[0]=d,d=0;d<e.length;d+=1)c[f>>>2]|=e[d]<<24-f%4*8,f+=1;else if("UTF16"===b)for(g=0;g<a.length;g+=1)c[f>>>2]|=a.charCodeAt(g)<<16-f%4*8,f+=2;return{value:c,binLen:8*f}}function i(a){var d,e,b=[],c=a.length;if(0!==c%2)throw"String of HEX type must be in byte increments";for(d=0;d<c;d+=2){if(e=parseInt(a.substr(d,2),16),isNaN(e))throw"String of HEX type contains invalid characters";b[d>>>3]|=e<<24-d%8*4}return{value:b,binLen:4*c}}function j(a){var d,e,f,g,h,b=[],c=0;if(-1===a.search(/^[a-zA-Z0-9=+\/]+$/))throw"Invalid character in base-64 string";if(d=a.indexOf("="),a=a.replace(/\=/g,""),-1!==d&&d<a.length)throw"Invalid '=' found in base-64 string";for(e=0;e<a.length;e+=4){for(h=a.substr(e,4),f=g=0;f<h.length;f+=1)d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(h[f]),g|=d<<18-6*f;for(f=0;f<h.length-1;f+=1)b[c>>2]|=(g>>>16-8*f&255)<<24-c%4*8,c+=1}return{value:b,binLen:8*c}}function k(a,b){var e,f,c="",d=4*a.length;for(e=0;e<d;e+=1)f=a[e>>>2]>>>8*(3-e%4),c+="0123456789abcdef".charAt(f>>>4&15)+"0123456789abcdef".charAt(15&f);return b.outputUpper?c.toUpperCase():c}function l(a,b){var e,f,g,c="",d=4*a.length;for(e=0;e<d;e+=3)for(g=(a[e>>>2]>>>8*(3-e%4)&255)<<16|(a[e+1>>>2]>>>8*(3-(e+1)%4)&255)<<8|a[e+2>>>2]>>>8*(3-(e+2)%4)&255,f=0;4>f;f+=1)c=8*e+6*f<=32*a.length?c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g>>>6*(3-f)&63):c+b.b64Pad;return c}function m(a){var b={outputUpper:!1,b64Pad:"="};try{a.hasOwnProperty("outputUpper")&&(b.outputUpper=a.outputUpper),a.hasOwnProperty("b64Pad")&&(b.b64Pad=a.b64Pad)}catch(a){}if("boolean"!=typeof b.outputUpper)throw"Invalid outputUpper formatting option";if("string"!=typeof b.b64Pad)throw"Invalid b64Pad formatting option";return b}function n(a,b){return a<<b|a>>>32-b}function o(a,b){return a>>>b|a<<32-b}function p(a,b){var c=null,c=new g(a.a,a.b);return c=32>=b?new g(c.a>>>b|c.b<<32-b&4294967295,c.b>>>b|c.a<<32-b&4294967295):new g(c.b>>>b-32|c.a<<64-b&4294967295,c.a>>>b-32|c.b<<64-b&4294967295)}function q(a,b){var c=null;return c=32>=b?new g(a.a>>>b,a.b>>>b|a.a<<32-b&4294967295):new g(0,a.a>>>b-32)}function r(a,b,c){return a^b^c}function s(a,b,c){return a&b^~a&c}function t(a,b,c){return new g(a.a&b.a^~a.a&c.a,a.b&b.b^~a.b&c.b)}function u(a,b,c){return a&b^a&c^b&c}function v(a,b,c){return new g(a.a&b.a^a.a&c.a^b.a&c.a,a.b&b.b^a.b&c.b^b.b&c.b)}function w(a){return o(a,2)^o(a,13)^o(a,22)}function x(a){var b=p(a,28),c=p(a,34);return a=p(a,39),new g(b.a^c.a^a.a,b.b^c.b^a.b)}function y(a){return o(a,6)^o(a,11)^o(a,25)}function z(a){var b=p(a,14),c=p(a,18);return a=p(a,41),new g(b.a^c.a^a.a,b.b^c.b^a.b)}function A(a){return o(a,7)^o(a,18)^a>>>3}function B(a){var b=p(a,1),c=p(a,8);return a=q(a,7),new g(b.a^c.a^a.a,b.b^c.b^a.b)}function C(a){return o(a,17)^o(a,19)^a>>>10}function D(a){var b=p(a,19),c=p(a,61);return a=q(a,6),new g(b.a^c.a^a.a,b.b^c.b^a.b)}function E(a,b){var c=(65535&a)+(65535&b);return((a>>>16)+(b>>>16)+(c>>>16)&65535)<<16|65535&c}function F(a,b,c,d){var e=(65535&a)+(65535&b)+(65535&c)+(65535&d);return((a>>>16)+(b>>>16)+(c>>>16)+(d>>>16)+(e>>>16)&65535)<<16|65535&e}function G(a,b,c,d,e){var f=(65535&a)+(65535&b)+(65535&c)+(65535&d)+(65535&e);return((a>>>16)+(b>>>16)+(c>>>16)+(d>>>16)+(e>>>16)+(f>>>16)&65535)<<16|65535&f}function H(a,b){var c,d,e;return c=(65535&a.b)+(65535&b.b),d=(a.b>>>16)+(b.b>>>16)+(c>>>16),e=(65535&d)<<16|65535&c,c=(65535&a.a)+(65535&b.a)+(d>>>16),d=(a.a>>>16)+(b.a>>>16)+(c>>>16),new g((65535&d)<<16|65535&c,e)}function I(a,b,c,d){var e,f,h;return e=(65535&a.b)+(65535&b.b)+(65535&c.b)+(65535&d.b),f=(a.b>>>16)+(b.b>>>16)+(c.b>>>16)+(d.b>>>16)+(e>>>16),h=(65535&f)<<16|65535&e,e=(65535&a.a)+(65535&b.a)+(65535&c.a)+(65535&d.a)+(f>>>16),f=(a.a>>>16)+(b.a>>>16)+(c.a>>>16)+(d.a>>>16)+(e>>>16),new g((65535&f)<<16|65535&e,h)}function J(a,b,c,d,e){var f,h,i;return f=(65535&a.b)+(65535&b.b)+(65535&c.b)+(65535&d.b)+(65535&e.b),h=(a.b>>>16)+(b.b>>>16)+(c.b>>>16)+(d.b>>>16)+(e.b>>>16)+(f>>>16),i=(65535&h)<<16|65535&f,f=(65535&a.a)+(65535&b.a)+(65535&c.a)+(65535&d.a)+(65535&e.a)+(h>>>16),h=(a.a>>>16)+(b.a>>>16)+(c.a>>>16)+(d.a>>>16)+(e.a>>>16)+(f>>>16),new g((65535&h)<<16|65535&f,i)}function K(a,b){var d,e,f,g,h,i,p,q,v,c=[],j=s,k=r,l=u,m=n,o=E,t=G,w=[1732584193,4023233417,2562383102,271733878,3285377520];for(a[b>>>5]|=128<<24-b%32,a[(b+65>>>9<<4)+15]=b,v=a.length,p=0;p<v;p+=16){for(d=w[0],e=w[1],f=w[2],g=w[3],h=w[4],q=0;80>q;q+=1)c[q]=16>q?a[q+p]:m(c[q-3]^c[q-8]^c[q-14]^c[q-16],1),i=20>q?t(m(d,5),j(e,f,g),h,1518500249,c[q]):40>q?t(m(d,5),k(e,f,g),h,1859775393,c[q]):60>q?t(m(d,5),l(e,f,g),h,2400959708,c[q]):t(m(d,5),k(e,f,g),h,3395469782,c[q]),h=g,g=f,f=m(e,30),e=d,d=i;w[0]=o(d,w[0]),w[1]=o(e,w[1]),w[2]=o(f,w[2]),w[3]=o(g,w[3]),w[4]=o(h,w[4])}return w}function L(a,b,c){var d,e,f,h,i,j,k,l,m,n,o,p,q,r,K,L,M,N,O,P,Q,R,S,T,U,W,V=[],X=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];if(n=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],e=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],"SHA-224"===c||"SHA-256"===c)o=64,d=(b+65>>>9<<4)+15,r=16,K=1,U=Number,L=E,M=F,N=G,O=A,P=C,Q=w,R=y,T=u,S=s,n="SHA-224"===c?n:e;else{if("SHA-384"!==c&&"SHA-512"!==c)throw"Unexpected error in SHA-2 implementation";o=80,d=(b+128>>>10<<5)+31,r=32,K=2,U=g,L=H,M=I,N=J,O=B,P=D,Q=x,R=z,T=v,S=t,X=[new U(X[0],3609767458),new U(X[1],602891725),new U(X[2],3964484399),new U(X[3],2173295548),new U(X[4],4081628472),new U(X[5],3053834265),new U(X[6],2937671579),new U(X[7],3664609560),new U(X[8],2734883394),new U(X[9],1164996542),new U(X[10],1323610764),new U(X[11],3590304994),new U(X[12],4068182383),new U(X[13],991336113),new U(X[14],633803317),new U(X[15],3479774868),new U(X[16],2666613458),new U(X[17],944711139),new U(X[18],2341262773),new U(X[19],2007800933),new U(X[20],1495990901),new U(X[21],1856431235),new U(X[22],3175218132),new U(X[23],2198950837),new U(X[24],3999719339),new U(X[25],766784016),new U(X[26],2566594879),new U(X[27],3203337956),new U(X[28],1034457026),new U(X[29],2466948901),new U(X[30],3758326383),new U(X[31],168717936),new U(X[32],1188179964),new U(X[33],1546045734),new U(X[34],1522805485),new U(X[35],2643833823),new U(X[36],2343527390),new U(X[37],1014477480),new U(X[38],1206759142),new U(X[39],344077627),new U(X[40],1290863460),new U(X[41],3158454273),new U(X[42],3505952657),new U(X[43],106217008),new U(X[44],3606008344),new U(X[45],1432725776),new U(X[46],1467031594),new U(X[47],851169720),new U(X[48],3100823752),new U(X[49],1363258195),new U(X[50],3750685593),new U(X[51],3785050280),new U(X[52],3318307427),new U(X[53],3812723403),new U(X[54],2003034995),new U(X[55],3602036899),new U(X[56],1575990012),new U(X[57],1125592928),new U(X[58],2716904306),new U(X[59],442776044),new U(X[60],593698344),new U(X[61],3733110249),new U(X[62],2999351573),new U(X[63],3815920427),new U(3391569614,3928383900),new U(3515267271,566280711),new U(3940187606,3454069534),new U(4118630271,4000239992),new U(116418474,1914138554),new U(174292421,2731055270),new U(289380356,3203993006),new U(460393269,320620315),new U(685471733,587496836),new U(852142971,1086792851),new U(1017036298,365543100),new U(1126000580,2618297676),new U(1288033470,3409855158),new U(1501505948,4234509866),new U(1607167915,987167468),new U(1816402316,1246189591)],n="SHA-384"===c?[new U(3418070365,n[0]),new U(1654270250,n[1]),new U(2438529370,n[2]),new U(355462360,n[3]),new U(1731405415,n[4]),new U(41048885895,n[5]),new U(3675008525,n[6]),new U(1203062813,n[7])]:[new U(e[0],4089235720),new U(e[1],2227873595),new U(e[2],4271175723),new U(e[3],1595750129),new U(e[4],2917565137),new U(e[5],725511199),new U(e[6],4215389547),new U(e[7],327033209)]}for(a[b>>>5]|=128<<24-b%32,a[d]=b,W=a.length,p=0;p<W;p+=r){for(b=n[0],d=n[1],e=n[2],f=n[3],h=n[4],i=n[5],j=n[6],k=n[7],q=0;q<o;q+=1)V[q]=16>q?new U(a[q*K+p],a[q*K+p+1]):M(P(V[q-2]),V[q-7],O(V[q-15]),V[q-16]),l=N(k,R(h),S(h,i,j),X[q],V[q]),m=L(Q(b),T(b,d,e)),k=j,j=i,i=h,h=L(f,l),f=e,e=d,d=b,b=L(l,m);n[0]=L(b,n[0]),n[1]=L(d,n[1]),n[2]=L(e,n[2]),n[3]=L(f,n[3]),n[4]=L(h,n[4]),n[5]=L(i,n[5]),n[6]=L(j,n[6]),n[7]=L(k,n[7])}if("SHA-224"===c)a=[n[0],n[1],n[2],n[3],n[4],n[5],n[6]];else if("SHA-256"===c)a=n;else if("SHA-384"===c)a=[n[0].a,n[0].b,n[1].a,n[1].b,n[2].a,n[2].b,n[3].a,n[3].b,n[4].a,n[4].b,n[5].a,n[5].b];else{if("SHA-512"!==c)throw"Unexpected error in SHA-2 implementation";a=[n[0].a,n[0].b,n[1].a,n[1].b,n[2].a,n[2].b,n[3].a,n[3].b,n[4].a,n[4].b,n[5].a,n[5].b,n[6].a,n[6].b,n[7].a,n[7].b]}return a}d=function(){return f}.call(b,c,b,a),!(void 0!==d&&(a.exports=d))}(this)},function(a,b,c){function i(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var m,c=d(a),e=c.source,i=c.id,j=c.path,k=h[i]&&j in h[i].nsps,l=b.forceNew||b["force new connection"]||!1===b.multiplex||k;return l?(g("ignoring socket cache for %s",e),m=f(e,b)):(h[i]||(g("new io instance for %s",e),h[i]=f(e,b)),m=h[i]),m.socket(c.path)}var d=c(65),e=c(70),f=c(78),g=c(67)("socket.io-client");a.exports=b=i;var h=b.managers={};b.protocol=e.protocol,b.connect=i,b.Manager=c(78),b.Socket=c(105)},function(a,b,c){(function(b){function f(a,c){var f=a,c=c||b.location;null==a&&(a=c.protocol+"//"+c.host),"string"==typeof a&&("/"==a.charAt(0)&&(a="/"==a.charAt(1)?c.protocol+a:c.host+a),/^(https?|wss?):\/\//.test(a)||(e("protocol-less url %s",a),a="undefined"!=typeof c?c.protocol+"//"+a:"https://"+a),e("parse %s",a),f=d(a)),f.port||(/^(http|ws)$/.test(f.protocol)?f.port="80":/^(http|ws)s$/.test(f.protocol)&&(f.port="443")),f.path=f.path||"/";var g=f.host.indexOf(":")!==-1,h=g?"["+f.host+"]":f.host;return f.id=f.protocol+"://"+h+":"+f.port,f.href=f.protocol+"://"+h+(c&&c.port==f.port?"":":"+f.port),f}var d=c(66),e=c(67)("socket.io-client:url");a.exports=f}).call(b,function(){return this}())},function(a,b){var c=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,d=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];a.exports=function(b){var e=b,f=b.indexOf("["),g=b.indexOf("]");f!=-1&&g!=-1&&(b=b.substring(0,f)+b.substring(f,g).replace(/:/g,";")+b.substring(g,b.length));for(var h=c.exec(b||""),i={},j=14;j--;)i[d[j]]=h[j]||"";return f!=-1&&g!=-1&&(i.source=e,i.host=i.host.substring(1,i.host.length-1).replace(/;/g,":"),i.authority=i.authority.replace("[","").replace("]","").replace(/;/g,":"),i.ipv6uri=!0),i}},function(a,b,c){function d(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function e(){var a=arguments,c=this.useColors;if(a[0]=(c?"%c":"")+this.namespace+(c?" %c":" ")+a[0]+(c?"%c ":" ")+"+"+b.humanize(this.diff),!c)return a;var d="color: "+this.color;a=[a[0],d,"color: inherit"].concat(Array.prototype.slice.call(a,1));var e=0,f=0;return a[0].replace(/%[a-z%]/g,function(a){"%%"!==a&&(e++,"%c"===a&&(f=e))}),a.splice(f,0,d),a}function f(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function g(a){try{null==a?b.storage.removeItem("debug"):b.storage.debug=a}catch(a){}}function h(){var a;try{a=b.storage.debug}catch(a){}return a}function i(){try{return window.localStorage}catch(a){}}b=a.exports=c(68),b.log=f,b.formatArgs=e,b.save=g,b.load=h,b.useColors=d,b.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:i(),b.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],b.formatters.j=function(a){return JSON.stringify(a)},b.enable(h())},function(a,b,c){function f(){return b.colors[d++%b.colors.length]}function g(a){function c(){}function d(){var a=d,c=+new Date,g=c-(e||c);a.diff=g,a.prev=e,a.curr=c,e=c,null==a.useColors&&(a.useColors=b.useColors()),null==a.color&&a.useColors&&(a.color=f());var h=Array.prototype.slice.call(arguments);h[0]=b.coerce(h[0]),"string"!=typeof h[0]&&(h=["%o"].concat(h));var i=0;h[0]=h[0].replace(/%([a-z%])/g,function(c,d){if("%%"===c)return c;i++;var e=b.formatters[d];if("function"==typeof e){var f=h[i];c=e.call(a,f),h.splice(i,1),i--}return c}),"function"==typeof b.formatArgs&&(h=b.formatArgs.apply(a,h));var j=d.log||b.log||console.log.bind(console);j.apply(a,h)}c.enabled=!1,d.enabled=!0;var g=b.enabled(a)?d:c;return g.namespace=a,g}function h(a){b.save(a);for(var c=(a||"").split(/[\s,]+/),d=c.length,e=0;e<d;e++)c[e]&&(a=c[e].replace(/\*/g,".*?"),"-"===a[0]?b.skips.push(new RegExp("^"+a.substr(1)+"$")):b.names.push(new RegExp("^"+a+"$")));
}function i(){b.enable("")}function j(a){var c,d;for(c=0,d=b.skips.length;c<d;c++)if(b.skips[c].test(a))return!1;for(c=0,d=b.names.length;c<d;c++)if(b.names[c].test(a))return!0;return!1}function k(a){return a instanceof Error?a.stack||a.message:a}b=a.exports=g,b.coerce=k,b.disable=i,b.enable=h,b.enabled=j,b.humanize=c(69),b.names=[],b.skips=[],b.formatters={};var e,d=0},function(a,b){function h(a){if(a=""+a,!(a.length>1e4)){var b=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(a);if(b){var h=parseFloat(b[1]),i=(b[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return h*g;case"days":case"day":case"d":return h*f;case"hours":case"hour":case"hrs":case"hr":case"h":return h*e;case"minutes":case"minute":case"mins":case"min":case"m":return h*d;case"seconds":case"second":case"secs":case"sec":case"s":return h*c;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return h}}}}function i(a){return a>=f?Math.round(a/f)+"d":a>=e?Math.round(a/e)+"h":a>=d?Math.round(a/d)+"m":a>=c?Math.round(a/c)+"s":a+"ms"}function j(a){return k(a,f,"day")||k(a,e,"hour")||k(a,d,"minute")||k(a,c,"second")||a+" ms"}function k(a,b,c){if(!(a<b))return a<1.5*b?Math.floor(a/b)+" "+c:Math.ceil(a/b)+" "+c+"s"}var c=1e3,d=60*c,e=60*d,f=24*e,g=365.25*f;a.exports=function(a,b){return b=b||{},"string"==typeof a?h(a):b.long?j(a):i(a)}},function(a,b,c){function j(){}function k(a){var c="",f=!1;return c+=a.type,b.BINARY_EVENT!=a.type&&b.BINARY_ACK!=a.type||(c+=a.attachments,c+="-"),a.nsp&&"/"!=a.nsp&&(f=!0,c+=a.nsp),null!=a.id&&(f&&(c+=",",f=!1),c+=a.id),null!=a.data&&(f&&(c+=","),c+=e.stringify(a.data)),d("encoded %j as %s",a,c),c}function l(a,b){function c(a){var c=h.deconstructPacket(a),d=k(c.packet),e=c.buffers;e.unshift(d),b(e)}h.removeBlobs(a,c)}function m(){this.reconstructor=null}function n(a){var c={},f=0;if(c.type=Number(a.charAt(0)),null==b.types[c.type])return p();if(b.BINARY_EVENT==c.type||b.BINARY_ACK==c.type){for(var g="";"-"!=a.charAt(++f)&&(g+=a.charAt(f),f!=a.length););if(g!=Number(g)||"-"!=a.charAt(f))throw new Error("Illegal attachments");c.attachments=Number(g)}if("/"==a.charAt(f+1))for(c.nsp="";++f;){var h=a.charAt(f);if(","==h)break;if(c.nsp+=h,f==a.length)break}else c.nsp="/";var i=a.charAt(f+1);if(""!==i&&Number(i)==i){for(c.id="";++f;){var h=a.charAt(f);if(null==h||Number(h)!=h){--f;break}if(c.id+=a.charAt(f),f==a.length)break}c.id=Number(c.id)}if(a.charAt(++f))try{c.data=e.parse(a.substr(f))}catch(a){return p()}return d("decoded %s as %j",a,c),c}function o(a){this.reconPack=a,this.buffers=[]}function p(a){return{type:b.ERROR,data:"parser error"}}var d=c(67)("socket.io-parser"),e=c(71),g=(c(74),c(75)),h=c(76),i=c(77);b.protocol=4,b.types=["CONNECT","DISCONNECT","EVENT","ACK","ERROR","BINARY_EVENT","BINARY_ACK"],b.CONNECT=0,b.DISCONNECT=1,b.EVENT=2,b.ACK=3,b.ERROR=4,b.BINARY_EVENT=5,b.BINARY_ACK=6,b.Encoder=j,b.Decoder=m,j.prototype.encode=function(a,c){if(d("encoding packet %j",a),b.BINARY_EVENT==a.type||b.BINARY_ACK==a.type)l(a,c);else{var e=k(a);c([e])}},g(m.prototype),m.prototype.add=function(a){var c;if("string"==typeof a)c=n(a),b.BINARY_EVENT==c.type||b.BINARY_ACK==c.type?(this.reconstructor=new o(c),0===this.reconstructor.reconPack.attachments&&this.emit("decoded",c)):this.emit("decoded",c);else{if(!i(a)&&!a.base64)throw new Error("Unknown type: "+a);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");c=this.reconstructor.takeBinaryData(a),c&&(this.reconstructor=null,this.emit("decoded",c))}},m.prototype.destroy=function(){this.reconstructor&&this.reconstructor.finishedReconstruction()},o.prototype.takeBinaryData=function(a){if(this.buffers.push(a),this.buffers.length==this.reconPack.attachments){var b=h.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),b}return null},o.prototype.finishedReconstruction=function(){this.reconPack=null,this.buffers=[]}},function(a,b,c){var d;(function(a,e){(function(){function k(a,b){function t(a){if(t[a]!==r)return t[a];var e;if("bug-string-char-index"==a)e="a"!="a"[0];else if("json"==a)e=t("json-stringify")&&t("json-parse");else{var g,h='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';if("json-stringify"==a){var i=b.stringify,j="function"==typeof i&&s;if(j){(g=function(){return 1}).toJSON=g;try{j="0"===i(0)&&"0"===i(new c)&&'""'==i(new d)&&i(o)===r&&i(r)===r&&i()===r&&"1"===i(g)&&"[1]"==i([g])&&"[null]"==i([r])&&"null"==i(null)&&"[null,null,null]"==i([r,o,null])&&i({a:[g,!0,!1,null,"\0\b\n\f\r\t"]})==h&&"1"===i(null,g)&&"[\n 1,\n 2\n]"==i([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==i(new f(-864e13))&&'"+275760-09-13T00:00:00.000Z"'==i(new f(864e13))&&'"-000001-01-01T00:00:00.000Z"'==i(new f(-621987552e5))&&'"1969-12-31T23:59:59.999Z"'==i(new f(-1))}catch(a){j=!1}}e=j}if("json-parse"==a){var k=b.parse;if("function"==typeof k)try{if(0===k("0")&&!k(!1)){g=k(h);var l=5==g.a.length&&1===g.a[0];if(l){try{l=!k('"\t"')}catch(a){}if(l)try{l=1!==k("01")}catch(a){}if(l)try{l=1!==k("1.")}catch(a){}}}}catch(a){l=!1}e=l}}return t[a]=!!e}a||(a=i.Object()),b||(b=i.Object());var c=a.Number||i.Number,d=a.String||i.String,e=a.Object||i.Object,f=a.Date||i.Date,h=a.SyntaxError||i.SyntaxError,j=a.TypeError||i.TypeError,l=a.Math||i.Math,m=a.JSON||i.JSON;"object"==typeof m&&m&&(b.stringify=m.stringify,b.parse=m.parse);var p,q,r,n=e.prototype,o=n.toString,s=new f(-0xc782b5b800cec);try{s=s.getUTCFullYear()==-109252&&0===s.getUTCMonth()&&1===s.getUTCDate()&&10==s.getUTCHours()&&37==s.getUTCMinutes()&&6==s.getUTCSeconds()&&708==s.getUTCMilliseconds()}catch(a){}if(!t("json")){var u="[object Function]",v="[object Date]",w="[object Number]",x="[object String]",y="[object Array]",z="[object Boolean]",A=t("bug-string-char-index");if(!s)var B=l.floor,C=[0,31,59,90,120,151,181,212,243,273,304,334],D=function(a,b){return C[b]+365*(a-1970)+B((a-1969+(b=+(b>1)))/4)-B((a-1901+b)/100)+B((a-1601+b)/400)};if((p=n.hasOwnProperty)||(p=function(a){var c,b={};return(b.__proto__=null,b.__proto__={toString:1},b).toString!=o?p=function(a){var b=this.__proto__,c=a in(this.__proto__=null,this);return this.__proto__=b,c}:(c=b.constructor,p=function(a){var b=(this.constructor||c).prototype;return a in this&&!(a in b&&this[a]===b[a])}),b=null,p.call(this,a)}),q=function(a,b){var d,e,f,c=0;(d=function(){this.valueOf=0}).prototype.valueOf=0,e=new d;for(f in e)p.call(e,f)&&c++;return d=e=null,c?q=2==c?function(a,b){var e,c={},d=o.call(a)==u;for(e in a)d&&"prototype"==e||p.call(c,e)||!(c[e]=1)||!p.call(a,e)||b(e)}:function(a,b){var d,e,c=o.call(a)==u;for(d in a)c&&"prototype"==d||!p.call(a,d)||(e="constructor"===d)||b(d);(e||p.call(a,d="constructor"))&&b(d)}:(e=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],q=function(a,b){var d,f,c=o.call(a)==u,h=!c&&"function"!=typeof a.constructor&&g[typeof a.hasOwnProperty]&&a.hasOwnProperty||p;for(d in a)c&&"prototype"==d||!h.call(a,d)||b(d);for(f=e.length;d=e[--f];h.call(a,d)&&b(d));}),q(a,b)},!t("json-stringify")){var E={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},F="000000",G=function(a,b){return(F+(b||0)).slice(-a)},H="\\u00",I=function(a){for(var b='"',c=0,d=a.length,e=!A||d>10,f=e&&(A?a.split(""):a);c<d;c++){var g=a.charCodeAt(c);switch(g){case 8:case 9:case 10:case 12:case 13:case 34:case 92:b+=E[g];break;default:if(g<32){b+=H+G(2,g.toString(16));break}b+=e?f[c]:a.charAt(c)}}return b+'"'},J=function(a,b,c,d,e,f,g){var h,i,k,l,m,n,s,t,u,A,C,E,F,H,K,L;try{h=b[a]}catch(a){}if("object"==typeof h&&h)if(i=o.call(h),i!=v||p.call(h,"toJSON"))"function"==typeof h.toJSON&&(i!=w&&i!=x&&i!=y||p.call(h,"toJSON"))&&(h=h.toJSON(a));else if(h>-1/0&&h<1/0){if(D){for(m=B(h/864e5),k=B(m/365.2425)+1970-1;D(k+1,0)<=m;k++);for(l=B((m-D(k,0))/30.42);D(k,l+1)<=m;l++);m=1+m-D(k,l),n=(h%864e5+864e5)%864e5,s=B(n/36e5)%24,t=B(n/6e4)%60,u=B(n/1e3)%60,A=n%1e3}else k=h.getUTCFullYear(),l=h.getUTCMonth(),m=h.getUTCDate(),s=h.getUTCHours(),t=h.getUTCMinutes(),u=h.getUTCSeconds(),A=h.getUTCMilliseconds();h=(k<=0||k>=1e4?(k<0?"-":"+")+G(6,k<0?-k:k):G(4,k))+"-"+G(2,l+1)+"-"+G(2,m)+"T"+G(2,s)+":"+G(2,t)+":"+G(2,u)+"."+G(3,A)+"Z"}else h=null;if(c&&(h=c.call(b,a,h)),null===h)return"null";if(i=o.call(h),i==z)return""+h;if(i==w)return h>-1/0&&h<1/0?""+h:"null";if(i==x)return I(""+h);if("object"==typeof h){for(H=g.length;H--;)if(g[H]===h)throw j();if(g.push(h),C=[],K=f,f+=e,i==y){for(F=0,H=h.length;F<H;F++)E=J(F,h,c,d,e,f,g),C.push(E===r?"null":E);L=C.length?e?"[\n"+f+C.join(",\n"+f)+"\n"+K+"]":"["+C.join(",")+"]":"[]"}else q(d||h,function(a){var b=J(a,h,c,d,e,f,g);b!==r&&C.push(I(a)+":"+(e?" ":"")+b)}),L=C.length?e?"{\n"+f+C.join(",\n"+f)+"\n"+K+"}":"{"+C.join(",")+"}":"{}";return g.pop(),L}};b.stringify=function(a,b,c){var d,e,f,h;if(g[typeof b]&&b)if((h=o.call(b))==u)e=b;else if(h==y){f={};for(var k,i=0,j=b.length;i<j;k=b[i++],h=o.call(k),(h==x||h==w)&&(f[k]=1));}if(c)if((h=o.call(c))==w){if((c-=c%1)>0)for(d="",c>10&&(c=10);d.length<c;d+=" ");}else h==x&&(d=c.length<=10?c:c.slice(0,10));return J("",(k={},k[""]=a,k),e,f,d,"",[])}}if(!t("json-parse")){var M,N,K=d.fromCharCode,L={92:"\\",34:'"',47:"/",98:"\b",116:"\t",110:"\n",102:"\f",114:"\r"},O=function(){throw M=N=null,h()},P=function(){for(var c,d,e,f,g,a=N,b=a.length;M<b;)switch(g=a.charCodeAt(M)){case 9:case 10:case 13:case 32:M++;break;case 123:case 125:case 91:case 93:case 58:case 44:return c=A?a.charAt(M):a[M],M++,c;case 34:for(c="@",M++;M<b;)if(g=a.charCodeAt(M),g<32)O();else if(92==g)switch(g=a.charCodeAt(++M)){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:c+=L[g],M++;break;case 117:for(d=++M,e=M+4;M<e;M++)g=a.charCodeAt(M),g>=48&&g<=57||g>=97&&g<=102||g>=65&&g<=70||O();c+=K("0x"+a.slice(d,M));break;default:O()}else{if(34==g)break;for(g=a.charCodeAt(M),d=M;g>=32&&92!=g&&34!=g;)g=a.charCodeAt(++M);c+=a.slice(d,M)}if(34==a.charCodeAt(M))return M++,c;O();default:if(d=M,45==g&&(f=!0,g=a.charCodeAt(++M)),g>=48&&g<=57){for(48==g&&(g=a.charCodeAt(M+1),g>=48&&g<=57)&&O(),f=!1;M<b&&(g=a.charCodeAt(M),g>=48&&g<=57);M++);if(46==a.charCodeAt(M)){for(e=++M;e<b&&(g=a.charCodeAt(e),g>=48&&g<=57);e++);e==M&&O(),M=e}if(g=a.charCodeAt(M),101==g||69==g){for(g=a.charCodeAt(++M),43!=g&&45!=g||M++,e=M;e<b&&(g=a.charCodeAt(e),g>=48&&g<=57);e++);e==M&&O(),M=e}return+a.slice(d,M)}if(f&&O(),"true"==a.slice(M,M+4))return M+=4,!0;if("false"==a.slice(M,M+5))return M+=5,!1;if("null"==a.slice(M,M+4))return M+=4,null;O()}return"$"},Q=function(a){var b,c;if("$"==a&&O(),"string"==typeof a){if("@"==(A?a.charAt(0):a[0]))return a.slice(1);if("["==a){for(b=[];a=P(),"]"!=a;c||(c=!0))c&&(","==a?(a=P(),"]"==a&&O()):O()),","==a&&O(),b.push(Q(a));return b}if("{"==a){for(b={};a=P(),"}"!=a;c||(c=!0))c&&(","==a?(a=P(),"}"==a&&O()):O()),","!=a&&"string"==typeof a&&"@"==(A?a.charAt(0):a[0])&&":"==P()||O(),b[a.slice(1)]=Q(P());return b}O()}return a},R=function(a,b,c){var d=S(a,b,c);d===r?delete a[b]:a[b]=d},S=function(a,b,c){var e,d=a[b];if("object"==typeof d&&d)if(o.call(d)==y)for(e=d.length;e--;)R(d,e,c);else q(d,function(a){R(d,a,c)});return c.call(a,b,d)};b.parse=function(a,b){var c,d;return M=0,N=""+a,c=Q(P()),"$"!=P()&&O(),M=N=null,b&&o.call(b)==u?S((d={},d[""]=c,d),"",b):c}}}return b.runInContext=k,b}var f=c(73),g={function:!0,object:!0},h=g[typeof b]&&b&&!b.nodeType&&b,i=g[typeof window]&&window||this,j=h&&g[typeof a]&&a&&!a.nodeType&&"object"==typeof e&&e;if(!j||j.global!==j&&j.window!==j&&j.self!==j||(i=j),h&&!f)k(i,h);else{var l=i.JSON,m=i.JSON3,n=!1,o=k(i,i.JSON3={noConflict:function(){return n||(n=!0,i.JSON=l,i.JSON3=m,l=m=null),o}});i.JSON={parse:o.parse,stringify:o.stringify}}f&&(d=function(){return o}.call(b,c,b,a),!(void 0!==d&&(a.exports=d)))}).call(this)}).call(b,c(72)(a),function(){return this}())},function(a,b){a.exports=function(a){return a.webpackPolyfill||(a.deprecate=function(){},a.paths=[],a.children=[],a.webpackPolyfill=1),a}},function(a,b){(function(b){a.exports=b}).call(b,{})},function(a,b){a.exports=Array.isArray||function(a){return"[object Array]"==Object.prototype.toString.call(a)}},function(a,b){function c(a){if(a)return d(a)}function d(a){for(var b in c.prototype)a[b]=c.prototype[b];return a}a.exports=c,c.prototype.on=c.prototype.addEventListener=function(a,b){return this._callbacks=this._callbacks||{},(this._callbacks[a]=this._callbacks[a]||[]).push(b),this},c.prototype.once=function(a,b){function d(){c.off(a,d),b.apply(this,arguments)}var c=this;return this._callbacks=this._callbacks||{},d.fn=b,this.on(a,d),this},c.prototype.off=c.prototype.removeListener=c.prototype.removeAllListeners=c.prototype.removeEventListener=function(a,b){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var c=this._callbacks[a];if(!c)return this;if(1==arguments.length)return delete this._callbacks[a],this;for(var d,e=0;e<c.length;e++)if(d=c[e],d===b||d.fn===b){c.splice(e,1);break}return this},c.prototype.emit=function(a){this._callbacks=this._callbacks||{};var b=[].slice.call(arguments,1),c=this._callbacks[a];if(c){c=c.slice(0);for(var d=0,e=c.length;d<e;++d)c[d].apply(this,b)}return this},c.prototype.listeners=function(a){return this._callbacks=this._callbacks||{},this._callbacks[a]||[]},c.prototype.hasListeners=function(a){return!!this.listeners(a).length}},function(a,b,c){(function(a){var d=c(74),e=c(77);b.deconstructPacket=function(a){function f(a){if(!a)return a;if(e(a)){var c={_placeholder:!0,num:b.length};return b.push(a),c}if(d(a)){for(var g=new Array(a.length),h=0;h<a.length;h++)g[h]=f(a[h]);return g}if("object"==typeof a&&!(a instanceof Date)){var g={};for(var i in a)g[i]=f(a[i]);return g}return a}var b=[],c=a.data,g=a;return g.data=f(c),g.attachments=b.length,{packet:g,buffers:b}},b.reconstructPacket=function(a,b){function e(a){if(a&&a._placeholder){var c=b[a.num];return c}if(d(a)){for(var f=0;f<a.length;f++)a[f]=e(a[f]);return a}if(a&&"object"==typeof a){for(var g in a)a[g]=e(a[g]);return a}return a}return a.data=e(a.data),a.attachments=void 0,a},b.removeBlobs=function(b,c){function f(b,i,j){if(!b)return b;if(a.Blob&&b instanceof Blob||a.File&&b instanceof File){g++;var k=new FileReader;k.onload=function(){j?j[i]=this.result:h=this.result,--g||c(h)},k.readAsArrayBuffer(b)}else if(d(b))for(var l=0;l<b.length;l++)f(b[l],l,b);else if(b&&"object"==typeof b&&!e(b))for(var m in b)f(b[m],m,b)}var g=0,h=b;f(h),g||c(h)}}).call(b,function(){return this}())},function(a,b){(function(b){function c(a){return b.Buffer&&b.Buffer.isBuffer(a)||b.ArrayBuffer&&a instanceof ArrayBuffer}a.exports=c}).call(b,function(){return this}())},function(a,b,c){function n(a,b){return this instanceof n?(a&&"object"==typeof a&&(b=a,a=void 0),b=b||{},b.path=b.path||"/socket.io",this.nsps={},this.subs=[],this.opts=b,this.reconnection(b.reconnection!==!1),this.reconnectionAttempts(b.reconnectionAttempts||1/0),this.reconnectionDelay(b.reconnectionDelay||1e3),this.reconnectionDelayMax(b.reconnectionDelayMax||5e3),this.randomizationFactor(b.randomizationFactor||.5),this.backoff=new l({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==b.timeout?2e4:b.timeout),this.readyState="closed",this.uri=a,this.connecting=[],this.lastPing=null,this.encoding=!1,this.packetBuffer=[],this.encoder=new g.Encoder,this.decoder=new g.Decoder,this.autoConnect=b.autoConnect!==!1,void(this.autoConnect&&this.open())):new n(a,b)}var d=c(79),e=c(105),f=c(106),g=c(70),h=c(108),i=c(109),j=c(67)("socket.io-client:manager"),k=c(103),l=c(111),m=Object.prototype.hasOwnProperty;a.exports=n,n.prototype.emitAll=function(){this.emit.apply(this,arguments);for(var a in this.nsps)m.call(this.nsps,a)&&this.nsps[a].emit.apply(this.nsps[a],arguments)},n.prototype.updateSocketIds=function(){for(var a in this.nsps)m.call(this.nsps,a)&&(this.nsps[a].id=this.engine.id)},f(n.prototype),n.prototype.reconnection=function(a){return arguments.length?(this._reconnection=!!a,this):this._reconnection},n.prototype.reconnectionAttempts=function(a){return arguments.length?(this._reconnectionAttempts=a,this):this._reconnectionAttempts},n.prototype.reconnectionDelay=function(a){return arguments.length?(this._reconnectionDelay=a,this.backoff&&this.backoff.setMin(a),this):this._reconnectionDelay},n.prototype.randomizationFactor=function(a){return arguments.length?(this._randomizationFactor=a,this.backoff&&this.backoff.setJitter(a),this):this._randomizationFactor},n.prototype.reconnectionDelayMax=function(a){return arguments.length?(this._reconnectionDelayMax=a,this.backoff&&this.backoff.setMax(a),this):this._reconnectionDelayMax},n.prototype.timeout=function(a){return arguments.length?(this._timeout=a,this):this._timeout},n.prototype.maybeReconnectOnOpen=function(){!this.reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()},n.prototype.open=n.prototype.connect=function(a){if(j("readyState %s",this.readyState),~this.readyState.indexOf("open"))return this;j("opening %s",this.uri),this.engine=d(this.uri,this.opts);var b=this.engine,c=this;this.readyState="opening",this.skipReconnect=!1;var e=h(b,"open",function(){c.onopen(),a&&a()}),f=h(b,"error",function(b){if(j("connect_error"),c.cleanup(),c.readyState="closed",c.emitAll("connect_error",b),a){var d=new Error("Connection error");d.data=b,a(d)}else c.maybeReconnectOnOpen()});if(!1!==this._timeout){var g=this._timeout;j("connect attempt will timeout after %d",g);var i=setTimeout(function(){j("connect attempt timed out after %d",g),e.destroy(),b.close(),b.emit("error","timeout"),c.emitAll("connect_timeout",g)},g);this.subs.push({destroy:function(){clearTimeout(i)}})}return this.subs.push(e),this.subs.push(f),this},n.prototype.onopen=function(){j("open"),this.cleanup(),this.readyState="open",this.emit("open");var a=this.engine;this.subs.push(h(a,"data",i(this,"ondata"))),this.subs.push(h(a,"ping",i(this,"onping"))),this.subs.push(h(a,"pong",i(this,"onpong"))),this.subs.push(h(a,"error",i(this,"onerror"))),this.subs.push(h(a,"close",i(this,"onclose"))),this.subs.push(h(this.decoder,"decoded",i(this,"ondecoded")))},n.prototype.onping=function(){this.lastPing=new Date,this.emitAll("ping")},n.prototype.onpong=function(){this.emitAll("pong",new Date-this.lastPing)},n.prototype.ondata=function(a){this.decoder.add(a)},n.prototype.ondecoded=function(a){this.emit("packet",a)},n.prototype.onerror=function(a){j("error",a),this.emitAll("error",a)},n.prototype.socket=function(a){function d(){~k(c.connecting,b)||c.connecting.push(b)}var b=this.nsps[a];if(!b){b=new e(this,a),this.nsps[a]=b;var c=this;b.on("connecting",d),b.on("connect",function(){b.id=c.engine.id}),this.autoConnect&&d()}return b},n.prototype.destroy=function(a){var b=k(this.connecting,a);~b&&this.connecting.splice(b,1),this.connecting.length||this.close()},n.prototype.packet=function(a){j("writing packet %j",a);var b=this;b.encoding?b.packetBuffer.push(a):(b.encoding=!0,this.encoder.encode(a,function(c){for(var d=0;d<c.length;d++)b.engine.write(c[d],a.options);b.encoding=!1,b.processPacketQueue()}))},n.prototype.processPacketQueue=function(){if(this.packetBuffer.length>0&&!this.encoding){var a=this.packetBuffer.shift();this.packet(a)}},n.prototype.cleanup=function(){j("cleanup");for(var a;a=this.subs.shift();)a.destroy();this.packetBuffer=[],this.encoding=!1,this.lastPing=null,this.decoder.destroy()},n.prototype.close=n.prototype.disconnect=function(){j("disconnect"),this.skipReconnect=!0,this.reconnecting=!1,"opening"==this.readyState&&this.cleanup(),this.backoff.reset(),this.readyState="closed",this.engine&&this.engine.close()},n.prototype.onclose=function(a){j("onclose"),this.cleanup(),this.backoff.reset(),this.readyState="closed",this.emit("close",a),this._reconnection&&!this.skipReconnect&&this.reconnect()},n.prototype.reconnect=function(){if(this.reconnecting||this.skipReconnect)return this;var a=this;if(this.backoff.attempts>=this._reconnectionAttempts)j("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var b=this.backoff.duration();j("will wait %dms before reconnect attempt",b),this.reconnecting=!0;var c=setTimeout(function(){a.skipReconnect||(j("attempting reconnect"),a.emitAll("reconnect_attempt",a.backoff.attempts),a.emitAll("reconnecting",a.backoff.attempts),a.skipReconnect||a.open(function(b){b?(j("reconnect attempt error"),a.reconnecting=!1,a.reconnect(),a.emitAll("reconnect_error",b.data)):(j("reconnect success"),a.onreconnect())}))},b);this.subs.push({destroy:function(){clearTimeout(c)}})}},n.prototype.onreconnect=function(){var a=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",a)}},function(a,b,c){a.exports=c(80)},function(a,b,c){a.exports=c(81),a.exports.parser=c(88)},function(a,b,c){(function(b){function m(a,c){if(!(this instanceof m))return new m(a,c);c=c||{},a&&"object"==typeof a&&(c=a,a=null),a?(a=i(a),c.hostname=a.host,c.secure="https"==a.protocol||"wss"==a.protocol,c.port=a.port,a.query&&(c.query=a.query)):c.host&&(c.hostname=i(c.host).host),this.secure=null!=c.secure?c.secure:b.location&&"https:"==location.protocol,c.hostname&&!c.port&&(c.port=this.secure?"443":"80"),this.agent=c.agent||!1,this.hostname=c.hostname||(b.location?location.hostname:"localhost"),this.port=c.port||(b.location&&location.port?location.port:this.secure?443:80),this.query=c.query||{},"string"==typeof this.query&&(this.query=k.decode(this.query)),this.upgrade=!1!==c.upgrade,this.path=(c.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!c.forceJSONP,this.jsonp=!1!==c.jsonp,this.forceBase64=!!c.forceBase64,this.enablesXDR=!!c.enablesXDR,this.timestampParam=c.timestampParam||"t",this.timestampRequests=c.timestampRequests,this.transports=c.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.policyPort=c.policyPort||843,this.rememberUpgrade=c.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=c.onlyBinaryUpgrades,this.perMessageDeflate=!1!==c.perMessageDeflate&&(c.perMessageDeflate||{}),!0===this.perMessageDeflate&&(this.perMessageDeflate={}),this.perMessageDeflate&&null==this.perMessageDeflate.threshold&&(this.perMessageDeflate.threshold=1024),this.pfx=c.pfx||null,this.key=c.key||null,this.passphrase=c.passphrase||null,this.cert=c.cert||null,this.ca=c.ca||null,this.ciphers=c.ciphers||null,this.rejectUnauthorized=void 0===c.rejectUnauthorized?null:c.rejectUnauthorized;var d="object"==typeof b&&b;d.global===d&&c.extraHeaders&&Object.keys(c.extraHeaders).length>0&&(this.extraHeaders=c.extraHeaders),this.open()}function n(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}var d=c(82),e=c(96),f=c(67)("engine.io-client:socket"),g=c(103),h=c(88),i=c(66),j=c(104),k=c(97);a.exports=m,m.priorWebsocketSuccess=!1,e(m.prototype),m.protocol=h.protocol,m.Socket=m,m.Transport=c(87),m.transports=c(82),m.parser=c(88),m.prototype.createTransport=function(a){f('creating transport "%s"',a);var b=n(this.query);b.EIO=h.protocol,b.transport=a,this.id&&(b.sid=this.id);var c=new d[a]({agent:this.agent,hostname:this.hostname,port:this.port,secure:this.secure,path:this.path,query:b,forceJSONP:this.forceJSONP,jsonp:this.jsonp,forceBase64:this.forceBase64,enablesXDR:this.enablesXDR,timestampRequests:this.timestampRequests,timestampParam:this.timestampParam,policyPort:this.policyPort,socket:this,pfx:this.pfx,key:this.key,passphrase:this.passphrase,cert:this.cert,ca:this.ca,ciphers:this.ciphers,rejectUnauthorized:this.rejectUnauthorized,perMessageDeflate:this.perMessageDeflate,extraHeaders:this.extraHeaders});return c},m.prototype.open=function(){var a;if(this.rememberUpgrade&&m.priorWebsocketSuccess&&this.transports.indexOf("websocket")!=-1)a="websocket";else{if(0===this.transports.length){var b=this;return void setTimeout(function(){b.emit("error","No transports available")},0)}a=this.transports[0]}this.readyState="opening";try{a=this.createTransport(a)}catch(a){return this.transports.shift(),void this.open()}a.open(),this.setTransport(a)},m.prototype.setTransport=function(a){f("setting transport %s",a.name);var b=this;this.transport&&(f("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=a,a.on("drain",function(){b.onDrain()}).on("packet",function(a){b.onPacket(a)}).on("error",function(a){b.onError(a)}).on("close",function(){b.onClose("transport close")})},m.prototype.probe=function(a){function e(){if(d.onlyBinaryUpgrades){var e=!this.supportsBinary&&d.transport.supportsBinary;c=c||e}c||(f('probe transport "%s" opened',a),b.send([{type:"ping",data:"probe"}]),b.once("packet",function(e){if(!c)if("pong"==e.type&&"probe"==e.data){if(f('probe transport "%s" pong',a),d.upgrading=!0,d.emit("upgrading",b),!b)return;m.priorWebsocketSuccess="websocket"==b.name,f('pausing current transport "%s"',d.transport.name),d.transport.pause(function(){c||"closed"!=d.readyState&&(f("changing transport and sending upgrade packet"),l(),d.setTransport(b),b.send([{type:"upgrade"}]),d.emit("upgrade",b),b=null,d.upgrading=!1,d.flush())})}else{f('probe transport "%s" failed',a);var g=new Error("probe error");g.transport=b.name,d.emit("upgradeError",g)}}))}function g(){c||(c=!0,l(),b.close(),b=null)}function h(c){var e=new Error("probe error: "+c);e.transport=b.name,g(),f('probe transport "%s" failed because of error: %s',a,c),d.emit("upgradeError",e)}function i(){h("transport closed")}function j(){h("socket closed")}function k(a){b&&a.name!=b.name&&(f('"%s" works - aborting "%s"',a.name,b.name),g())}function l(){b.removeListener("open",e),b.removeListener("error",h),b.removeListener("close",i),d.removeListener("close",j),d.removeListener("upgrading",k)}f('probing transport "%s"',a);var b=this.createTransport(a,{probe:1}),c=!1,d=this;m.priorWebsocketSuccess=!1,b.once("open",e),b.once("error",h),b.once("close",i),this.once("close",j),this.once("upgrading",k),b.open()},m.prototype.onOpen=function(){if(f("socket open"),this.readyState="open",m.priorWebsocketSuccess="websocket"==this.transport.name,this.emit("open"),this.flush(),"open"==this.readyState&&this.upgrade&&this.transport.pause){f("starting upgrade probes");for(var a=0,b=this.upgrades.length;a<b;a++)this.probe(this.upgrades[a])}},m.prototype.onPacket=function(a){if("opening"==this.readyState||"open"==this.readyState)switch(f('socket receive: type "%s", data "%s"',a.type,a.data),this.emit("packet",a),this.emit("heartbeat"),a.type){case"open":this.onHandshake(j(a.data));break;case"pong":this.setPing(),this.emit("pong");break;case"error":var b=new Error("server error");b.code=a.data,this.onError(b);break;case"message":this.emit("data",a.data),this.emit("message",a.data)}else f('packet received with socket readyState "%s"',this.readyState)},m.prototype.onHandshake=function(a){this.emit("handshake",a),this.id=a.sid,this.transport.query.sid=a.sid,this.upgrades=this.filterUpgrades(a.upgrades),this.pingInterval=a.pingInterval,this.pingTimeout=a.pingTimeout,this.onOpen(),"closed"!=this.readyState&&(this.setPing(),this.removeListener("heartbeat",this.onHeartbeat),this.on("heartbeat",this.onHeartbeat))},m.prototype.onHeartbeat=function(a){clearTimeout(this.pingTimeoutTimer);var b=this;b.pingTimeoutTimer=setTimeout(function(){"closed"!=b.readyState&&b.onClose("ping timeout")},a||b.pingInterval+b.pingTimeout)},m.prototype.setPing=function(){var a=this;clearTimeout(a.pingIntervalTimer),a.pingIntervalTimer=setTimeout(function(){f("writing ping packet - expecting pong within %sms",a.pingTimeout),a.ping(),a.onHeartbeat(a.pingTimeout)},a.pingInterval)},m.prototype.ping=function(){var a=this;this.sendPacket("ping",function(){a.emit("ping")})},m.prototype.onDrain=function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emit("drain"):this.flush()},m.prototype.flush=function(){"closed"!=this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length&&(f("flushing %d packets in socket",this.writeBuffer.length),this.transport.send(this.writeBuffer),this.prevBufferLen=this.writeBuffer.length,this.emit("flush"))},m.prototype.write=m.prototype.send=function(a,b,c){return this.sendPacket("message",a,b,c),this},m.prototype.sendPacket=function(a,b,c,d){if("function"==typeof b&&(d=b,b=void 0),"function"==typeof c&&(d=c,c=null),"closing"!=this.readyState&&"closed"!=this.readyState){c=c||{},c.compress=!1!==c.compress;var e={type:a,data:b,options:c};this.emit("packetCreate",e),this.writeBuffer.push(e),d&&this.once("flush",d),this.flush()}},m.prototype.close=function(){function b(){a.onClose("forced close"),f("socket closing - telling transport to close"),a.transport.close()}function c(){a.removeListener("upgrade",c),a.removeListener("upgradeError",c),b()}function d(){a.once("upgrade",c),a.once("upgradeError",c)}if("opening"==this.readyState||"open"==this.readyState){this.readyState="closing";var a=this;this.writeBuffer.length?this.once("drain",function(){this.upgrading?d():b()}):this.upgrading?d():b()}return this},m.prototype.onError=function(a){f("socket error %j",a),m.priorWebsocketSuccess=!1,this.emit("error",a),this.onClose("transport error",a)},m.prototype.onClose=function(a,b){if("opening"==this.readyState||"open"==this.readyState||"closing"==this.readyState){f('socket close with reason: "%s"',a);var c=this;clearTimeout(this.pingIntervalTimer),clearTimeout(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),this.readyState="closed",this.id=null,this.emit("close",a,b),c.writeBuffer=[],c.prevBufferLen=0}},m.prototype.filterUpgrades=function(a){for(var b=[],c=0,d=a.length;c<d;c++)~g(this.transports,a[c])&&b.push(a[c]);return b}}).call(b,function(){return this}())},function(a,b,c){(function(a){function h(b){var c,g=!1,h=!1,i=!1!==b.jsonp;if(a.location){var j="https:"==location.protocol,k=location.port;k||(k=j?443:80),g=b.hostname!=location.hostname||k!=b.port,h=b.secure!=j}if(b.xdomain=g,b.xscheme=h,c=new d(b),"open"in c&&!b.forceJSONP)return new e(b);if(!i)throw new Error("JSONP disabled");return new f(b)}var d=c(83),e=c(85),f=c(100),g=c(101);b.polling=h,b.websocket=g}).call(b,function(){return this}())},function(a,b,c){var d=c(84);a.exports=function(a){var b=a.xdomain,c=a.xscheme,e=a.enablesXDR;try{if("undefined"!=typeof XMLHttpRequest&&(!b||d))return new XMLHttpRequest}catch(a){}try{if("undefined"!=typeof XDomainRequest&&!c&&e)return new XDomainRequest}catch(a){}if(!b)try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(a){}}},function(a,b){try{a.exports="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(b){a.exports=!1}},function(a,b,c){(function(b){function i(){}function j(a){if(e.call(this,a),b.location){var c="https:"==location.protocol,d=location.port;d||(d=c?443:80),this.xd=a.hostname!=b.location.hostname||d!=a.port,this.xs=a.secure!=c}else this.extraHeaders=a.extraHeaders}function k(a){this.method=a.method||"GET",this.uri=a.uri,this.xd=!!a.xd,this.xs=!!a.xs,this.async=!1!==a.async,this.data=void 0!=a.data?a.data:null,this.agent=a.agent,this.isBinary=a.isBinary,this.supportsBinary=a.supportsBinary,this.enablesXDR=a.enablesXDR,this.pfx=a.pfx,this.key=a.key,this.passphrase=a.passphrase,this.cert=a.cert,this.ca=a.ca,this.ciphers=a.ciphers,this.rejectUnauthorized=a.rejectUnauthorized,this.extraHeaders=a.extraHeaders,this.create()}function l(){for(var a in k.requests)k.requests.hasOwnProperty(a)&&k.requests[a].abort()}var d=c(83),e=c(86),f=c(96),g=c(98),h=c(67)("engine.io-client:polling-xhr");a.exports=j,a.exports.Request=k,g(j,e),j.prototype.supportsBinary=!0,j.prototype.request=function(a){return a=a||{},a.uri=this.uri(),a.xd=this.xd,a.xs=this.xs,a.agent=this.agent||!1,a.supportsBinary=this.supportsBinary,a.enablesXDR=this.enablesXDR,a.pfx=this.pfx,a.key=this.key,a.passphrase=this.passphrase,a.cert=this.cert,a.ca=this.ca,a.ciphers=this.ciphers,a.rejectUnauthorized=this.rejectUnauthorized,
a.extraHeaders=this.extraHeaders,new k(a)},j.prototype.doWrite=function(a,b){var c="string"!=typeof a&&void 0!==a,d=this.request({method:"POST",data:a,isBinary:c}),e=this;d.on("success",b),d.on("error",function(a){e.onError("xhr post error",a)}),this.sendXhr=d},j.prototype.doPoll=function(){h("xhr poll");var a=this.request(),b=this;a.on("data",function(a){b.onData(a)}),a.on("error",function(a){b.onError("xhr poll error",a)}),this.pollXhr=a},f(k.prototype),k.prototype.create=function(){var a={agent:this.agent,xdomain:this.xd,xscheme:this.xs,enablesXDR:this.enablesXDR};a.pfx=this.pfx,a.key=this.key,a.passphrase=this.passphrase,a.cert=this.cert,a.ca=this.ca,a.ciphers=this.ciphers,a.rejectUnauthorized=this.rejectUnauthorized;var c=this.xhr=new d(a),e=this;try{h("xhr open %s: %s",this.method,this.uri),c.open(this.method,this.uri,this.async);try{if(this.extraHeaders){c.setDisableHeaderCheck(!0);for(var f in this.extraHeaders)this.extraHeaders.hasOwnProperty(f)&&c.setRequestHeader(f,this.extraHeaders[f])}}catch(a){}if(this.supportsBinary&&(c.responseType="arraybuffer"),"POST"==this.method)try{this.isBinary?c.setRequestHeader("Content-type","application/octet-stream"):c.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(a){}"withCredentials"in c&&(c.withCredentials=!0),this.hasXDR()?(c.onload=function(){e.onLoad()},c.onerror=function(){e.onError(c.responseText)}):c.onreadystatechange=function(){4==c.readyState&&(200==c.status||1223==c.status?e.onLoad():setTimeout(function(){e.onError(c.status)},0))},h("xhr data %s",this.data),c.send(this.data)}catch(a){return void setTimeout(function(){e.onError(a)},0)}b.document&&(this.index=k.requestsCount++,k.requests[this.index]=this)},k.prototype.onSuccess=function(){this.emit("success"),this.cleanup()},k.prototype.onData=function(a){this.emit("data",a),this.onSuccess()},k.prototype.onError=function(a){this.emit("error",a),this.cleanup(!0)},k.prototype.cleanup=function(a){if("undefined"!=typeof this.xhr&&null!==this.xhr){if(this.hasXDR()?this.xhr.onload=this.xhr.onerror=i:this.xhr.onreadystatechange=i,a)try{this.xhr.abort()}catch(a){}b.document&&delete k.requests[this.index],this.xhr=null}},k.prototype.onLoad=function(){var a;try{var b;try{b=this.xhr.getResponseHeader("Content-Type").split(";")[0]}catch(a){}if("application/octet-stream"===b)a=this.xhr.response;else if(this.supportsBinary)try{a=String.fromCharCode.apply(null,new Uint8Array(this.xhr.response))}catch(b){for(var c=new Uint8Array(this.xhr.response),d=[],e=0,f=c.length;e<f;e++)d.push(c[e]);a=String.fromCharCode.apply(null,d)}else a=this.xhr.responseText}catch(a){this.onError(a)}null!=a&&this.onData(a)},k.prototype.hasXDR=function(){return"undefined"!=typeof b.XDomainRequest&&!this.xs&&this.enablesXDR},k.prototype.abort=function(){this.cleanup()},b.document&&(k.requestsCount=0,k.requests={},b.attachEvent?b.attachEvent("onunload",l):b.addEventListener&&b.addEventListener("beforeunload",l,!1))}).call(b,function(){return this}())},function(a,b,c){function k(a){var b=a&&a.forceBase64;j&&!b||(this.supportsBinary=!1),d.call(this,a)}var d=c(87),e=c(97),f=c(88),g=c(98),h=c(99),i=c(67)("engine.io-client:polling");a.exports=k;var j=function(){var a=c(83),b=new a({xdomain:!1});return null!=b.responseType}();g(k,d),k.prototype.name="polling",k.prototype.doOpen=function(){this.poll()},k.prototype.pause=function(a){function d(){i("paused"),c.readyState="paused",a()}var c=this;if(this.readyState="pausing",this.polling||!this.writable){var e=0;this.polling&&(i("we are currently polling - waiting to pause"),e++,this.once("pollComplete",function(){i("pre-pause polling complete"),--e||d()})),this.writable||(i("we are currently writing - waiting to pause"),e++,this.once("drain",function(){i("pre-pause writing complete"),--e||d()}))}else d()},k.prototype.poll=function(){i("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},k.prototype.onData=function(a){var b=this;i("polling got data %s",a);var c=function(a,c,d){return"opening"==b.readyState&&b.onOpen(),"close"==a.type?(b.onClose(),!1):void b.onPacket(a)};f.decodePayload(a,this.socket.binaryType,c),"closed"!=this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"==this.readyState?this.poll():i('ignoring poll - transport state "%s"',this.readyState))},k.prototype.doClose=function(){function b(){i("writing close packet"),a.write([{type:"close"}])}var a=this;"open"==this.readyState?(i("transport open - closing"),b()):(i("transport not open - deferring close"),this.once("open",b))},k.prototype.write=function(a){var b=this;this.writable=!1;var c=function(){b.writable=!0,b.emit("drain")},b=this;f.encodePayload(a,this.supportsBinary,function(a){b.doWrite(a,c)})},k.prototype.uri=function(){var a=this.query||{},b=this.secure?"https":"http",c="";!1!==this.timestampRequests&&(a[this.timestampParam]=h()),this.supportsBinary||a.sid||(a.b64=1),a=e.encode(a),this.port&&("https"==b&&443!=this.port||"http"==b&&80!=this.port)&&(c=":"+this.port),a.length&&(a="?"+a);var d=this.hostname.indexOf(":")!==-1;return b+"://"+(d?"["+this.hostname+"]":this.hostname)+c+this.path+a}},function(a,b,c){function f(a){this.path=a.path,this.hostname=a.hostname,this.port=a.port,this.secure=a.secure,this.query=a.query,this.timestampParam=a.timestampParam,this.timestampRequests=a.timestampRequests,this.readyState="",this.agent=a.agent||!1,this.socket=a.socket,this.enablesXDR=a.enablesXDR,this.pfx=a.pfx,this.key=a.key,this.passphrase=a.passphrase,this.cert=a.cert,this.ca=a.ca,this.ciphers=a.ciphers,this.rejectUnauthorized=a.rejectUnauthorized,this.extraHeaders=a.extraHeaders}var d=c(88),e=c(96);a.exports=f,e(f.prototype),f.prototype.onError=function(a,b){var c=new Error(a);return c.type="TransportError",c.description=b,this.emit("error",c),this},f.prototype.open=function(){return"closed"!=this.readyState&&""!=this.readyState||(this.readyState="opening",this.doOpen()),this},f.prototype.close=function(){return"opening"!=this.readyState&&"open"!=this.readyState||(this.doClose(),this.onClose()),this},f.prototype.send=function(a){if("open"!=this.readyState)throw new Error("Transport not open");this.write(a)},f.prototype.onOpen=function(){this.readyState="open",this.writable=!0,this.emit("open")},f.prototype.onData=function(a){var b=d.decodePacket(a,this.socket.binaryType);this.onPacket(b)},f.prototype.onPacket=function(a){this.emit("packet",a)},f.prototype.onClose=function(){this.readyState="closed",this.emit("close")}},function(a,b,c){(function(a){function q(a,c){var d="b"+b.packets[a.type]+a.data.data;return c(d)}function r(a,c,d){if(!c)return b.encodeBase64Packet(a,d);var e=a.data,f=new Uint8Array(e),g=new Uint8Array(1+e.byteLength);g[0]=m[a.type];for(var h=0;h<f.length;h++)g[h+1]=f[h];return d(g.buffer)}function s(a,c,d){if(!c)return b.encodeBase64Packet(a,d);var e=new FileReader;return e.onload=function(){a.data=e.result,b.encodePacket(a,c,!0,d)},e.readAsArrayBuffer(a.data)}function t(a,c,d){if(!c)return b.encodeBase64Packet(a,d);if(l)return s(a,c,d);var e=new Uint8Array(1);e[0]=m[a.type];var f=new p([e.buffer,a.data]);return d(f)}function u(a,b,c){for(var d=new Array(a.length),e=h(a.length,c),f=function(a,c,e){b(c,function(b,c){d[a]=c,e(b,d)})},g=0;g<a.length;g++)f(g,a[g],e)}var d=c(89),e=c(90),f=c(91),g=c(92),h=c(93),i=c(94),j=navigator.userAgent.match(/Android/i),k=/PhantomJS/i.test(navigator.userAgent),l=j||k;b.protocol=3;var m=b.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6},n=d(m),o={type:"error",data:"parser error"},p=c(95);b.encodePacket=function(b,c,d,e){"function"==typeof c&&(e=c,c=!1),"function"==typeof d&&(e=d,d=null);var f=void 0===b.data?void 0:b.data.buffer||b.data;if(a.ArrayBuffer&&f instanceof ArrayBuffer)return r(b,c,e);if(p&&f instanceof a.Blob)return t(b,c,e);if(f&&f.base64)return q(b,e);var g=m[b.type];return void 0!==b.data&&(g+=d?i.encode(String(b.data)):String(b.data)),e(""+g)},b.encodeBase64Packet=function(c,d){var e="b"+b.packets[c.type];if(p&&c.data instanceof a.Blob){var f=new FileReader;return f.onload=function(){var a=f.result.split(",")[1];d(e+a)},f.readAsDataURL(c.data)}var g;try{g=String.fromCharCode.apply(null,new Uint8Array(c.data))}catch(a){for(var h=new Uint8Array(c.data),i=new Array(h.length),j=0;j<h.length;j++)i[j]=h[j];g=String.fromCharCode.apply(null,i)}return e+=a.btoa(g),d(e)},b.decodePacket=function(a,c,d){if("string"==typeof a||void 0===a){if("b"==a.charAt(0))return b.decodeBase64Packet(a.substr(1),c);if(d)try{a=i.decode(a)}catch(a){return o}var e=a.charAt(0);return Number(e)==e&&n[e]?a.length>1?{type:n[e],data:a.substring(1)}:{type:n[e]}:o}var g=new Uint8Array(a),e=g[0],h=f(a,1);return p&&"blob"===c&&(h=new p([h])),{type:n[e],data:h}},b.decodeBase64Packet=function(b,c){var d=n[b.charAt(0)];if(!a.ArrayBuffer)return{type:d,data:{base64:!0,data:b.substr(1)}};var e=g.decode(b.substr(1));return"blob"===c&&p&&(e=new p([e])),{type:d,data:e}},b.encodePayload=function(a,c,d){function g(a){return a.length+":"+a}function h(a,d){b.encodePacket(a,!!f&&c,!0,function(a){d(null,g(a))})}"function"==typeof c&&(d=c,c=null);var f=e(a);return c&&f?p&&!l?b.encodePayloadAsBlob(a,d):b.encodePayloadAsArrayBuffer(a,d):a.length?void u(a,h,function(a,b){return d(b.join(""))}):d("0:")},b.decodePayload=function(a,c,d){if("string"!=typeof a)return b.decodePayloadAsBinary(a,c,d);"function"==typeof c&&(d=c,c=null);var e;if(""==a)return d(o,0,1);for(var g,h,f="",i=0,j=a.length;i<j;i++){var k=a.charAt(i);if(":"!=k)f+=k;else{if(""==f||f!=(g=Number(f)))return d(o,0,1);if(h=a.substr(i+1,g),f!=h.length)return d(o,0,1);if(h.length){if(e=b.decodePacket(h,c,!0),o.type==e.type&&o.data==e.data)return d(o,0,1);var l=d(e,i+g,j);if(!1===l)return}i+=g,f=""}}return""!=f?d(o,0,1):void 0},b.encodePayloadAsArrayBuffer=function(a,c){function d(a,c){b.encodePacket(a,!0,!0,function(a){return c(null,a)})}return a.length?void u(a,d,function(a,b){var d=b.reduce(function(a,b){var c;return c="string"==typeof b?b.length:b.byteLength,a+c.toString().length+c+2},0),e=new Uint8Array(d),f=0;return b.forEach(function(a){var b="string"==typeof a,c=a;if(b){for(var d=new Uint8Array(a.length),g=0;g<a.length;g++)d[g]=a.charCodeAt(g);c=d.buffer}b?e[f++]=0:e[f++]=1;for(var h=c.byteLength.toString(),g=0;g<h.length;g++)e[f++]=parseInt(h[g]);e[f++]=255;for(var d=new Uint8Array(c),g=0;g<d.length;g++)e[f++]=d[g]}),c(e.buffer)}):c(new ArrayBuffer(0))},b.encodePayloadAsBlob=function(a,c){function d(a,c){b.encodePacket(a,!0,!0,function(a){var b=new Uint8Array(1);if(b[0]=1,"string"==typeof a){for(var d=new Uint8Array(a.length),e=0;e<a.length;e++)d[e]=a.charCodeAt(e);a=d.buffer,b[0]=0}for(var f=a instanceof ArrayBuffer?a.byteLength:a.size,g=f.toString(),h=new Uint8Array(g.length+1),e=0;e<g.length;e++)h[e]=parseInt(g[e]);if(h[g.length]=255,p){var i=new p([b.buffer,h.buffer,a]);c(null,i)}})}u(a,d,function(a,b){return c(new p(b))})},b.decodePayloadAsBinary=function(a,c,d){"function"==typeof c&&(d=c,c=null);for(var e=a,g=[],h=!1;e.byteLength>0;){for(var i=new Uint8Array(e),j=0===i[0],k="",l=1;255!=i[l];l++){if(k.length>310){h=!0;break}k+=i[l]}if(h)return d(o,0,1);e=f(e,2+k.length),k=parseInt(k);var m=f(e,0,k);if(j)try{m=String.fromCharCode.apply(null,new Uint8Array(m))}catch(a){var n=new Uint8Array(m);m="";for(var l=0;l<n.length;l++)m+=String.fromCharCode(n[l])}g.push(m),e=f(e,k)}var p=g.length;g.forEach(function(a,e){d(b.decodePacket(a,c,!0),e,p)})}}).call(b,function(){return this}())},function(a,b){a.exports=Object.keys||function(b){var c=[],d=Object.prototype.hasOwnProperty;for(var e in b)d.call(b,e)&&c.push(e);return c}},function(a,b,c){(function(b){function e(a){function c(a){if(!a)return!1;if(b.Buffer&&b.Buffer.isBuffer(a)||b.ArrayBuffer&&a instanceof ArrayBuffer||b.Blob&&a instanceof Blob||b.File&&a instanceof File)return!0;if(d(a)){for(var e=0;e<a.length;e++)if(c(a[e]))return!0}else if(a&&"object"==typeof a){a.toJSON&&(a=a.toJSON());for(var f in a)if(Object.prototype.hasOwnProperty.call(a,f)&&c(a[f]))return!0}return!1}return c(a)}var d=c(74);a.exports=e}).call(b,function(){return this}())},function(a,b){a.exports=function(a,b,c){var d=a.byteLength;if(b=b||0,c=c||d,a.slice)return a.slice(b,c);if(b<0&&(b+=d),c<0&&(c+=d),c>d&&(c=d),b>=d||b>=c||0===d)return new ArrayBuffer(0);for(var e=new Uint8Array(a),f=new Uint8Array(c-b),g=b,h=0;g<c;g++,h++)f[h]=e[g];return f.buffer}},function(a,b){!function(a){"use strict";b.encode=function(b){var d,c=new Uint8Array(b),e=c.length,f="";for(d=0;d<e;d+=3)f+=a[c[d]>>2],f+=a[(3&c[d])<<4|c[d+1]>>4],f+=a[(15&c[d+1])<<2|c[d+2]>>6],f+=a[63&c[d+2]];return e%3===2?f=f.substring(0,f.length-1)+"=":e%3===1&&(f=f.substring(0,f.length-2)+"=="),f},b.decode=function(b){var e,g,h,i,j,c=.75*b.length,d=b.length,f=0;"="===b[b.length-1]&&(c--,"="===b[b.length-2]&&c--);var k=new ArrayBuffer(c),l=new Uint8Array(k);for(e=0;e<d;e+=4)g=a.indexOf(b[e]),h=a.indexOf(b[e+1]),i=a.indexOf(b[e+2]),j=a.indexOf(b[e+3]),l[f++]=g<<2|h>>4,l[f++]=(15&h)<<4|i>>2,l[f++]=(3&i)<<6|63&j;return k}}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")},function(a,b){function c(a,b,c){function f(a,d){if(f.count<=0)throw new Error("after called too many times");--f.count,a?(e=!0,b(a),b=c):0!==f.count||e||b(null,d)}var e=!1;return c=c||d,f.count=a,0===a?b():f}function d(){}a.exports=c},function(a,b,c){var d;(function(a,e){!function(f){function k(a){for(var e,f,b=[],c=0,d=a.length;c<d;)e=a.charCodeAt(c++),e>=55296&&e<=56319&&c<d?(f=a.charCodeAt(c++),56320==(64512&f)?b.push(((1023&e)<<10)+(1023&f)+65536):(b.push(e),c--)):b.push(e);return b}function l(a){for(var d,b=a.length,c=-1,e="";++c<b;)d=a[c],d>65535&&(d-=65536,e+=j(d>>>10&1023|55296),d=56320|1023&d),e+=j(d);return e}function m(a){if(a>=55296&&a<=57343)throw Error("Lone surrogate U+"+a.toString(16).toUpperCase()+" is not a scalar value")}function n(a,b){return j(a>>b&63|128)}function o(a){if(0==(4294967168&a))return j(a);var b="";return 0==(4294965248&a)?b=j(a>>6&31|192):0==(4294901760&a)?(m(a),b=j(a>>12&15|224),b+=n(a,6)):0==(4292870144&a)&&(b=j(a>>18&7|240),b+=n(a,12),b+=n(a,6)),b+=j(63&a|128)}function p(a){for(var e,b=k(a),c=b.length,d=-1,f="";++d<c;)e=b[d],f+=o(e);return f}function q(){if(u>=t)throw Error("Invalid byte index");var a=255&s[u];if(u++,128==(192&a))return 63&a;throw Error("Invalid continuation byte")}function r(){var a,b,c,d,e;if(u>t)throw Error("Invalid byte index");if(u==t)return!1;if(a=255&s[u],u++,0==(128&a))return a;if(192==(224&a)){var b=q();if(e=(31&a)<<6|b,e>=128)return e;throw Error("Invalid continuation byte")}if(224==(240&a)){if(b=q(),c=q(),e=(15&a)<<12|b<<6|c,e>=2048)return m(e),e;throw Error("Invalid continuation byte")}if(240==(248&a)&&(b=q(),c=q(),d=q(),e=(15&a)<<18|b<<12|c<<6|d,e>=65536&&e<=1114111))return e;throw Error("Invalid UTF-8 detected")}function v(a){s=k(a),t=s.length,u=0;for(var c,b=[];(c=r())!==!1;)b.push(c);return l(b)}var g="object"==typeof b&&b,i=("object"==typeof a&&a&&a.exports==g&&a,"object"==typeof e&&e);i.global!==i&&i.window!==i||(f=i);var s,t,u,j=String.fromCharCode,w={version:"2.0.0",encode:p,decode:v};d=function(){return w}.call(b,c,b,a),!(void 0!==d&&(a.exports=d))}(this)}).call(b,c(72)(a),function(){return this}())},function(a,b){(function(b){function g(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.buffer instanceof ArrayBuffer){var d=c.buffer;if(c.byteLength!==d.byteLength){var e=new Uint8Array(c.byteLength);e.set(new Uint8Array(d,c.byteOffset,c.byteLength)),d=e.buffer}a[b]=d}}}function h(a,b){b=b||{};var d=new c;g(a);for(var e=0;e<a.length;e++)d.append(a[e]);return b.type?d.getBlob(b.type):d.getBlob()}function i(a,b){return g(a),new Blob(a,b||{})}var c=b.BlobBuilder||b.WebKitBlobBuilder||b.MSBlobBuilder||b.MozBlobBuilder,d=function(){try{var a=new Blob(["hi"]);return 2===a.size}catch(a){return!1}}(),e=d&&function(){try{var a=new Blob([new Uint8Array([1,2])]);return 2===a.size}catch(a){return!1}}(),f=c&&c.prototype.append&&c.prototype.getBlob;a.exports=function(){return d?e?b.Blob:i:f?h:void 0}()}).call(b,function(){return this}())},function(a,b){function c(a){if(a)return d(a)}function d(a){for(var b in c.prototype)a[b]=c.prototype[b];return a}a.exports=c,c.prototype.on=c.prototype.addEventListener=function(a,b){return this._callbacks=this._callbacks||{},(this._callbacks[a]=this._callbacks[a]||[]).push(b),this},c.prototype.once=function(a,b){function d(){c.off(a,d),b.apply(this,arguments)}var c=this;return this._callbacks=this._callbacks||{},d.fn=b,this.on(a,d),this},c.prototype.off=c.prototype.removeListener=c.prototype.removeAllListeners=c.prototype.removeEventListener=function(a,b){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var c=this._callbacks[a];if(!c)return this;if(1==arguments.length)return delete this._callbacks[a],this;for(var d,e=0;e<c.length;e++)if(d=c[e],d===b||d.fn===b){c.splice(e,1);break}return this},c.prototype.emit=function(a){this._callbacks=this._callbacks||{};var b=[].slice.call(arguments,1),c=this._callbacks[a];if(c){c=c.slice(0);for(var d=0,e=c.length;d<e;++d)c[d].apply(this,b)}return this},c.prototype.listeners=function(a){return this._callbacks=this._callbacks||{},this._callbacks[a]||[]},c.prototype.hasListeners=function(a){return!!this.listeners(a).length}},function(a,b){b.encode=function(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b.length&&(b+="&"),b+=encodeURIComponent(c)+"="+encodeURIComponent(a[c]));return b},b.decode=function(a){for(var b={},c=a.split("&"),d=0,e=c.length;d<e;d++){var f=c[d].split("=");b[decodeURIComponent(f[0])]=decodeURIComponent(f[1])}return b}},function(a,b){a.exports=function(a,b){var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},function(a,b){"use strict";function i(a){var b="";do b=c[a%d]+b,a=Math.floor(a/d);while(a>0);return b}function j(a){var b=0;for(g=0;g<a.length;g++)b=b*d+e[a.charAt(g)];return b}function k(){var a=i(+new Date);return a!==h?(f=0,h=a):a+"."+i(f++)}for(var h,c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),d=64,e={},f=0,g=0;g<d;g++)e[c[g]]=g;k.encode=i,k.decode=j,a.exports=k},function(a,b,c){(function(b){function j(){}function k(a){d.call(this,a),this.query=this.query||{},h||(b.___eio||(b.___eio=[]),h=b.___eio),this.index=h.length;var c=this;h.push(function(a){c.onData(a)}),this.query.j=this.index,b.document&&b.addEventListener&&b.addEventListener("beforeunload",function(){c.script&&(c.script.onerror=j)},!1)}var d=c(86),e=c(98);a.exports=k;var h,f=/\n/g,g=/\\n/g;e(k,d),k.prototype.supportsBinary=!1,k.prototype.doClose=function(){this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),this.form&&(this.form.parentNode.removeChild(this.form),this.form=null,this.iframe=null),d.prototype.doClose.call(this)},k.prototype.doPoll=function(){var a=this,b=document.createElement("script");this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),b.async=!0,b.src=this.uri(),b.onerror=function(b){a.onError("jsonp poll error",b)};var c=document.getElementsByTagName("script")[0];c?c.parentNode.insertBefore(b,c):(document.head||document.body).appendChild(b),this.script=b;var d="undefined"!=typeof navigator&&/gecko/i.test(navigator.userAgent);d&&setTimeout(function(){var a=document.createElement("iframe");document.body.appendChild(a),document.body.removeChild(a)},100)},k.prototype.doWrite=function(a,b){function j(){k(),b()}function k(){if(c.iframe)try{c.form.removeChild(c.iframe)}catch(a){c.onError("jsonp polling iframe removal error",a)}try{var a='<iframe src="javascript:0" name="'+c.iframeId+'">';i=document.createElement(a)}catch(a){i=document.createElement("iframe"),i.name=c.iframeId,i.src="javascript:0"}i.id=c.iframeId,c.form.appendChild(i),c.iframe=i}var c=this;if(!this.form){var i,d=document.createElement("form"),e=document.createElement("textarea"),h=this.iframeId="eio_iframe_"+this.index;d.className="socketio",d.style.position="absolute",d.style.top="-1000px",d.style.left="-1000px",d.target=h,d.method="POST",d.setAttribute("accept-charset","utf-8"),e.name="d",d.appendChild(e),document.body.appendChild(d),this.form=d,this.area=e}this.form.action=this.uri(),k(),a=a.replace(g,"\\\n"),this.area.value=a.replace(f,"\\n");try{this.form.submit()}catch(a){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"==c.iframe.readyState&&j()}:this.iframe.onload=j}}).call(b,function(){return this}())},function(a,b,c){(function(b){function l(a){var b=a&&a.forceBase64;b&&(this.supportsBinary=!1),this.perMessageDeflate=a.perMessageDeflate,d.call(this,a)}var d=c(87),e=c(88),f=c(97),g=c(98),h=c(99),i=c(67)("engine.io-client:websocket"),j=b.WebSocket||b.MozWebSocket,k=j;if(!k&&"undefined"==typeof window)try{k=c(102)}catch(a){}a.exports=l,g(l,d),l.prototype.name="websocket",l.prototype.supportsBinary=!0,l.prototype.doOpen=function(){if(this.check()){var b=this.uri(),c=void 0,d={agent:this.agent,perMessageDeflate:this.perMessageDeflate};d.pfx=this.pfx,d.key=this.key,d.passphrase=this.passphrase,d.cert=this.cert,d.ca=this.ca,d.ciphers=this.ciphers,d.rejectUnauthorized=this.rejectUnauthorized,this.extraHeaders&&(d.headers=this.extraHeaders),this.ws=j?new k(b):new k(b,c,d),void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.supports&&this.ws.supports.binary?(this.supportsBinary=!0,this.ws.binaryType="buffer"):this.ws.binaryType="arraybuffer",this.addEventListeners()}},l.prototype.addEventListeners=function(){var a=this;this.ws.onopen=function(){a.onOpen()},this.ws.onclose=function(){a.onClose()},this.ws.onmessage=function(b){a.onData(b.data)},this.ws.onerror=function(b){a.onError("websocket error",b)}},"undefined"!=typeof navigator&&/iPad|iPhone|iPod/i.test(navigator.userAgent)&&(l.prototype.onData=function(a){var b=this;setTimeout(function(){d.prototype.onData.call(b,a)},0)}),l.prototype.write=function(a){function h(){c.emit("flush"),setTimeout(function(){c.writable=!0,c.emit("drain")},0)}var c=this;this.writable=!1;for(var d=a.length,f=0,g=d;f<g;f++)!function(a){e.encodePacket(a,c.supportsBinary,function(e){if(!j){var f={};if(a.options&&(f.compress=a.options.compress),c.perMessageDeflate){var g="string"==typeof e?b.Buffer.byteLength(e):e.length;g<c.perMessageDeflate.threshold&&(f.compress=!1)}}try{j?c.ws.send(e):c.ws.send(e,f)}catch(a){i("websocket closed before onclose event")}--d||h()})}(a[f])},l.prototype.onClose=function(){d.prototype.onClose.call(this)},l.prototype.doClose=function(){"undefined"!=typeof this.ws&&this.ws.close()},l.prototype.uri=function(){var a=this.query||{},b=this.secure?"wss":"ws",c="";this.port&&("wss"==b&&443!=this.port||"ws"==b&&80!=this.port)&&(c=":"+this.port),this.timestampRequests&&(a[this.timestampParam]=h()),this.supportsBinary||(a.b64=1),a=f.encode(a),a.length&&(a="?"+a);var d=this.hostname.indexOf(":")!==-1;return b+"://"+(d?"["+this.hostname+"]":this.hostname)+c+this.path+a},l.prototype.check=function(){return!(!k||"__initialize"in k&&this.name===l.prototype.name)}}).call(b,function(){return this}())},function(a,b){},function(a,b){var c=[].indexOf;a.exports=function(a,b){if(c)return a.indexOf(b);for(var d=0;d<a.length;++d)if(a[d]===b)return d;return-1}},function(a,b){(function(b){var c=/^[\],:{}\s]*$/,d=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,e=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,f=/(?:^|:|,)(?:\s*\[)+/g,g=/^\s+/,h=/\s+$/;a.exports=function(i){return"string"==typeof i&&i?(i=i.replace(g,"").replace(h,""),b.JSON&&JSON.parse?JSON.parse(i):c.test(i.replace(d,"@").replace(e,"]").replace(f,""))?new Function("return "+i)():void 0):null}}).call(b,function(){return this}())},function(a,b,c){function m(a,b){this.io=a,this.nsp=b,this.json=this,this.ids=0,this.acks={},this.receiveBuffer=[],this.sendBuffer=[],this.connected=!1,this.disconnected=!0,this.io.autoConnect&&this.open()}var d=c(70),e=c(106),f=c(107),g=c(108),h=c(109),i=c(67)("socket.io-client:socket"),j=c(110);a.exports=b=m;var k={connect:1,connect_error:1,connect_timeout:1,connecting:1,disconnect:1,error:1,reconnect:1,reconnect_attempt:1,reconnect_failed:1,reconnect_error:1,reconnecting:1,ping:1,pong:1},l=e.prototype.emit;e(m.prototype),m.prototype.subEvents=function(){if(!this.subs){var a=this.io;this.subs=[g(a,"open",h(this,"onopen")),g(a,"packet",h(this,"onpacket")),g(a,"close",h(this,"onclose"))]}},m.prototype.open=m.prototype.connect=function(){return this.connected?this:(this.subEvents(),this.io.open(),"open"==this.io.readyState&&this.onopen(),this.emit("connecting"),this)},m.prototype.send=function(){var a=f(arguments);return a.unshift("message"),this.emit.apply(this,a),this},m.prototype.emit=function(a){if(k.hasOwnProperty(a))return l.apply(this,arguments),this;var b=f(arguments),c=d.EVENT;j(b)&&(c=d.BINARY_EVENT);var e={type:c,data:b};return e.options={},e.options.compress=!this.flags||!1!==this.flags.compress,"function"==typeof b[b.length-1]&&(i("emitting packet with ack id %d",this.ids),this.acks[this.ids]=b.pop(),e.id=this.ids++),this.connected?this.packet(e):this.sendBuffer.push(e),delete this.flags,this},m.prototype.packet=function(a){a.nsp=this.nsp,this.io.packet(a)},m.prototype.onopen=function(){i("transport is open - connecting"),"/"!=this.nsp&&this.packet({type:d.CONNECT})},m.prototype.onclose=function(a){i("close (%s)",a),this.connected=!1,this.disconnected=!0,delete this.id,this.emit("disconnect",a)},m.prototype.onpacket=function(a){if(a.nsp==this.nsp)switch(a.type){case d.CONNECT:this.onconnect();break;case d.EVENT:this.onevent(a);break;case d.BINARY_EVENT:this.onevent(a);break;case d.ACK:this.onack(a);break;case d.BINARY_ACK:this.onack(a);break;case d.DISCONNECT:this.ondisconnect();break;case d.ERROR:this.emit("error",a.data)}},m.prototype.onevent=function(a){var b=a.data||[];i("emitting event %j",b),null!=a.id&&(i("attaching ack callback to event"),b.push(this.ack(a.id))),this.connected?l.apply(this,b):this.receiveBuffer.push(b)},m.prototype.ack=function(a){var b=this,c=!1;return function(){if(!c){c=!0;var e=f(arguments);i("sending ack %j",e);var g=j(e)?d.BINARY_ACK:d.ACK;b.packet({type:g,id:a,data:e})}}},m.prototype.onack=function(a){var b=this.acks[a.id];"function"==typeof b?(i("calling ack %s with %j",a.id,a.data),b.apply(this,a.data),delete this.acks[a.id]):i("bad ack %s",a.id)},m.prototype.onconnect=function(){this.connected=!0,this.disconnected=!1,this.emit("connect"),this.emitBuffered()},m.prototype.emitBuffered=function(){var a;for(a=0;a<this.receiveBuffer.length;a++)l.apply(this,this.receiveBuffer[a]);for(this.receiveBuffer=[],a=0;a<this.sendBuffer.length;a++)this.packet(this.sendBuffer[a]);this.sendBuffer=[]},m.prototype.ondisconnect=function(){i("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")},m.prototype.destroy=function(){if(this.subs){for(var a=0;a<this.subs.length;a++)this.subs[a].destroy();this.subs=null}this.io.destroy(this)},m.prototype.close=m.prototype.disconnect=function(){return this.connected&&(i("performing disconnect (%s)",this.nsp),this.packet({type:d.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this},m.prototype.compress=function(a){return this.flags=this.flags||{},this.flags.compress=a,this}},function(a,b){function c(a){if(a)return d(a)}function d(a){for(var b in c.prototype)a[b]=c.prototype[b];return a}a.exports=c,c.prototype.on=c.prototype.addEventListener=function(a,b){return this._callbacks=this._callbacks||{},(this._callbacks["$"+a]=this._callbacks["$"+a]||[]).push(b),this},c.prototype.once=function(a,b){function c(){this.off(a,c),b.apply(this,arguments)}return c.fn=b,this.on(a,c),this},c.prototype.off=c.prototype.removeListener=c.prototype.removeAllListeners=c.prototype.removeEventListener=function(a,b){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var c=this._callbacks["$"+a];if(!c)return this;if(1==arguments.length)return delete this._callbacks["$"+a],this;for(var d,e=0;e<c.length;e++)if(d=c[e],d===b||d.fn===b){c.splice(e,1);break}return this},c.prototype.emit=function(a){this._callbacks=this._callbacks||{};var b=[].slice.call(arguments,1),c=this._callbacks["$"+a];if(c){c=c.slice(0);for(var d=0,e=c.length;d<e;++d)c[d].apply(this,b)}return this},c.prototype.listeners=function(a){return this._callbacks=this._callbacks||{},this._callbacks["$"+a]||[]},c.prototype.hasListeners=function(a){return!!this.listeners(a).length}},function(a,b){function c(a,b){var c=[];b=b||0;for(var d=b||0;d<a.length;d++)c[d-b]=a[d];return c}a.exports=c},function(a,b){function c(a,b,c){return a.on(b,c),{destroy:function(){a.removeListener(b,c)}}}a.exports=c},function(a,b){var c=[].slice;a.exports=function(a,b){if("string"==typeof b&&(b=a[b]),"function"!=typeof b)throw new Error("bind() requires a function");var d=c.call(arguments,2);return function(){return b.apply(a,d.concat(c.call(arguments)))}}},function(a,b,c){(function(b){function e(a){function c(a){if(!a)return!1;if(b.Buffer&&b.Buffer.isBuffer&&b.Buffer.isBuffer(a)||b.ArrayBuffer&&a instanceof ArrayBuffer||b.Blob&&a instanceof Blob||b.File&&a instanceof File)return!0;if(d(a)){for(var e=0;e<a.length;e++)if(c(a[e]))return!0}else if(a&&"object"==typeof a){a.toJSON&&"function"==typeof a.toJSON&&(a=a.toJSON());for(var f in a)if(Object.prototype.hasOwnProperty.call(a,f)&&c(a[f]))return!0}return!1}return c(a)}var d=c(74);a.exports=e}).call(b,function(){return this}())},function(a,b){function c(a){a=a||{},this.ms=a.min||100,this.max=a.max||1e4,this.factor=a.factor||2,this.jitter=a.jitter>0&&a.jitter<=1?a.jitter:0,this.attempts=0}a.exports=c,c.prototype.duration=function(){var a=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var b=Math.random(),c=Math.floor(b*this.jitter*a);a=0==(1&Math.floor(10*b))?a-c:a+c}return 0|Math.min(a,this.max)},c.prototype.reset=function(){this.attempts=0},c.prototype.setMin=function(a){this.ms=a},c.prototype.setMax=function(a){this.max=a},c.prototype.setJitter=function(a){this.jitter=a}},function(a,b,c){"use strict";function h(a){for(var b=0,c=a.length,d=0;d<c;d++)b<a[d]&&(b=a[d]);return parseFloat(((b-127)/128).toFixed(3))}function i(a,b){var c=0,d=b-a;return c=d>.2?b-.2:d<-.4?b+.4:a,parseFloat(c.toFixed(3))}function j(a,b,c){this.stream=a,this.intervalId=null,this.intervalMilis=b,this.audioLevel=0,this.callback=c}var d=c(32),e=2048,f=.8;window.AudioContext=window.AudioContext||window.webkitAudioContext;var g=null;window.AudioContext&&(g=new AudioContext),j.prototype.start=function(){if(g&&!d.isTemasysPluginUsed()){var a=g.createAnalyser();a.smoothingTimeConstant=f,a.fftSize=e;var b=g.createMediaStreamSource(this.stream);b.connect(a);var c=this;this.intervalId=setInterval(function(){var b=new Uint8Array(a.frequencyBinCount);a.getByteTimeDomainData(b);var d=h(b);d!=c.audioLevel&&(c.audioLevel=i(d,c.audioLevel),c.callback(c.audioLevel))},this.intervalMilis)}},j.prototype.stop=function(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)},a.exports=j},function(a,b,c){(function(b){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function l(a,b){return!b||b<=0||!a||a<=0?0:Math.round(a/b*100)}function m(a){return Math.min(Math.max(a,0),1)}function n(a,b,c){if("googCandidatePair"==b){if("googChannelId"==c)return!1}else if("ssrc"==b&&("googTrackId"==c||"transportId"==c||"ssrc"==c))return!1;return!0}function o(a,b){return"googComponent"!=b&&("googCertificate"!=a.substring(0,15)&&"googTrack"!=a.substring(0,9)&&"googLibjingleSession"!=a.substring(0,20))}function p(){this.ssrc2Loss={},this.ssrc2AudioLevel={},this.ssrc2bitrate={download:0,upload:0},this.ssrc2resolution={}}function q(){this.bandwidth={},this.bitrate={},this.packetLoss=null,this.transport=[]}function r(a,b,c,d){this._browserType=i.getBrowserType();var e=k[this._browserType];if(!e)throw"The browser type '"+this._browserType+"' isn't supported!";this._getStatValue=this._defineGetStatValueMethod(e),this.peerconnection=a,this.baselineAudioLevelsReport=null,this.currentAudioLevelsReport=null,this.currentStatsReport=null,
this.baselineStatsReport=null,this.audioLevelsIntervalId=null,this.eventEmitter=d,this.conferenceStats=new q,this.GATHER_INTERVAL=15e3,this.gatherStatsIntervalId=null,this.statsToBeLogged={timestamps:[],stats:{}},this.audioLevelsIntervalMilis=b,this.statsIntervalId=null,this.statsIntervalMilis=c,this.ssrc2stats={}}var d=c(60),e=f(d),g=c(39),h=c(9).getLogger(b),i=c(32),j=i.isChrome()||i.isOpera()||i.isFirefox()||i.isNWJS(),k={};k[i.RTC_BROWSER_FIREFOX]={ssrc:"ssrc",packetsReceived:"packetsReceived",packetsLost:"packetsLost",packetsSent:"packetsSent",bytesReceived:"bytesReceived",bytesSent:"bytesSent"},k[i.RTC_BROWSER_CHROME]={receiveBandwidth:"googAvailableReceiveBandwidth",sendBandwidth:"googAvailableSendBandwidth",remoteAddress:"googRemoteAddress",transportType:"googTransportType",localAddress:"googLocalAddress",activeConnection:"googActiveConnection",ssrc:"ssrc",packetsReceived:"packetsReceived",packetsSent:"packetsSent",packetsLost:"packetsLost",bytesReceived:"bytesReceived",bytesSent:"bytesSent",googFrameHeightReceived:"googFrameHeightReceived",googFrameWidthReceived:"googFrameWidthReceived",googFrameHeightSent:"googFrameHeightSent",googFrameWidthSent:"googFrameWidthSent",audioInputLevel:"audioInputLevel",audioOutputLevel:"audioOutputLevel"},k[i.RTC_BROWSER_OPERA]=k[i.RTC_BROWSER_CHROME],k[i.RTC_BROWSER_NWJS]=k[i.RTC_BROWSER_CHROME],k[i.RTC_BROWSER_IEXPLORER]=k[i.RTC_BROWSER_CHROME],k[i.RTC_BROWSER_SAFARI]=k[i.RTC_BROWSER_CHROME],k[i.RTC_BROWSER_REACT_NATIVE]=k[i.RTC_BROWSER_CHROME],p.prototype.setSsrcLoss=function(a){this.ssrc2Loss=a||{}},p.prototype.setSsrcResolution=function(a){this.ssrc2resolution=a||{}},p.prototype.setSsrcBitrate=function(a){this.ssrc2bitrate.download+=a.download,this.ssrc2bitrate.upload+=a.upload},p.prototype.resetSsrcBitrate=function(){this.ssrc2bitrate.download=0,this.ssrc2bitrate.upload=0},p.prototype.setSsrcAudioLevel=function(a){this.ssrc2AudioLevel=m(a)},a.exports=r,r.prototype.stop=function(){this.audioLevelsIntervalId&&(clearInterval(this.audioLevelsIntervalId),this.audioLevelsIntervalId=null),this.statsIntervalId&&(clearInterval(this.statsIntervalId),this.statsIntervalId=null),this.gatherStatsIntervalId&&(clearInterval(this.gatherStatsIntervalId),this.gatherStatsIntervalId=null)},r.prototype.errorCallback=function(a){g.callErrorHandler(a),h.error("Get stats error",a),this.stop()},r.prototype.start=function(a){var b=this;a&&(this.audioLevelsIntervalId=setInterval(function(){b.peerconnection.getStats(function(a){var c=null;c=a&&a.result&&"function"==typeof a.result?a.result():a,b.currentAudioLevelsReport=c,b.processAudioLevelReport(),b.baselineAudioLevelsReport=b.currentAudioLevelsReport},b.errorCallback)},b.audioLevelsIntervalMilis)),j&&(this.statsIntervalId=setInterval(function(){b.peerconnection.getStats(function(a){var c=null;c=a&&a.result&&"function"==typeof a.result?a.result():a,b.currentStatsReport=c;try{b.processStatsReport()}catch(a){g.callErrorHandler(a),h.error("Unsupported key:"+a,a)}b.baselineStatsReport=b.currentStatsReport},b.errorCallback)},b.statsIntervalMilis)),j&&this._browserType!==i.RTC_BROWSER_FIREFOX&&(this.gatherStatsIntervalId=setInterval(function(){b.peerconnection.getStats(function(a){b.addStatsToBeLogged(a.result())},function(){})},this.GATHER_INTERVAL))},r.prototype.addStatsToBeLogged=function(a){var b=this,c=this.statsToBeLogged.timestamps.length;this.statsToBeLogged.timestamps.push((new Date).getTime()),a.forEach(function(a){if(o(a.id,a.type)){var d=b.statsToBeLogged.stats[a.id];d||(d=b.statsToBeLogged.stats[a.id]={}),d.type=a.type,a.names().forEach(function(b){if(n(a.id,a.type,b)){var e=d[b];for(e||(e=d[b]=[]);e.length<c;)e.push(null);e.push(a.stat(b))}})}})},r.prototype.getCollectedStats=function(){return this.statsToBeLogged},r.prototype.clearCollectedStats=function(){this.statsToBeLogged.stats={},this.statsToBeLogged.timestamps=[]},r.prototype._defineGetStatValueMethod=function(a){var c,b=function(c){var d=a[c];if(d)return d;throw"The property '"+c+"' isn't supported!"};switch(this._browserType){case i.RTC_BROWSER_CHROME:case i.RTC_BROWSER_OPERA:case i.RTC_BROWSER_NWJS:c=function(b,c){return b.stat(c)};break;case i.RTC_BROWSER_REACT_NATIVE:c=function(b,c){var d;return b.values.some(function(a){return!!a.hasOwnProperty(c)&&(d=a[c],!0)}),d};break;default:c=function(b,c){return b[c]}}return function(a,d){return c(a,b(d))}},r.prototype.processStatsReport=function(){if(this.baselineStatsReport){var a=this._getStatValue,b={};for(var c in this.currentStatsReport){var d=this.currentStatsReport[c];try{var f=a(d,"receiveBandwidth"),g=a(d,"sendBandwidth");(f||g)&&(this.conferenceStats.bandwidth={download:Math.round(f/1e3),upload:Math.round(g/1e3)})}catch(a){}if("googCandidatePair"!=d.type){if("candidatepair"==d.type){if("succeeded"==d.state)continue;var o=this.currentStatsReport[d.localCandidateId],q=this.currentStatsReport[d.remoteCandidateId];this.conferenceStats.transport.push({ip:q.ipAddress+":"+q.portNumber,type:o.transport,localip:o.ipAddress+":"+o.portNumber})}if("ssrc"==d.type||"outboundrtp"==d.type||"inboundrtp"==d.type){var r=this.baselineStatsReport[c],s=a(d,"ssrc");if(r){if(s){var t=this.ssrc2stats[s]||(this.ssrc2stats[s]=new p),u=!0,v="packetsReceived",w=a(d,v);if("undefined"!=typeof w&&null!==w&&""!==w||(u=!1,v="packetsSent",w=a(d,v),"undefined"!=typeof w&&null!==w)){(!w||w<0)&&(w=0);var x=a(r,v);(!x||x<0)&&(x=0);var y=w-x;(!y||y<0)&&(y=0);var z=a(d,"packetsLost");(!z||z<0)&&(z=0);var A=a(r,"packetsLost");(!A||A<0)&&(A=0);var B=z-A;(!B||B<0)&&(B=0);var C=y+B;t.setSsrcLoss({packetsTotal:C,packetsLost:B,isDownloadStream:u});var D=0,E=0,F=a(d,"bytesReceived");F&&(D=F-a(r,"bytesReceived")),F=a(d,"bytesSent"),"number"!=typeof F&&"string"!=typeof F||(F=Number(F),isNaN(F)||(b[s]=F,F>0&&(E=F-a(r,"bytesSent"))));var G=Math.round((d.timestamp-r.timestamp)/1e3);D=D<=0||G<=0?0:Math.round(8*D/G/1e3),E=E<=0||G<=0?0:Math.round(8*E/G/1e3),D>10&&0===t.ssrc2AudioLevel&&this.eventEmitter.emit(e.AUDIO_NOT_WORKING,s),t.setSsrcBitrate({download:D,upload:E});var H={height:null,width:null};try{var I,J;(I=a(d,"googFrameHeightReceived"))&&(J=a(d,"googFrameWidthReceived"))?(H.height=I,H.width=J):(I=a(d,"googFrameHeightSent"))&&(J=a(d,"googFrameWidthSent"))&&(H.height=I,H.width=J)}catch(a){}H.height&&H.width?t.setSsrcResolution(H):t.setSsrcResolution(null)}else h.warn("No packetsReceived nor packetsSent stat found")}}else h.warn(s+" not enough data")}}else{var i,j,k,m;try{i=a(d,"remoteAddress"),j=a(d,"transportType"),k=a(d,"localAddress"),m=a(d,"activeConnection")}catch(a){}if(!i||!j||!k||"true"!=m)continue;var n=this.conferenceStats.transport;n.some(function(a){return a.ip==i&&a.type==j&&a.localip==k})||n.push({ip:i,type:j,localip:k})}}var K={download:0,upload:0},L={download:0,upload:0},M=0,N=0,O={};Object.keys(this.ssrc2stats).forEach(function(a){var b=this.ssrc2stats[a],c=b.ssrc2Loss,d=c.isDownloadStream?"download":"upload";K[d]+=c.packetsTotal,L[d]+=c.packetsLost;var e=b.ssrc2bitrate;M+=e.download,N+=e.upload,b.resetSsrcBitrate(),O[a]=b.ssrc2resolution},this),this.eventEmitter.emit(e.BYTE_SENT_STATS,b),this.conferenceStats.bitrate={upload:N,download:M},this.conferenceStats.packetLoss={total:l(L.download+L.upload,K.download+K.upload),download:l(L.download,K.download),upload:l(L.upload,K.upload)},this.eventEmitter.emit(e.CONNECTION_STATS,{bandwidth:this.conferenceStats.bandwidth,bitrate:this.conferenceStats.bitrate,packetLoss:this.conferenceStats.packetLoss,resolution:O,transport:this.conferenceStats.transport}),this.conferenceStats.transport=[]}},r.prototype.processAudioLevelReport=function(){if(this.baselineAudioLevelsReport){var a=this._getStatValue;for(var b in this.currentAudioLevelsReport){var c=this.currentAudioLevelsReport[b];if("ssrc"==c.type){var d=this.baselineAudioLevelsReport[b],f=a(c,"ssrc");if(d)if(f){var g=this.ssrc2stats[f]||(this.ssrc2stats[f]=new p);try{var i=a(c,"audioInputLevel")||a(c,"audioOutputLevel")}catch(a){return h.warn("Audio Levels are not available in the statistics."),void clearInterval(this.audioLevelsIntervalId)}if(i){var j=!a(c,"packetsReceived");i/=32767,g.setSsrcAudioLevel(i),this.eventEmitter.emit(e.AUDIO_LEVEL,f,i,j)}}else Date.now()-c.timestamp<3e3&&h.warn("No ssrc: ");else h.warn(f+" not enough data")}}}}}).call(b,"modules/statistics/RTPStatsCollector.js")},function(a,b,c){"use strict";var d=c(115),e={loadScript:function(b,c,e,f,g,h){var i=document,j="script",k=i.createElement(j),l=i.getElementsByTagName(j)[0];if(k.async=c,f){var m=d();if(m){var n=m.src,o=n.substring(0,n.lastIndexOf("/")+1);n&&o&&(b=o+b)}}g&&(k.onload=g),h&&(k.onerror=h),k.src=b,e?l.parentNode.insertBefore(k,l):l.parentNode.appendChild(k)}};a.exports=e},function(a,b,c){var d,e,f;!function(c,g){e=[],d=g,f="function"==typeof d?d.apply(b,e):d,!(void 0!==f&&(a.exports=f))}(this||window,function(){function k(a){return a?a.replace(/^\s+$|\s+$/g,"").replace(/\s\s+/g," "):""}function l(a,b){var c,e=null;if(b=b||d,"string"==typeof a&&a)for(c=b.length;c--;)if(b[c].src===a){e=b[c];break}return e}function m(a,b){var c,e,f=null,g=k(a);if(b=b||d,a&&g)for(c=b.length;c--;)if(!b[c].hasAttribute("src")&&(e=k(b[c].text),e.indexOf(g)!==-1)){if(f){f=null;break}f=b[c]}return f}function n(a){var b,c,e=null;for(a=a||d,b=0,c=a.length;b<c;b++)if(!a[b].hasAttribute("src")){if(e){e=null;break}e=a[b]}return e}function o(a,b){var c,d,e=null,f="number"==typeof b;return b=f?Math.round(b):0,"string"==typeof a&&a&&(f?c=a.match(/(data:text\/javascript(?:;[^,]+)?,.+?|(?:|blob:)(?:http[s]?|file):\/\/[\/]?.+?\/[^:\)]*?)(?::\d+)(?::\d+)?/):(c=a.match(/^(?:|[^:@]*@|.+\)@(?=data:text\/javascript|blob|http[s]?|file)|.+?\s+(?: at |@)(?:[^:\(]+ )*[\(]?)(data:text\/javascript(?:;[^,]+)?,.+?|(?:|blob:)(?:http[s]?|file):\/\/[\/]?.+?\/[^:\)]*?)(?::\d+)(?::\d+)?/),c&&c[1]||(c=a.match(/\)@(data:text\/javascript(?:;[^,]+)?,.+?|(?:|blob:)(?:http[s]?|file):\/\/[\/]?.+?\/[^:\)]*?)(?::\d+)(?::\d+)?/))),c&&c[1]&&(b>0?(d=a.slice(a.indexOf(c[0])+c[0].length),e=o(d,b-1)):e=c[1])),e}function p(){return null}function q(){return null}function r(){if(0===d.length)return null;var b,h,k,p,q,s=[],t=r.skipStackDepth||1,u=null;for(b=0;b<d.length;b++)f&&e?a.test(d[b].readyState)&&s.push(d[b]):s.push(d[b]);if(h=new Error,i&&(k=h.stack),!k&&j)try{throw h}catch(a){k=a.stack}if(k&&(p=o(k,t),q=l(p,s),!q&&c&&p===c&&(q=u?m(u,s):n(s))),q||1===s.length&&(q=s[0]),q||g&&(q=document.currentScript),!q&&f&&e)for(b=s.length;b--;)if("interactive"===s[b].readyState){q=s[b];break}return q||(q=s[s.length-1]||null),q}var h,a=/^(interactive|loaded|complete)$/,b=window.location?window.location.href:null,c=b?b.replace(/#.*$/,"").replace(/\?.*$/,"")||null:null,d=document.getElementsByTagName("script"),e="readyState"in(d[0]||document.createElement("script")),f=!window.opera||"[object Opera]"!==window.opera.toString(),g="currentScript"in document;"stackTraceLimit"in Error&&Error.stackTraceLimit!==1/0&&(h=Error.stackTraceLimit,Error.stackTraceLimit=1/0);var i=!1,j=!1;!function(){try{var a=new Error;throw i="string"==typeof a.stack&&!!a.stack,a}catch(a){j="string"==typeof a.stack&&!!a.stack}}(),r.skipStackDepth=1;var s=r;return s.near=r,s.far=p,s.origin=q,s})},function(a,b){"use strict";var c={LOCAL_JID:"local"};a.exports=c},function(a,b,c){(function(b){"use strict";function h(a,b){a.ondatachannel=this.onDataChannel.bind(this),this.eventEmitter=b,this._dataChannels=[]}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},e=c(9).getLogger(b),f=c(49),g=c(39);h.prototype.onDataChannel=function(a){var b=a.channel,c=this;b.onopen=function(){e.info("Data channel opened by the Videobridge!",b),c.eventEmitter.emit(f.DATA_CHANNEL_OPEN)},b.onerror=function(a){e.error("Data Channel Error:",a,b)},b.onmessage=function(a){var i,h=a.data;try{i=JSON.parse(h)}catch(a){g.callErrorHandler(a),e.error("Failed to parse data channel message as JSON: ",h,b,a)}if("undefined"!=typeof i&&null!==i){var j=i.colibriClass;if("DominantSpeakerEndpointChangeEvent"===j){var k=i.dominantSpeakerEndpoint;e.info("Data channel new dominant speaker event: ",k),c.eventEmitter.emit(f.DOMINANTSPEAKER_CHANGED,k)}else if("InLastNChangeEvent"===j){var n,l=i.oldValue,m=i.newValue;"boolean"!==(n="undefined"==typeof l?"undefined":d(l))&&(l="string"===n?"true"==l:new Boolean(l).valueOf()),"boolean"!==(n="undefined"==typeof m?"undefined":d(m))&&(m="string"===n?"true"==m:new Boolean(m).valueOf()),c.eventEmitter.emit(f.LASTN_CHANGED,l,m)}else if("LastNEndpointsChangeEvent"===j){var o=i.lastNEndpoints,p=i.endpointsEnteringLastN;e.info("Data channel new last-n event: ",o,p,i),c.eventEmitter.emit(f.LASTN_ENDPOINT_CHANGED,o,p,i)}else if("EndpointMessage"===j)c.eventEmitter.emit(f.ENDPOINT_MESSAGE_RECEIVED,i.from,i.msgPayload);else if("EndpointConnectivityStatusChangeEvent"===j){var q=i.endpoint,r="true"===i.active;e.info("Endpoint connection status changed: "+q+" active ? "+r),c.eventEmitter.emit(f.ENDPOINT_CONN_STATUS_CHANGED,q,r)}else e.debug("Data channel JSON-formatted message: ",i),c.eventEmitter.emit("rtc.datachannel."+j,i)}},b.onclose=function(){e.info("The Data Channel closed",b);var a=c._dataChannels.indexOf(b);a>-1&&(c._dataChannels=c._dataChannels.splice(a,1))},this._dataChannels.push(b)},h.prototype.closeAllChannels=function(){this._dataChannels.forEach(function(a){a.close()})},h.prototype.sendSelectedEndpointMessage=function(a){this._onXXXEndpointChanged("selected",a)},h.prototype.sendPinnedEndpointMessage=function(a){this._onXXXEndpointChanged("pinned",a)},h.prototype._onXXXEndpointChanged=function(a,b){var c=a.charAt(0),d=a.substring(1),f=c.toLowerCase()+d,g=c.toUpperCase()+d;e.log("sending "+f+" endpoint changed notification to the bridge: ",b);var h={};h.colibriClass=g+"EndpointChangedEvent",h[f+"Endpoint"]=b?b:null,this.send(h),e.log(f+" endpoint changed: ",b)},h.prototype._some=function(a,b){var c=this._dataChannels;return!(!c||0===c.length)&&(b?c.some(a,b):c.some(a))},h.prototype.send=function(a){if(!this._some(function(b){if("open"==b.readyState)return b.send(JSON.stringify(a)),!0}))throw new Error("No opened data channels found!")},h.prototype.sendDataChannelMessage=function(a,b){this.send({colibriClass:"EndpointMessage",to:a,msgPayload:b})},a.exports=h}).call(b,"modules/RTC/DataChannels.js")},function(a,b,c){(function(b){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function n(a,b,c,d,e,f,h,i,j){g.call(this,b,d,e,function(){},f,h,i),this.rtc=a,this.peerjid=c,this.muted=j,this.hasBeenMuted=j,this.rtc&&this.track&&this._bindMuteHandlers()}var d=c(8),e=f(d),g=c(58),h=c(9).getLogger(b),i=c(32),j=c(49),k=c(59),l=!1,m=!1;n.prototype=Object.create(g.prototype),n.prototype.constructor=n,n.prototype._bindMuteHandlers=function(){this.track.addEventListener("mute",function(){h.debug('"onmute" event('+Date.now()+"): ",this.getParticipantId(),this.getType(),this.getSSRC()),this.rtc.eventEmitter.emit(j.REMOTE_TRACK_MUTE,this)}.bind(this)),this.track.addEventListener("unmute",function(){h.debug('"onunmute" event('+Date.now()+"): ",this.getParticipantId(),this.getType(),this.getSSRC()),this.rtc.eventEmitter.emit(j.REMOTE_TRACK_UNMUTE,this)}.bind(this))},n.prototype.setMute=function(a){this.muted!==a&&(a&&(this.hasBeenMuted=!0),this.stream&&(this.stream.muted=a),this.muted=a,this.eventEmitter.emit(e.TRACK_MUTE_CHANGED,this))},n.prototype.isMuted=function(){return this.muted},n.prototype.getParticipantId=function(){return Strophe.getResourceFromJid(this.peerjid)},n.prototype.isLocal=function(){return!1},n.prototype.getSSRC=function(){return this.ssrc},n.prototype._setVideoType=function(a){this.videoType!==a&&(this.videoType=a,this.eventEmitter.emit(e.TRACK_VIDEOTYPE_CHANGED,a))},n.prototype._playCallback=function(){var a=this.isVideoTrack()?"video":"audio",b=window.performance.now();console.log("(TIME) Render "+a+":\t",b),this.conference.getConnectionTimes()[a+".render"]=b;var c=b-(this.conference.getConnectionTimes()["session.initiate"]-this.conference.getConnectionTimes()["muc.joined"])-(window.connectionTimes["obtainPermissions.end"]-window.connectionTimes["obtainPermissions.start"]);this.conference.getConnectionTimes()[a+".ttfm"]=c,console.log("(TIME) TTFM "+a+":\t",c);var d=a+".ttfm";this.hasBeenMuted&&(d+=".muted"),k.analytics.sendEvent(d,{value:c})},n.prototype._attachTTFMTracker=function(a){if(!(l&&this.isAudioTrack()||m&&this.isVideoTrack()))if(this.isAudioTrack()&&(l=!0),this.isVideoTrack()&&(m=!0),i.isTemasysPluginUsed()){var b=c(54);b.addEvent(a,"play",this._playCallback.bind(this))}else a.addEventListener("canplay",this._playCallback.bind(this))},a.exports=n}).call(b,"modules/RTC/JitsiRemoteTrack.js")},function(a,b,c){var d=c(120),e=c(122);b.write=e,b.parse=d.parse,b.parseFmtpConfig=d.parseFmtpConfig,b.parsePayloads=d.parsePayloads,b.parseRemoteCandidates=d.parseRemoteCandidates},function(a,b,c){var d=function(a){return String(Number(a))===a?Number(a):a},e=function(a,b,c,e){if(e&&!c)b[e]=d(a[1]);else for(var f=0;f<c.length;f+=1)null!=a[f+1]&&(b[c[f]]=d(a[f+1]))},f=function(a,b,c){var d=a.name&&a.names;a.push&&!b[a.push]?b[a.push]=[]:d&&!b[a.name]&&(b[a.name]={});var f=a.push?{}:d?b[a.name]:b;e(c.match(a.reg),f,a.names,a.name),a.push&&b[a.push].push(f)},g=c(121),h=RegExp.prototype.test.bind(/^([a-z])=(.*)/);b.parse=function(a){var b={},c=[],d=b;return a.split(/(\r\n|\r|\n)/).filter(h).forEach(function(a){var b=a[0],e=a.slice(2);"m"===b&&(c.push({rtp:[],fmtp:[]}),d=c[c.length-1]);for(var h=0;h<(g[b]||[]).length;h+=1){var i=g[b][h];if(i.reg.test(e))return f(i,d,e)}}),b.media=c,b};var i=function(a,b){var c=b.split("=");return 2===c.length&&(a[c[0]]=d(c[1])),a};b.parseFmtpConfig=function(a){return a.split(/\;\s?/).reduce(i,{})},b.parsePayloads=function(a){return a.split(" ").map(Number)},b.parseRemoteCandidates=function(a){for(var b=[],c=a.split(" ").map(d),e=0;e<c.length;e+=3)b.push({component:c[e],ip:c[e+1],port:c[e+2]});return b}},function(a,b){var c=a.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w\/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(a){return a.encoding?"rtpmap:%d %s/%s/%s":a.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(a){return null!=a.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%d trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(a){return null!=a.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:([\w_\/]*) (\S*)(?: (\S*))?/,names:["value","uri","config"],format:function(a){return null!=a.config?"extmap:%s %s %s":"extmap:%s %s"}},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(a){return null!=a.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation"],format:function(a){var b="candidate:%s %d %s %d %s %d typ %s";return b+=null!=a.raddr?" raddr %s rport %d":"%v%v",b+=null!=a.tcptype?" tcptype %s":"%v",null!=a.generation&&(b+=" generation %d"),b}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_]*):(.*)/,names:["id","attribute","value"],format:"ssrc:%d %s:%s"},{push:"ssrcGroups",reg:/^ssrc-group:(\w*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{push:"invalid",names:["value"]}]};Object.keys(c).forEach(function(a){var b=c[a];b.forEach(function(a){a.reg||(a.reg=/(.*)/),a.format||(a.format="%s")})})},function(a,b,c){var d=c(121),e=/%[sdv%]/g,f=function(a){var b=1,c=arguments,d=c.length;return a.replace(e,function(a){if(b>=d)return a;var e=c[b];switch(b+=1,a){case"%%":return"%";case"%s":return String(e);case"%d":return Number(e);case"%v":return""}})},g=function(a,b,c){var d=b.format instanceof Function?b.format(b.push?c:c[b.name]):b.format,e=[a+"="+d];if(b.names)for(var g=0;g<b.names.length;g+=1){var h=b.names[g];b.name?e.push(c[b.name][h]):e.push(c[b.names[g]])}else e.push(c[b.name]);return f.apply(null,e)},h=["v","o","s","i","u","e","p","c","b","t","r","z","a"],i=["i","c","b","a"];a.exports=function(a,b){b=b||{},null==a.version&&(a.version=0),null==a.name&&(a.name=" "),a.media.forEach(function(a){null==a.payloads&&(a.payloads="")});var c=b.outerOrder||h,e=b.innerOrder||i,f=[];return c.forEach(function(b){d[b].forEach(function(c){c.name in a&&null!=a[c.name]?f.push(g(b,c,a)):c.push in a&&null!=a[c.push]&&a[c.push].forEach(function(a){f.push(g(b,c,a))})})}),a.media.forEach(function(a){f.push(g("m",d.m[0],a)),e.forEach(function(b){d[b].forEach(function(c){c.name in a&&null!=a[c.name]?f.push(g(b,c,a)):c.push in a&&null!=a[c.push]&&a[c.push].forEach(function(a){f.push(g(b,c,a))})})})}),f.join("\r\n")+"\r\n"}},function(a,b,c){b.Interop=c(124)},function(a,b,c){"use strict";function f(){this.cache={}}var d=c(125),e=c(126);a.exports=f,f.prototype.getFirstSendingIndexFromAnswer=function(a){if(!this.cache.answer)return null;var b=d.parse(this.cache.answer);if(b&&b.media&&Array.isArray(b.media))for(var c=0;c<b.media.length;c++)if(b.media[c].type==a&&(!b.media[c].direction||"sendrecv"===b.media[c].direction||"sendonly"===b.media[c].direction))return c;return null},f.prototype.toPlanB=function(a){var b=this;if("object"!=typeof a||null===a||"string"!=typeof a.sdp)return console.warn("An empty description was passed as an argument."),a;var c=d.parse(a.sdp);if("undefined"==typeof c.media||!Array.isArray(c.media)||0===c.media.length)return console.warn("The description has no media."),a;if(c.media.length<=3&&c.media.every(function(a){return["video","audio","data"].indexOf(a.mid)!==-1}))return console.warn("This description does not look like Unified Plan."),a;for(var e=a.sdp,f=!1,g=0;g<c.media.length;g++){var h=c.media[g];h.rtp.forEach(function(a){if("NULL"===a.codec){f=!0;var c=d.parse(b.cache.offer);a.codec=c.media[g].rtp[0].codec}})}f&&(e=d.write(c)),this.cache[a.type]=e;var i=c.media;c.media=[];var j={},k=[];i.forEach(function(a){if(("string"!=typeof a.rtcpMux||"rtcp-mux"!==a.rtcpMux)&&"inactive"!==a.direction)throw new Error("Cannot convert to Plan B because m-lines without the rtcp-mux attribute were found.");return"application"===a.type?(c.media.push(a),void k.push(a.mid)):("undefined"==typeof j[a.type]&&(j[a.type]=a),"object"==typeof a.sources&&Object.keys(a.sources).forEach(function(b){"object"!=typeof j[a.type].sources&&(j[a.type].sources={}),j[a.type].sources[b]=a.sources[b],"undefined"!=typeof a.msid&&(j[a.type].sources[b].msid=a.msid)}),"undefined"!=typeof a.ssrcGroups&&Array.isArray(a.ssrcGroups)&&("undefined"!=typeof j[a.type].ssrcGroups&&Array.isArray(j[a.type].ssrcGroups)||(j[a.type].ssrcGroups=[]),j[a.type].ssrcGroups=j[a.type].ssrcGroups.concat(a.ssrcGroups)),void(j[a.type]===a&&(a.candidates=i[0].candidates,a.iceUfrag=i[0].iceUfrag,a.icePwd=i[0].icePwd,a.fingerprint=i[0].fingerprint,a.mid=a.type,delete a.bundleOnly,delete a.msid,k.push(a.type),c.media.push(a))))}),c.groups.some(function(a){if("BUNDLE"===a.type)return a.mids=k.join(" "),!0}),c.msidSemantic={semantic:"WMS",token:"*"};var l=d.write(c);return new RTCSessionDescription({type:a.type,sdp:l})},f.prototype.toUnifiedPlan=function(a){var b=this;if("object"!=typeof a||null===a||"string"!=typeof a.sdp)return console.warn("An empty description was passed as an argument."),a;var c=d.parse(a.sdp);if("undefined"==typeof c.media||!Array.isArray(c.media)||0===c.media.length)return console.warn("The description has no media."),a;if(c.media.length>3||!c.media.every(function(a){return["video","audio","data"].indexOf(a.mid)!==-1}))return console.warn("This description does not look like Plan B."),a;var f=[];c.media.forEach(function(a){f.push(a.mid)});var g=!1;if("undefined"!=typeof c.groups&&Array.isArray(c.groups)&&(g=c.groups.every(function(a){return"BUNDLE"!==a.type||e.apply(a.mids.sort(),[f.sort()])})),!g)throw new Error("Cannot convert to Unified Plan because m-lines that are not bundled were found.");var h;"undefined"!=typeof this.cache[a.type]&&(h=d.parse(this.cache[a.type]));var i={audio:{},video:{}},j={};if(c.media.forEach(function(b){if(("string"!=typeof b.rtcpMux||"rtcp-mux"!==b.rtcpMux)&&"inactive"!==b.direction)throw new Error("Cannot convert to Unified Plan because m-lines without the rtcp-mux attribute were found.");if("application"===b.type)return void(j[b.mid]=b);var c=b.sources,d=b.ssrcGroups,e=b.candidates,f=b.iceUfrag,g=b.icePwd,k=b.fingerprint,l=b.port;delete b.sources,delete b.ssrcGroups,delete b.candidates,delete b.iceUfrag,delete b.icePwd,delete b.fingerprint,delete b.port,delete b.mid;var m={};"undefined"!=typeof d&&Array.isArray(d)&&d.forEach(function(a){"SIM"!==a.semantics&&"undefined"!=typeof a.ssrcs&&Array.isArray(a.ssrcs)&&a.ssrcs.forEach(function(b){"undefined"==typeof m[b]&&(m[b]=[]),m[b].push(a)})});var n={};"object"==typeof c&&Object.keys(c).forEach(function(d){var o;if("offer"===a.type&&!c[d].msid)return void(i[b.type][d]=c[d]);if("undefined"!=typeof m[d]&&Array.isArray(m[d])&&m[d].some(function(a){return a.ssrcs.some(function(a){if("object"==typeof n[a])return o=n[a],!0})}),"object"==typeof o)o.sources[d]=c[d],delete c[d].msid;else{if(o=Object.create(b),n[d]=o,"undefined"!=typeof c[d].msid&&(o.msid=c[d].msid,o.direction="sendrecv",delete c[d].msid),o.sources={},o.sources[d]=c[d],o.ssrcGroups=m[d],"undefined"!=typeof h&&"undefined"!=typeof h.media&&Array.isArray(h.media)&&h.media.forEach(function(a){"object"==typeof a.sources&&Object.keys(a.sources).forEach(function(b){b===d&&(o.mid=a.mid)})}),"undefined"==typeof o.mid){if("answer"===a.type)throw new Error("An unmapped SSRC was found.");o.mid=[b.type,"-",d].join("")}o.candidates=e,o.iceUfrag=f,o.icePwd=g,o.fingerprint=k,o.port=l,j[o.mid]=o}})}),c.media=[],f=[],"answer"===a.type)for(var k=0;k<h.media.length;k++){var l=h.media[k];"undefined"==typeof j[l.mid]&&(delete l.msid,delete l.sources,delete l.ssrcGroups,l.direction&&"sendrecv"!==l.direction?"sendonly"===l.direction&&(l.direction="inactive"):l.direction="recvonly"),c.media.push(l),"string"==typeof l.mid&&f.push(l.mid)}else"undefined"!=typeof h&&"undefined"!=typeof h.media&&Array.isArray(h.media)&&h.media.forEach(function(a){f.push(a.mid),"undefined"!=typeof j[a.mid]?c.media.push(j[a.mid]):(delete a.msid,delete a.sources,delete a.ssrcGroups,a.direction&&"sendrecv"!==a.direction||(a.direction="recvonly"),a.direction&&"sendonly"!==a.direction||(a.direction="inactive"),c.media.push(a))}),Object.keys(j).forEach(function(a){f.indexOf(a)===-1&&(f.push(a),"recvonly"===j[a].direction?c.media.some(function(b){if(("sendrecv"===b.direction||"sendonly"===b.direction)&&b.type===j[a].type)return Object.keys(j[a].sources).forEach(function(c){b.sources[c]=j[a].sources[c]}),!0}):c.media.push(j[a]))});["audio","video"].forEach(function(a){if(c&&c.media&&Array.isArray(c.media)){var d=null;if(Object.keys(i[a]).length>0&&(d=b.getFirstSendingIndexFromAnswer(a),null===d))for(var e=0;e<c.media.length;e++)if(c.media[e].type===a){d=e;break}if(d&&c.media.length>d){var f=c.media[d];Object.keys(i[a]).forEach(function(b){f.sources&&f.sources[b]&&console.warn("Replacing an existing SSRC."),f.sources||(f.sources={}),f.sources[b]=i[a][b]})}}}),c.groups.some(function(a){if("BUNDLE"===a.type)return a.mids=f.join(" "),!0}),c.msidSemantic={semantic:"WMS",token:"*"};var m=d.write(c);return this.cache[a.type]=m,new RTCSessionDescription({type:a.type,sdp:m})}},function(a,b,c){var d=c(119);b.write=function(a,b){return"undefined"!=typeof a&&"undefined"!=typeof a.media&&Array.isArray(a.media)&&a.media.forEach(function(a){"undefined"!=typeof a.sources&&0!==Object.keys(a.sources).length&&(a.ssrcs=[],Object.keys(a.sources).forEach(function(b){var c=a.sources[b];Object.keys(c).forEach(function(d){a.ssrcs.push({id:b,attribute:d,value:c[d]})})}),delete a.sources),"undefined"!=typeof a.ssrcGroups&&Array.isArray(a.ssrcGroups)&&a.ssrcGroups.forEach(function(a){"undefined"!=typeof a.ssrcs&&Array.isArray(a.ssrcs)&&(a.ssrcs=a.ssrcs.join(" "))})}),"undefined"!=typeof a&&"undefined"!=typeof a.groups&&Array.isArray(a.groups)&&a.groups.forEach(function(a){"undefined"!=typeof a.mids&&Array.isArray(a.mids)&&(a.mids=a.mids.join(" "))}),d.write(a,b)},b.parse=function(a){var b=d.parse(a);return"undefined"!=typeof b&&"undefined"!=typeof b.media&&Array.isArray(b.media)&&b.media.forEach(function(a){"undefined"!=typeof a.ssrcs&&Array.isArray(a.ssrcs)&&(a.sources={},a.ssrcs.forEach(function(b){a.sources[b.id]||(a.sources[b.id]={}),a.sources[b.id][b.attribute]=b.value}),delete a.ssrcs),"undefined"!=typeof a.ssrcGroups&&Array.isArray(a.ssrcGroups)&&a.ssrcGroups.forEach(function(a){"string"==typeof a.ssrcs&&(a.ssrcs=a.ssrcs.split(" "))})}),"undefined"!=typeof b&&"undefined"!=typeof b.groups&&Array.isArray(b.groups)&&b.groups.forEach(function(a){"string"==typeof a.mids&&(a.mids=a.mids.split(" "))}),b}},function(a,b){a.exports=function a(b){if(!b)return!1;if(this.length!=b.length)return!1;for(var c=0,d=this.length;c<d;c++)if(this[c]instanceof Array&&b[c]instanceof Array){if(!a.apply(this[c],[b[c]]))return!1}else if(this[c]!=b[c])return!1;return!0}},function(a,b,c){function i(a){this.options=a?a:{},this.options.numOfLayers||(this.options.numOfLayers=h),this.layers=[]}function j(){var a=0,b=4294967295;return Math.floor(Math.random()*(b-a))+a}function k(a,b){null!=a&&Array.isArray(a.media)&&a.media.forEach(function(a){"video"===a.type&&b(a)})}function l(a){return a&&null!=a&&a.type&&""!=a.type&&a.sdp&&""!=a.sdp}function m(a){if(a&&Array.isArray(a.ssrcGroups))for(var b=f(a),c=[],d=a.ssrcGroups.length;d--;)if("SIM"===a.ssrcGroups[d].semantics){for(var e=a.ssrcGroups[d].ssrcs.split(" "),h=0;h<e.length;h++){var i=e[h];
c.push(i);var j=b[i].msid.split(" ");b[i].msid=[j[0],"/",h," ",j[1],"/",h].join(""),b[i].cname=[b[i].cname,"/",h].join(""),a.ssrcGroups.forEach(function(a){if("SIM"!==a.semantics){var d=a.ssrcs.split(" ");d.indexOf(i)!==-1&&d.forEach(function(a){b[a].msid=b[i].msid,b[a].cname=b[i].cname,a!==i&&c.push(a)})}})}a.ssrcs=g(b,c),a.ssrcGroups.splice(d,1)}}function n(a){if(!a||!Array.isArray(a.ssrcGroups))return void console.info("Halt: There are no SSRC groups in the remote description.");var b=f(a);a.ssrcGroups.forEach(function(c){if("SIM"===c.semantics){console.info("Imploding SIM group: "+c.ssrcs),c.nuke=!0;for(var d=c.ssrcs.split(" "),e=1;e<d.length;e++){var f=d[e];delete b[f],a.ssrcGroups.forEach(function(a){if("SIM"!==a.semantics){var c=a.ssrcs.split(" ");c.indexOf(f)!==-1&&(c.forEach(function(a){delete b[a]}),a.nuke=!0)}})}}}),a.ssrcs=g(b);for(var c=a.ssrcGroups.length;c--;)a.ssrcGroups[c].nuke&&a.ssrcGroups.splice(c,1)}function o(a){if(a&&Array.isArray(a.invalid))for(var b=a.invalid.length;b--;)"x-google-flag:conference"==a.invalid[b].value&&a.invalid.splice(b,1)}function p(a){a&&(Array.isArray(a.invalid)||(a.invalid=[]),a.invalid.some(function(a){return"x-google-flag:conference"===a.value})||a.invalid.push({value:"x-google-flag:conference"}))}var d=c(119),e=c(128),f=e.parseSsrcs,g=e.writeSsrcs,h=3;i.prototype._maybeInitializeLayers=function(a){if(a&&"video"===a.type){var b=f(a);if(0===Object.keys(b).length)return void(0!==this.layers.length&&(this.layers=[]));var c;c=this.layers.length>0&&b[this.layers[0].ssrc]?this.layers[0].ssrc:parseInt(Object.keys(b)[0]);var d=b[c];if(this.layers.length>0&&(d.cname!==this.layers[0].cname||c!==this.layers[0].ssrc)&&(this.layers=[]),this.layers.length<1){this.layers.push({ssrc:c,msid:d.msid,cname:d.cname});var e=!1;Array.isArray(a.rtp)&&(e=a.rtp.some(function(a){return"rtx"===a.codec})),e&&(this.layers[0].rtx=j());for(var g=1;g<Math.max(1,this.options.numOfLayers);g++){var h={ssrc:j()};e&&(h.rtx=j()),this.layers.push(h)}}}},i.prototype._restoreSimulcastView=function(a){if(a&&"video"===a.type&&0!==this.layers.length){for(var b={},c=this.layers[0].msid,d=this.layers[0].cname,e=[],f=[],h=0;h<this.layers.length;h++){var i=this.layers[h];b[i.ssrc]={msid:c,cname:d},e.push(i.ssrc),i.rtx&&(b[i.rtx]={msid:c,cname:d},f.push({semantics:"FID",ssrcs:[i.ssrc,i.rtx].join(" ")}))}f.push({semantics:"SIM",ssrcs:e.join(" ")}),a.ssrcGroups=f,a.ssrcs=g(b,e)}},i.prototype.isSupported=function(){return window.chrome},i.prototype.mungeRemoteDescription=function(a){if(!l(a))return a;var b=d.parse(a.sdp),c=this;return k(b,function(a){c.options.explodeRemoteSimulcast?m(a):n(a),c.layers.length<1?o(a):p(a)}),new RTCSessionDescription({type:a.type,sdp:d.write(b)})},i.prototype.mungeLocalDescription=function(a){if(!l(a)||!this.isSupported())return a;var b=d.parse(a.sdp),c=this;return k(b,function(a){"recvonly"!=a.direction&&"inactive"!=a.direction&&(c._maybeInitializeLayers(a),c._restoreSimulcastView(a))}),new RTCSessionDescription({type:a.type,sdp:d.write(b)})},a.exports=i},function(a,b){b.writeSsrcs=function(a,b){var c=[];if("undefined"!=typeof a&&0!==Object.keys(a).length){Array.isArray(b)||(b=[]);for(var d=0;d<b.length;d++){var e=b[d],f=a[e];Object.keys(f).forEach(function(a){c.push({id:e,attribute:a,value:f[a]})})}Object.keys(a).forEach(function(d){if(d=parseInt(d),!(b.indexOf(d)>=0)){var e=a[d];Object.keys(e).forEach(function(a){c.push({id:d,attribute:a,value:e[a]})})}})}return c},b.parseSsrcs=function(a){var b={};return"undefined"!=typeof a.ssrcs&&Array.isArray(a.ssrcs)&&a.ssrcs.forEach(function(a){b[a.id]||(b[a.id]={}),b[a.id][a.attribute]=a.value}),b}},function(a,b,c){"use strict";function e(a,b){this.mySDP=a,this.otherSDP=b}var d=c(52);e.prototype.getNewMedia=function(){function a(a){if(!a)return!1;if(this.length!=a.length)return!1;for(var b=0,c=this.length;b<c;b++)if(this[b]instanceof Array&&a[b]instanceof Array){if(!this[b].equals(a[b]))return!1}else if(this[b]!=a[b])return!1;return!0}var b=this.mySDP.getMediaSsrcMap(),c=this.otherSDP.getMediaSsrcMap(),d={};return Object.keys(c).forEach(function(e){var f=b[e],g=c[e];return!f&&g?void(d[e]=g):(Object.keys(g.ssrcs).forEach(function(a){Object.keys(f.ssrcs).indexOf(a)===-1&&(d[e]||(d[e]={mediaindex:g.mediaindex,mid:g.mid,ssrcs:{},ssrcGroups:[]}),d[e].ssrcs[a]=g.ssrcs[a])}),void g.ssrcGroups.forEach(function(b){for(var c=!1,h=0;h<f.ssrcGroups.length;h++){var i=f.ssrcGroups[h];if(b.semantics==i.semantics&&a.apply(b.ssrcs,[i.ssrcs])){c=!0;break}}c||(d[e]||(d[e]={mediaindex:g.mediaindex,mid:g.mid,ssrcs:{},ssrcGroups:[]}),d[e].ssrcGroups.push(b))}))}),d},e.prototype.toJingle=function(a){var b=this.getNewMedia(),c=!1;return Object.keys(b).forEach(function(e){c=!0;var f=b[e];a.c("content",{name:f.mid}),a.c("description",{xmlns:"urn:xmpp:jingle:apps:rtp:1",media:f.mid}),Object.keys(f.ssrcs).forEach(function(b){var c=f.ssrcs[b];a.c("source",{xmlns:"urn:xmpp:jingle:apps:rtp:ssma:0"}),a.attrs({ssrc:c.ssrc}),c.lines.forEach(function(b){var c=b.indexOf(" "),e=b.substr(c+1);if(a.c("parameter"),e.indexOf(":")==-1)a.attrs({name:e});else{var f=e.split(":",2),g=f[0],h=d.filter_special_chars(f[1]);a.attrs({name:g}),a.attrs({value:h})}a.up()}),a.up()}),f.ssrcGroups.forEach(function(b){b.ssrcs.length&&(a.c("ssrc-group",{semantics:b.semantics,xmlns:"urn:xmpp:jingle:apps:rtp:ssma:0"}),b.ssrcs.forEach(function(b){a.c("source",{ssrc:b}).up()}),a.up())}),a.up(),a.up()}),c},a.exports=e},function(a,b,c){"use strict";function e(a){for(var b=a.split("\r\nm="),c=1,d=b.length;c<d;c++){var e="m="+b[c];c!=d-1&&(e+="\r\n"),b[c]=e}var f=b.shift()+"\r\n";this.media=b,this.raw=f+b.join(""),this.session=f}var d=c(52);e.prototype.failICE=!1,e.prototype.removeTcpCandidates=!1,e.prototype.removeUdpCandidates=!1,e.prototype.getMediaSsrcMap=function(){for(var c,a=this,b={},e=0;e<a.media.length;e++){c=d.find_lines(a.media[e],"a=ssrc:");var f=d.parse_mid(d.find_line(a.media[e],"a=mid:")),g={mediaindex:e,mid:f,ssrcs:{},ssrcGroups:[]};b[e]=g,c.forEach(function(a){var b=a.substring(7).split(" ")[0];g.ssrcs[b]||(g.ssrcs[b]={ssrc:b,lines:[]}),g.ssrcs[b].lines.push(a)}),c=d.find_lines(a.media[e],"a=ssrc-group:"),c.forEach(function(a){var b=a.indexOf(" "),c=a.substr(0,b).substr(13),d=a.substr(14+c.length).split(" ");d.length&&g.ssrcGroups.push({semantics:c,ssrcs:d})})}return b},e.prototype.containsSSRC=function(a){var b=this.getMediaSsrcMap(),c=!1;return Object.keys(b).forEach(function(d){c||b[d].ssrcs[a]&&(c=!0)}),c},e.prototype.mangle=function(){var a,b,c,e,f,g;for(a=0;a<this.media.length;a++)if(e=this.media[a].split("\r\n"),e.pop(),c=d.parse_mline(e.shift()),"audio"==c.media){for(g="",c.fmt.length=0,b=0;b<e.length;b++){if("a=rtpmap:"==e[b].substr(0,9)){if(f=d.parse_rtpmap(e[b]),"CN"==f.name||"ISAC"==f.name)continue;c.fmt.push(f.id)}g+=e[b]+"\r\n"}this.media[a]=d.build_mline(c)+"\r\n"+g}this.raw=this.session+this.media.join("")},e.prototype.removeSessionLines=function(a){var b=this,c=d.find_lines(this.session,a);return c.forEach(function(a){b.session=b.session.replace(a+"\r\n","")}),this.raw=this.session+this.media.join(""),c},e.prototype.removeMediaLines=function(a,b){var c=this,e=d.find_lines(this.media[a],b);return e.forEach(function(b){c.media[a]=c.media[a].replace(b+"\r\n","")}),this.raw=this.session+this.media.join(""),e},e.prototype.toJingle=function(a,b){var c,e,f,g,h,i,j,k;if(k=d.find_lines(this.session,"a=group:"),k.length)for(c=0;c<k.length;c++){j=k[c].split(" ");var l=j.shift().substr(8);for(a.c("group",{xmlns:"urn:xmpp:jingle:apps:grouping:0",semantics:l}),e=0;e<j.length;e++)a.c("content",{name:j[e]}).up();a.up()}for(c=0;c<this.media.length;c++)if(g=d.parse_mline(this.media[c].split("\r\n")[0]),"audio"===g.media||"video"===g.media||"application"===g.media){var m=d.find_line(this.media[c],"a=ssrc:");h=!!m&&m.substring(7).split(" ")[0],a.c("content",{creator:b,name:g.media});var n=d.find_line(this.media[c],"a=mid:");if(n){var o=d.parse_mid(n);a.attrs({name:o})}if(d.find_line(this.media[c],"a=rtpmap:").length){for(a.c("description",{xmlns:"urn:xmpp:jingle:apps:rtp:1",media:g.media}),h&&a.attrs({ssrc:h}),e=0;e<g.fmt.length;e++){i=d.find_line(this.media[c],"a=rtpmap:"+g.fmt[e]),a.c("payload-type",d.parse_rtpmap(i));var p=d.find_line(this.media[c],"a=fmtp:"+g.fmt[e]);if(p)for(j=d.parse_fmtp(p),f=0;f<j.length;f++)a.c("parameter",j[f]).up();this.rtcpFbToJingle(c,a,g.fmt[e]),a.up()}var q=d.find_lines(this.media[c],"a=crypto:",this.session);if(q.length&&(a.c("encryption",{required:1}),q.forEach(function(b){a.c("crypto",d.parse_crypto(b)).up()}),a.up()),h){a.c("source",{ssrc:h,xmlns:"urn:xmpp:jingle:apps:rtp:ssma:0"});var r=d.find_lines(this.media[c],"a=ssrc:");if(r.length>0)r.forEach(function(b){var c=b.indexOf(" "),e=b.substr(0,c).substr(7);e!=h&&(a.up(),h=e,a.c("source",{ssrc:h,xmlns:"urn:xmpp:jingle:apps:rtp:ssma:0"}));var f=b.substr(c+1);if(a.c("parameter"),f.indexOf(":")==-1)a.attrs({name:f});else{var g=f.split(":",2)[0];a.attrs({name:g});var i=f.split(":",2)[1];i=d.filter_special_chars(i),a.attrs({value:i})}a.up()});else{a.up(),a.c("source",{ssrc:h,xmlns:"urn:xmpp:jingle:apps:rtp:ssma:0"}),a.c("parameter"),a.attrs({name:"cname",value:Math.random().toString(36).substring(7)}),a.up();var s=null;s="audio"==g.media?APP.RTC.localAudio._getId():APP.RTC.localVideo._getId(),null!=s&&(s=d.filter_special_chars(s),a.c("parameter"),a.attrs({name:"msid",value:s}),a.up(),a.c("parameter"),a.attrs({name:"mslabel",value:s}),a.up(),a.c("parameter"),a.attrs({name:"label",value:s}),a.up())}a.up();var t=d.find_lines(this.media[c],"a=ssrc-group:");t.forEach(function(b){var c=b.indexOf(" "),d=b.substr(0,c).substr(13),e=b.substr(14+d.length).split(" ");e.length&&(a.c("ssrc-group",{semantics:d,xmlns:"urn:xmpp:jingle:apps:rtp:ssma:0"}),e.forEach(function(b){a.c("source",{ssrc:b}).up()}),a.up())})}if(d.find_line(this.media[c],"a=rtcp-mux")&&a.c("rtcp-mux").up(),this.rtcpFbToJingle(c,a,"*"),k=d.find_lines(this.media[c],"a=extmap:"),k.length)for(e=0;e<k.length;e++){if(j=d.parse_extmap(k[e]),a.c("rtp-hdrext",{xmlns:"urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",uri:j.uri,id:j.value}),j.hasOwnProperty("direction"))switch(j.direction){case"sendonly":a.attrs({senders:"responder"});break;case"recvonly":a.attrs({senders:"initiator"});break;case"sendrecv":a.attrs({senders:"both"});break;case"inactive":a.attrs({senders:"none"})}a.up()}a.up()}this.transportToJingle(c,a),d.find_line(this.media[c],"a=sendrecv",this.session)?a.attrs({senders:"both"}):d.find_line(this.media[c],"a=sendonly",this.session)?a.attrs({senders:"initiator"}):d.find_line(this.media[c],"a=recvonly",this.session)?a.attrs({senders:"responder"}):d.find_line(this.media[c],"a=inactive",this.session)&&a.attrs({senders:"none"}),"0"==g.port&&a.attrs({senders:"rejected"}),a.up()}return a.up(),a},e.prototype.transportToJingle=function(a,b){var c,e,f,g,h=this;if(b.c("transport"),e=d.find_line(this.media[a],"a=sctpmap:",h.session),e&&(f=d.parse_sctpmap(e),b.c("sctpmap",{xmlns:"urn:xmpp:jingle:transports:dtls-sctp:1",number:f[0],protocol:f[1]}),f.length>2&&b.attrs({streams:f[2]}),b.up()),g=d.find_lines(this.media[a],"a=fingerprint:",this.session),g.forEach(function(e){c=d.parse_fingerprint(e),c.xmlns="urn:xmpp:jingle:apps:dtls:0",b.c("fingerprint").t(c.fingerprint),delete c.fingerprint,e=d.find_line(h.media[a],"a=setup:",h.session),e&&(c.setup=e.substr(8)),b.attrs(c),b.up()}),c=d.iceparams(this.media[a],this.session),c&&(c.xmlns="urn:xmpp:jingle:transports:ice-udp:1",b.attrs(c),d.find_line(this.media[a],"a=candidate:",this.session))){var i=d.find_lines(this.media[a],"a=candidate:",this.session);i.forEach(function(a){var c=d.candidateToJingle(a);h.failICE&&(c.ip="1.1.1.1");var e=c&&"string"==typeof c.protocol?c.protocol.toLowerCase():"";h.removeTcpCandidates&&("tcp"===e||"ssltcp"===e)||h.removeUdpCandidates&&"udp"===e||b.c("candidate",c).up()})}b.up()},e.prototype.rtcpFbToJingle=function(a,b,c){var e=d.find_lines(this.media[a],"a=rtcp-fb:"+c);e.forEach(function(a){var c=d.parse_rtcpfb(a);"trr-int"==c.type?(b.c("rtcp-fb-trr-int",{xmlns:"urn:xmpp:jingle:apps:rtp:rtcp-fb:0",value:c.params[0]}),b.up()):(b.c("rtcp-fb",{xmlns:"urn:xmpp:jingle:apps:rtp:rtcp-fb:0",type:c.type}),c.params.length>0&&b.attrs({subtype:c.params[0]}),b.up())})},e.prototype.rtcpFbFromJingle=function(a,b){var c="",d=a.find('>rtcp-fb-trr-int[xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0"]');return d.length&&(c+="a=rtcp-fb:* trr-int ",c+=d.attr("value")?d.attr("value"):"0",c+="\r\n"),d=a.find('>rtcp-fb[xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0"]'),d.each(function(){c+="a=rtcp-fb:"+b+" "+$(this).attr("type"),$(this).attr("subtype")&&(c+=" "+$(this).attr("subtype")),c+="\r\n"}),c},e.prototype.fromJingle=function(a){var b=this;this.raw="v=0\r\no=- 1923518516 2 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\n",$(a).find('>group[xmlns="urn:xmpp:jingle:apps:grouping:0"]').length&&$(a).find('>group[xmlns="urn:xmpp:jingle:apps:grouping:0"]').each(function(a,c){var d=$(c).find(">content").map(function(a,b){return b.getAttribute("name")}).get();d.length>0&&(b.raw+="a=group:"+(c.getAttribute("semantics")||c.getAttribute("type"))+" "+d.join(" ")+"\r\n")}),this.session=this.raw,a.find(">content").each(function(){var a=b.jingle2media($(this));b.media.push(a)}),this.raw=this.session+this.media.join("")},e.prototype.jingle2media=function(a){var f,b="",c=a.find("description"),e=this,g=a.find('>transport>sctpmap[xmlns="urn:xmpp:jingle:transports:dtls-sctp:1"]');if(f={media:c.attr("media")},f.port="1","rejected"==a.attr("senders")&&(f.port="0"),a.find(">transport>fingerprint").length||c.find("encryption").length?f.proto=g.length?"DTLS/SCTP":"RTP/SAVPF":f.proto="RTP/AVPF",g.length){b+="m=application 1 DTLS/SCTP "+g.attr("number")+"\r\n",b+="a=sctpmap:"+g.attr("number")+" "+g.attr("protocol");var h=g.attr("streams");b+=h?" "+h+"\r\n":"\r\n"}else f.fmt=c.find("payload-type").map(function(){return this.getAttribute("id")}).get(),b+=d.build_mline(f)+"\r\n";switch(b+="c=IN IP4 0.0.0.0\r\n",g.length||(b+="a=rtcp:1 IN IP4 0.0.0.0\r\n"),f=a.find('>transport[xmlns="urn:xmpp:jingle:transports:ice-udp:1"]'),f.length&&(f.attr("ufrag")&&(b+=d.build_iceufrag(f.attr("ufrag"))+"\r\n"),f.attr("pwd")&&(b+=d.build_icepwd(f.attr("pwd"))+"\r\n"),f.find(">fingerprint").each(function(){b+="a=fingerprint:"+this.getAttribute("hash"),b+=" "+$(this).text(),b+="\r\n",this.getAttribute("setup")&&(b+="a=setup:"+this.getAttribute("setup")+"\r\n")})),a.attr("senders")){case"initiator":b+="a=sendonly\r\n";break;case"responder":b+="a=recvonly\r\n";break;case"none":b+="a=inactive\r\n";break;case"both":b+="a=sendrecv\r\n"}return b+="a=mid:"+a.attr("name")+"\r\n",c.find("rtcp-mux").length&&(b+="a=rtcp-mux\r\n"),c.find("encryption").length&&c.find("encryption>crypto").each(function(){b+="a=crypto:"+this.getAttribute("tag"),b+=" "+this.getAttribute("crypto-suite"),b+=" "+this.getAttribute("key-params"),this.getAttribute("session-params")&&(b+=" "+this.getAttribute("session-params")),b+="\r\n"}),c.find("payload-type").each(function(){b+=d.build_rtpmap(this)+"\r\n",$(this).find(">parameter").length&&(b+="a=fmtp:"+this.getAttribute("id")+" ",b+=$(this).find("parameter").map(function(){return(this.getAttribute("name")?this.getAttribute("name")+"=":"")+this.getAttribute("value")}).get().join("; "),b+="\r\n"),b+=e.rtcpFbFromJingle($(this),this.getAttribute("id"))}),b+=e.rtcpFbFromJingle(c,"*"),f=c.find('>rtp-hdrext[xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0"]'),f.each(function(){b+="a=extmap:"+this.getAttribute("id")+" "+this.getAttribute("uri")+"\r\n"}),a.find('>transport[xmlns="urn:xmpp:jingle:transports:ice-udp:1"]>candidate').each(function(){var a=this.getAttribute("protocol");a="string"==typeof a?a.toLowerCase():"",e.removeTcpCandidates&&("tcp"===a||"ssltcp"===a)||e.removeUdpCandidates&&"udp"===a||(e.failICE&&this.setAttribute("ip","1.1.1.1"),b+=d.candidateFromJingle(this))}),a.find('description>ssrc-group[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]').each(function(){var a=this.getAttribute("semantics"),c=$(this).find(">source").map(function(){return this.getAttribute("ssrc")}).get();c.length&&(b+="a=ssrc-group:"+a+" "+c.join(" ")+"\r\n")}),f=a.find('description>source[xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"]'),f.each(function(){var a=this.getAttribute("ssrc");$(this).find(">parameter").each(function(){var c=this.getAttribute("name"),e=this.getAttribute("value");e=d.filter_special_chars(e),b+="a=ssrc:"+a+" "+c,e&&e.length&&(b+=":"+e),b+="\r\n"})}),b},a.exports=e},function(a,b,c){var d,e;(function(c,f){!function(){function j(a){var b=!1;return function(){if(b)throw new Error("Callback was already called.");b=!0,a.apply(h,arguments)}}var h,i,g={};h=this,null!=h&&(i=h.async),g.noConflict=function(){return h.async=i,g};var k=Object.prototype.toString,l=Array.isArray||function(a){return"[object Array]"===k.call(a)},m=function(a,b){if(a.forEach)return a.forEach(b);for(var c=0;c<a.length;c+=1)b(a[c],c,a)},n=function(a,b){if(a.map)return a.map(b);var c=[];return m(a,function(a,d,e){c.push(b(a,d,e))}),c},o=function(a,b,c){return a.reduce?a.reduce(b,c):(m(a,function(a,d,e){c=b(c,a,d,e)}),c)},p=function(a){if(Object.keys)return Object.keys(a);var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b};"undefined"!=typeof c&&c.nextTick?(g.nextTick=c.nextTick,"undefined"!=typeof f?g.setImmediate=function(a){f(a)}:g.setImmediate=g.nextTick):"function"==typeof f?(g.nextTick=function(a){f(a)},g.setImmediate=g.nextTick):(g.nextTick=function(a){setTimeout(a,0)},g.setImmediate=g.nextTick),g.each=function(a,b,c){function e(b){b?(c(b),c=function(){}):(d+=1,d>=a.length&&c())}if(c=c||function(){},!a.length)return c();var d=0;m(a,function(a){b(a,j(e))})},g.forEach=g.each,g.eachSeries=function(a,b,c){if(c=c||function(){},!a.length)return c();var d=0,e=function(){b(a[d],function(b){b?(c(b),c=function(){}):(d+=1,d>=a.length?c():e())})};e()},g.forEachSeries=g.eachSeries,g.eachLimit=function(a,b,c,d){var e=q(b);e.apply(null,[a,c,d])},g.forEachLimit=g.eachLimit;var q=function(a){return function(b,c,d){if(d=d||function(){},!b.length||a<=0)return d();var e=0,f=0,g=0;!function h(){if(e>=b.length)return d();for(;g<a&&f<b.length;)f+=1,g+=1,c(b[f-1],function(a){a?(d(a),d=function(){}):(e+=1,g-=1,e>=b.length?d():h())})}()}},r=function(a){return function(){var b=Array.prototype.slice.call(arguments);return a.apply(null,[g.each].concat(b))}},s=function(a,b){return function(){var c=Array.prototype.slice.call(arguments);return b.apply(null,[q(a)].concat(c))}},t=function(a){return function(){var b=Array.prototype.slice.call(arguments);return a.apply(null,[g.eachSeries].concat(b))}},u=function(a,b,c,d){if(b=n(b,function(a,b){return{index:b,value:a}}),d){var e=[];a(b,function(a,b){c(a.value,function(c,d){e[a.index]=d,b(c)})},function(a){d(a,e)})}else a(b,function(a,b){c(a.value,function(a){b(a)})})};g.map=r(u),g.mapSeries=t(u),g.mapLimit=function(a,b,c,d){return v(b)(a,c,d)};var v=function(a){return s(a,u)};g.reduce=function(a,b,c,d){g.eachSeries(a,function(a,d){c(b,a,function(a,c){b=c,d(a)})},function(a){d(a,b)})},g.inject=g.reduce,g.foldl=g.reduce,g.reduceRight=function(a,b,c,d){var e=n(a,function(a){return a}).reverse();g.reduce(e,b,c,d)},g.foldr=g.reduceRight;var w=function(a,b,c,d){var e=[];b=n(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c){c&&e.push(a),b()})},function(a){d(n(e.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};g.filter=r(w),g.filterSeries=t(w),g.select=g.filter,g.selectSeries=g.filterSeries;var x=function(a,b,c,d){var e=[];b=n(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c){c||e.push(a),b()})},function(a){d(n(e.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};g.reject=r(x),g.rejectSeries=t(x);var y=function(a,b,c,d){a(b,function(a,b){c(a,function(c){c?(d(a),d=function(){}):b()})},function(a){d()})};g.detect=r(y),g.detectSeries=t(y),g.some=function(a,b,c){g.each(a,function(a,d){b(a,function(a){a&&(c(!0),c=function(){}),d()})},function(a){c(!1)})},g.any=g.some,g.every=function(a,b,c){g.each(a,function(a,d){b(a,function(a){a||(c(!1),c=function(){}),d()})},function(a){c(!0)})},g.all=g.every,g.sortBy=function(a,b,c){g.map(a,function(a,c){b(a,function(b,d){b?c(b):c(null,{value:a,criteria:d})})},function(a,b){if(a)return c(a);var d=function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0};c(null,n(b.sort(d),function(a){return a.value}))})},g.auto=function(a,b){b=b||function(){};var c=p(a),d=c.length;if(!d)return b();var e={},f=[],h=function(a){f.unshift(a)},i=function(a){for(var b=0;b<f.length;b+=1)if(f[b]===a)return void f.splice(b,1)},j=function(){d--,m(f.slice(0),function(a){a()})};h(function(){if(!d){var a=b;b=function(){},a(null,e)}}),m(c,function(c){var d=l(a[c])?a[c]:[a[c]],f=function(a){var d=Array.prototype.slice.call(arguments,1);if(d.length<=1&&(d=d[0]),a){var f={};m(p(e),function(a){f[a]=e[a]}),f[c]=d,b(a,f),b=function(){}}else e[c]=d,g.setImmediate(j)},k=d.slice(0,Math.abs(d.length-1))||[],n=function(){return o(k,function(a,b){return a&&e.hasOwnProperty(b)},!0)&&!e.hasOwnProperty(c)};if(n())d[d.length-1](f,e);else{var q=function(){n()&&(i(q),d[d.length-1](f,e))};h(q)}})},g.retry=function(a,b,c){var d=5,e=[];"function"==typeof a&&(c=b,b=a,a=d),a=parseInt(a,10)||d;var f=function(d,f){for(var h=function(a,b){return function(c){a(function(a,d){c(!a||b,{err:a,result:d})},f)}};a;)e.push(h(b,!(a-=1)));g.series(e,function(a,b){b=b[b.length-1],(d||c)(b.err,b.result)})};return c?f():f},g.waterfall=function(a,b){if(b=b||function(){},!l(a)){var c=new Error("First argument to waterfall must be an array of functions");return b(c)}if(!a.length)return b();var d=function(a){return function(c){if(c)b.apply(null,arguments),b=function(){};else{var e=Array.prototype.slice.call(arguments,1),f=a.next();f?e.push(d(f)):e.push(b),g.setImmediate(function(){a.apply(null,e)})}}};d(g.iterator(a))()};var z=function(a,b,c){if(c=c||function(){},l(b))a.map(b,function(a,b){a&&a(function(a){var c=Array.prototype.slice.call(arguments,1);c.length<=1&&(c=c[0]),b.call(null,a,c)})},c);else{var d={};a.each(p(b),function(a,c){b[a](function(b){var e=Array.prototype.slice.call(arguments,1);e.length<=1&&(e=e[0]),d[a]=e,c(b)})},function(a){c(a,d)})}};g.parallel=function(a,b){z({map:g.map,each:g.each},a,b)},g.parallelLimit=function(a,b,c){z({map:v(b),each:q(b)},a,c)},g.series=function(a,b){if(b=b||function(){},l(a))g.mapSeries(a,function(a,b){a&&a(function(a){var c=Array.prototype.slice.call(arguments,1);c.length<=1&&(c=c[0]),b.call(null,a,c)})},b);else{var c={};g.eachSeries(p(a),function(b,d){a[b](function(a){var e=Array.prototype.slice.call(arguments,1);e.length<=1&&(e=e[0]),c[b]=e,d(a)})},function(a){b(a,c)})}},g.iterator=function(a){var b=function(c){var d=function(){return a.length&&a[c].apply(null,arguments),d.next()};return d.next=function(){return c<a.length-1?b(c+1):null},d};return b(0)},g.apply=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b.concat(Array.prototype.slice.call(arguments)))}};var A=function(a,b,c,d){var e=[];a(b,function(a,b){c(a,function(a,c){e=e.concat(c||[]),b(a)})},function(a){d(a,e)})};g.concat=r(A),g.concatSeries=t(A),g.whilst=function(a,b,c){a()?b(function(d){return d?c(d):void g.whilst(a,b,c)}):c()},g.doWhilst=function(a,b,c){a(function(d){if(d)return c(d);var e=Array.prototype.slice.call(arguments,1);b.apply(null,e)?g.doWhilst(a,b,c):c()})},g.until=function(a,b,c){a()?c():b(function(d){return d?c(d):void g.until(a,b,c)})},g.doUntil=function(a,b,c){a(function(d){if(d)return c(d);var e=Array.prototype.slice.call(arguments,1);b.apply(null,e)?c():g.doUntil(a,b,c)})},g.queue=function(a,b){function c(a,b,c,d){return a.started||(a.started=!0),l(b)||(b=[b]),0==b.length?g.setImmediate(function(){a.drain&&a.drain()}):void m(b,function(b){var e={data:b,callback:"function"==typeof d?d:null};c?a.tasks.unshift(e):a.tasks.push(e),a.saturated&&a.tasks.length===a.concurrency&&a.saturated(),g.setImmediate(a.process)})}void 0===b&&(b=1);var d=0,e={tasks:[],concurrency:b,saturated:null,empty:null,drain:null,started:!1,paused:!1,push:function(a,b){c(e,a,!1,b)},kill:function(){e.drain=null,e.tasks=[]},unshift:function(a,b){c(e,a,!0,b)},process:function(){if(!e.paused&&d<e.concurrency&&e.tasks.length){var b=e.tasks.shift();e.empty&&0===e.tasks.length&&e.empty(),d+=1;var c=function(){d-=1,b.callback&&b.callback.apply(b,arguments),e.drain&&e.tasks.length+d===0&&e.drain(),e.process()},f=j(c);a(b.data,f)}},length:function(){return e.tasks.length},running:function(){return d},idle:function(){return e.tasks.length+d===0},pause:function(){e.paused!==!0&&(e.paused=!0,e.process())},resume:function(){e.paused!==!1&&(e.paused=!1,e.process())}};return e},g.priorityQueue=function(a,b){function c(a,b){return a.priority-b.priority}function d(a,b,c){for(var d=-1,e=a.length-1;d<e;){var f=d+(e-d+1>>>1);c(b,a[f])>=0?d=f:e=f-1}return d}function e(a,b,e,f){return a.started||(a.started=!0),l(b)||(b=[b]),0==b.length?g.setImmediate(function(){a.drain&&a.drain()}):void m(b,function(b){var h={data:b,priority:e,callback:"function"==typeof f?f:null};a.tasks.splice(d(a.tasks,h,c)+1,0,h),a.saturated&&a.tasks.length===a.concurrency&&a.saturated(),g.setImmediate(a.process)})}var f=g.queue(a,b);return f.push=function(a,b,c){e(f,a,b,c)},delete f.unshift,f},g.cargo=function(a,b){var c=!1,d=[],e={tasks:d,payload:b,saturated:null,empty:null,drain:null,drained:!0,push:function(a,c){l(a)||(a=[a]),m(a,function(a){d.push({data:a,callback:"function"==typeof c?c:null}),e.drained=!1,e.saturated&&d.length===b&&e.saturated()}),g.setImmediate(e.process)},process:function f(){if(!c){if(0===d.length)return e.drain&&!e.drained&&e.drain(),void(e.drained=!0);var g="number"==typeof b?d.splice(0,b):d.splice(0,d.length),h=n(g,function(a){return a.data});e.empty&&e.empty(),c=!0,a(h,function(){c=!1;var a=arguments;m(g,function(b){b.callback&&b.callback.apply(null,a)}),f()})}},length:function(){return d.length},running:function(){return c}};return e};var B=function(a){return function(b){var c=Array.prototype.slice.call(arguments,1);b.apply(null,c.concat([function(b){var c=Array.prototype.slice.call(arguments,1);"undefined"!=typeof console&&(b?console.error&&console.error(b):console[a]&&m(c,function(b){console[a](b)}))}]))}};g.log=B("log"),g.dir=B("dir"),g.memoize=function(a,b){var c={},d={};b=b||function(a){return a};var e=function(){var e=Array.prototype.slice.call(arguments),f=e.pop(),h=b.apply(null,e);h in c?g.nextTick(function(){f.apply(null,c[h])}):h in d?d[h].push(f):(d[h]=[f],a.apply(null,e.concat([function(){c[h]=arguments;var a=d[h];delete d[h];for(var b=0,e=a.length;b<e;b++)a[b].apply(null,arguments)}])))};return e.memo=c,e.unmemoized=a,e},g.unmemoize=function(a){return function(){return(a.unmemoized||a).apply(null,arguments)}},g.times=function(a,b,c){for(var d=[],e=0;e<a;e++)d.push(e);return g.map(d,b,c)},g.timesSeries=function(a,b,c){for(var d=[],e=0;e<a;e++)d.push(e);return g.mapSeries(d,b,c)},g.seq=function(){var a=arguments;return function(){var b=this,c=Array.prototype.slice.call(arguments),d=c.pop();g.reduce(a,c,function(a,c,d){c.apply(b,a.concat([function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);d(a,b)}]))},function(a,c){d.apply(b,[a].concat(c))})}},g.compose=function(){return g.seq.apply(null,Array.prototype.reverse.call(arguments))};var C=function(a,b){var c=function(){var c=this,d=Array.prototype.slice.call(arguments),e=d.pop();return a(b,function(a,b){a.apply(c,d.concat([b]))},e)};if(arguments.length>2){var d=Array.prototype.slice.call(arguments,2);return c.apply(this,d)}return c};g.applyEach=r(C),g.applyEachSeries=t(C),g.forever=function(a,b){function c(d){if(d){if(b)return b(d);throw d}a(c)}c()},"undefined"!=typeof a&&a.exports?a.exports=g:(d=[],e=function(){return g}.apply(b,d),!(void 0!==e&&(a.exports=e)))}()}).call(b,c(132),c(133).setImmediate)},function(a,b){function f(){throw new Error("setTimeout has not been defined")}function g(){throw new Error("clearTimeout has not been defined")}function h(a){if(d===setTimeout)return setTimeout(a,0);if((d===f||!d)&&setTimeout)return d=setTimeout,setTimeout(a,0);try{return d(a,0)}catch(b){try{return d.call(null,a,0)}catch(b){return d.call(this,a,0)}}}function i(a){if(e===clearTimeout)return clearTimeout(a);if((e===g||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(a);try{return e(a)}catch(b){try{return e.call(null,a)}catch(b){return e.call(this,a)}}}function n(){k&&l&&(k=!1,l.length?j=l.concat(j):m=-1,j.length&&o())}function o(){if(!k){var a=h(n);k=!0;for(var b=j.length;b;){for(l=j,j=[];++m<b;)l&&l[m].run();m=-1,b=j.length}l=null,k=!1,i(a)}}function p(a,b){this.fun=a,this.array=b}function q(){}var d,e,c=a.exports={};!function(){try{d="function"==typeof setTimeout?setTimeout:f}catch(a){d=f}try{e="function"==typeof clearTimeout?clearTimeout:g}catch(a){e=g}}();var l,j=[],k=!1,m=-1;c.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];j.push(new p(a,b)),1!==j.length||k||h(o)},p.prototype.run=function(){this.fun.apply(null,this.array)},c.title="browser",c.browser=!0,c.env={},c.argv=[],c.version="",c.versions={},c.on=q,c.addListener=q,c.once=q,c.off=q,c.removeListener=q,c.removeAllListeners=q,c.emit=q,c.binding=function(a){throw new Error("process.binding is not supported")},c.cwd=function(){return"/"},c.chdir=function(a){throw new Error("process.chdir is not supported")},c.umask=function(){return 0}},function(a,b,c){(function(a,d){function j(a,b){this._id=a,this._clearFn=b}var e=c(132).nextTick,f=Function.prototype.apply,g=Array.prototype.slice,h={},i=0;b.setTimeout=function(){return new j(f.call(setTimeout,window,arguments),clearTimeout)},b.setInterval=function(){return new j(f.call(setInterval,window,arguments),clearInterval)},b.clearTimeout=b.clearInterval=function(a){a.close()},j.prototype.unref=j.prototype.ref=function(){},j.prototype.close=function(){this._clearFn.call(window,this._id)},b.enroll=function(a,b){clearTimeout(a._idleTimeoutId),a._idleTimeout=b},b.unenroll=function(a){clearTimeout(a._idleTimeoutId),a._idleTimeout=-1},b._unrefActive=b.active=function(a){clearTimeout(a._idleTimeoutId);var b=a._idleTimeout;b>=0&&(a._idleTimeoutId=setTimeout(function(){a._onTimeout&&a._onTimeout()},b))},b.setImmediate="function"==typeof a?a:function(a){var c=i++,d=!(arguments.length<2)&&g.call(arguments,1);return h[c]=!0,e(function(){h[c]&&(d?a.apply(null,d):a.call(null),b.clearImmediate(c))}),c},b.clearImmediate="function"==typeof d?d:function(a){delete h[a]}}).call(b,c(133).setImmediate,c(133).clearImmediate)},function(a,b,c){(function(a){"use strict";function g(a){return a&&a.__esModule?a:{default:a}}Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(){Strophe.log=function(a,b){switch("string"==typeof b&&b.indexOf("Request ")!==-1&&b.indexOf("timed out (secondary), restarting")!==-1&&(a=Strophe.LogLevel.WARN),a){case Strophe.LogLevel.WARN:h.warn("Strophe: "+b);break;case Strophe.LogLevel.ERROR:case Strophe.LogLevel.FATAL:b="Strophe: "+b,f.default.callErrorHandler(new Error(b)),h.error(b)}},Strophe.getStatusString=function(a){switch(a){case Strophe.Status.ERROR:return"ERROR";case Strophe.Status.CONNECTING:return"CONNECTING";case Strophe.Status.CONNFAIL:return"CONNFAIL";case Strophe.Status.AUTHENTICATING:return"AUTHENTICATING";case Strophe.Status.AUTHFAIL:return"AUTHFAIL";case Strophe.Status.CONNECTED:return"CONNECTED";case Strophe.Status.DISCONNECTED:return"DISCONNECTED";case Strophe.Status.DISCONNECTING:return"DISCONNECTING";case Strophe.Status.ATTACHED:return"ATTACHED";default:return"unknown"}}};var d=c(9),e=c(39),f=g(e),h=(0,d.getLogger)(a)}).call(b,"modules/xmpp/strophe.util.js")},function(a,b,c){(function(a){"use strict";function k(a){return a&&a.__esModule?a:{default:a}}function l(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function m(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b;
}function n(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=function a(b,c,d){null===b&&(b=Function.prototype);var e=Object.getOwnPropertyDescriptor(b,c);if(void 0===e){var f=Object.getPrototypeOf(b);return null===f?void 0:a(f,c,d)}if("value"in e)return e.value;var g=e.get;if(void 0!==g)return g.call(d)};b.default=function(){Strophe.addConnectionPlugin("ping",new s)};var f=c(9),g=c(42),h=k(g),i=c(39),j=k(i),o=(0,f.getLogger)(a),p=1e4,q=15e3,r=3,s=function(a){function b(){l(this,b);var a=m(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));return a.failedPings=0,a}return n(b,a),d(b,[{key:"init",value:function(c){e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"init",this).call(this,c),Strophe.addNamespace("PING","urn:xmpp:ping")}},{key:"ping",value:function(b,c,d,e){var f=$iq({type:"get",to:b});f.c("ping",{xmlns:Strophe.NS.PING}),this.connection.sendIQ(f,c,d,e)}},{key:"hasPingSupport",value:function(b,c){var d=this.connection.disco;d&&d.info(b,null,function(a){var b=$(a).find('>>feature[var="urn:xmpp:ping"]');c(b.length>0)},function(a){var b="Ping feature discovery error";j.default.callErrorHandler(new Error(b+": "+a)),o.error(b,a),c(!1)})}},{key:"startInterval",value:function(b){var c=this,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;if(this.intervalId){var e="Ping task scheduled already";return j.default.callErrorHandler(new Error(e)),void o.error(e)}this.intervalId=window.setInterval(function(){c.ping(b,function(){c.failedPings=0},function(a){c.failedPings+=1;var b="Ping "+(a?"error":"timeout");c.failedPings>=r?(j.default.callErrorHandler(new Error(b)),o.error(b,a)):o.warn(b,a)},q)},d),o.info("XMPP pings will be sent every "+d+" ms")}},{key:"stopInterval",value:function(){this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null,this.failedPings=0,o.info("Ping interval cleared"))}}]),b}(h.default)}).call(b,"modules/xmpp/strophe.ping.js")},function(a,b,c){(function(a){"use strict";function i(a){return a&&a.__esModule?a:{default:a}}function j(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function k(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function l(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=function a(b,c,d){null===b&&(b=Function.prototype);var e=Object.getOwnPropertyDescriptor(b,c);if(void 0===e){var f=Object.getPrototypeOf(b);return null===f?void 0:a(f,c,d)}if("value"in e)return e.value;var g=e.get;if(void 0!==g)return g.call(d)};b.default=function(){Strophe.addConnectionPlugin("rayo",new o)};var f=c(9),g=c(42),h=i(g),m=(0,f.getLogger)(a),n="urn:xmpp:rayo:1",o=function(a){function b(){return j(this,b),k(this,(b.__proto__||Object.getPrototypeOf(b)).apply(this,arguments))}return l(b,a),d(b,[{key:"init",value:function(c){e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"init",this).call(this,c);var d=this.connection.disco;d&&d.addFeature("urn:xmpp:rayo:client:1"),this.connection.addHandler(this.onRayo.bind(this),n,"iq","set",null,null)}},{key:"onRayo",value:function(b){m.info("Rayo IQ",b)}},{key:"dial",value:function(b,c,d,e,f){var g=this;return new Promise(function(a,h){if(!f)return void h(new Error("Internal error!"));var i=$iq({type:"set",to:f});i.c("dial",{xmlns:n,to:b,from:c}),i.c("header",{name:"JvbRoomName",value:d}).up(),e&&e.length&&i.c("header",{name:"JvbRoomPassword",value:e}).up(),g.connection.sendIQ(i,function(b){m.info("Dial result ",b);var c=$(b).find("ref").attr("uri");g.call_resource=c.substr("xmpp:".length),m.info("Received call resource: "+g.call_resource),a()},function(a){m.info("Dial error ",a),h(a)})})}},{key:"hangup",value:function(){var b=this;return new Promise(function(a,c){if(!b.call_resource)return c(new Error("No call in progress")),void m.warn("No call in progress");var d=$iq({type:"set",to:b.call_resource});d.c("hangup",{xmlns:n}),b.connection.sendIQ(d,function(c){m.info("Hangup result ",c),b.call_resource=null,a()},function(a){m.info("Hangup error ",a),b.call_resource=null,c(new Error("Hangup error "))})})}}]),b}(h.default)}).call(b,"modules/xmpp/strophe.rayo.js")},function(a,b,c){"use strict";function h(a){return a&&a.__esModule?a:{default:a}}function i(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function j(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function k(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=function a(b,c,d){null===b&&(b=Function.prototype);var e=Object.getOwnPropertyDescriptor(b,c);if(void 0===e){var f=Object.getPrototypeOf(b);return null===f?void 0:a(f,c,d)}if("value"in e)return e.value;var g=e.get;if(void 0!==g)return g.call(d)};b.default=function(){Strophe.addConnectionPlugin("logger",new l)};var f=c(42),g=h(f),l=function(a){function b(){i(this,b);var a=j(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));return a.log=[],a}return k(b,a),d(b,[{key:"init",value:function(c){e(b.prototype.__proto__||Object.getPrototypeOf(b.prototype),"init",this).call(this,c),this.connection.rawInput=this.log_incoming.bind(this),this.connection.rawOutput=this.log_outgoing.bind(this)}},{key:"log_incoming",value:function(b){this.log.push([(new Date).getTime(),"incoming",b])}},{key:"log_outgoing",value:function(b){this.log.push([(new Date).getTime(),"outgoing",b])}}]),b}(g.default)},function(a,b,c){(function(b){"use strict";function r(a){return a&&a.__esModule?a:{default:a}}function s(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function G(a){if(!a.name||a.name.toLowerCase()!==a.name){var b="Invalid conference name (no conference name passed or it contains invalid characters like capital letters)!";throw t.error(b),new Error(b)}this.eventEmitter=new w,this.settings=new z,this.options=a,this.eventManager=new C(this),this._init(a),this.componentsVersions=new A(this),this.participants={},this.lastDominantSpeaker=null,this.dtmfManager=null,this.somebodySupportsDTMF=!1,this.authEnabled=!1,this.authIdentity,this.startAudioMuted=!1,this.startVideoMuted=!1,this.startMutedPolicy={audio:!1,video:!1},this.availableDevices={audio:void 0,video:void 0},this.isMutedByFocus=!1,this.reportedAudioSSRCs={},this.wasStopped=!1}var d=c(1),e=s(d),f=c(2),g=s(f),h=c(139),i=r(h),j=c(6),k=r(j),l=c(7),m=s(l),n=c(8),o=s(n),p=c(140),q=r(p),t=c(9).getLogger(b),u=c(48),v=c(35),w=c(14),x=c(59),y=c(141),z=c(142),A=c(144),B=c(39),C=c(145),D=c(55),E=c(147),F=c(153);G.prototype._init=function(a){var b=this;a||(a={}),a.connection&&(this.connection=a.connection,this.xmpp=this.connection.xmpp,this.eventManager.setupXMPPListeners()),this.room=this.xmpp.createRoom(this.options.name,this.options.config,this.settings),this.room.updateDeviceAvailability(u.getDeviceAvailability()),this.rtc||(this.rtc=new u(this,a),this.eventManager.setupRTCListeners()),this.participantConnectionStatus=new F(this.rtc,this,a.config.peerDisconnectedThroughRtcTimeout),this.participantConnectionStatus.init(),this.statistics||(this.statistics=new x(this.xmpp,{callStatsID:this.options.config.callStatsID,callStatsSecret:this.options.config.callStatsSecret,callStatsCustomScriptUrl:this.options.config.callStatsCustomScriptUrl,roomName:this.options.name})),this.eventManager.setupChatRoomListeners(),this.eventManager.setupStatisticsListeners(),this.options.config.enableTalkWhileMuted&&new q.default(this,function(){b.eventEmitter.emit(g.TALK_WHILE_MUTED)})},G.prototype.join=function(a){this.room&&this.room.join(a)},G.prototype.isJoined=function(){return this.room&&this.room.joined},G.prototype.leave=function(){var a=this;if(this.participantConnectionStatus&&(this.participantConnectionStatus.dispose(),this.participantConnectionStatus=null),this.getLocalTracks().forEach(function(b){return a.onTrackRemoved(b)}),this.rtc.closeAllDataChannels(),this.statistics&&this.statistics.dispose(),this.room){var b=this.room;return this.room=null,b.leave().catch(function(){a.getParticipants().forEach(function(b){return a.onMemberLeft(b.getJid())})})}return Promise.reject(new Error("The conference is has been already left"))},G.prototype.getName=function(){return this.options.name},G.prototype.isAuthEnabled=function(){return this.authEnabled},G.prototype.isLoggedIn=function(){return!!this.authIdentity},G.prototype.getAuthLogin=function(){return this.authIdentity},G.prototype.isExternalAuthEnabled=function(){return this.room&&this.room.moderator.isExternalAuthEnabled()},G.prototype.getExternalAuthUrl=function(a){return new Promise(function(b,c){return this.isExternalAuthEnabled()?void(a?this.room.moderator.getPopupLoginUrl(b,c):this.room.moderator.getLoginUrl(b,c)):void c()}.bind(this))},G.prototype.getLocalTracks=function(){return this.rtc?this.rtc.localTracks.slice():[]},G.prototype.on=function(a,b){this.eventEmitter&&this.eventEmitter.on(a,b)},G.prototype.off=function(a,b){this.eventEmitter&&this.eventEmitter.removeListener(a,b)},G.prototype.addEventListener=G.prototype.on,G.prototype.removeEventListener=G.prototype.off,G.prototype.addCommandListener=function(a,b){this.room&&this.room.addPresenceListener(a,b)},G.prototype.removeCommandListener=function(a){this.room&&this.room.removePresenceListener(a)},G.prototype.sendTextMessage=function(a){this.room&&this.room.sendMessage(a)},G.prototype.sendCommand=function(a,b){this.room&&(this.room.addToPresence(a,b),this.room.sendPresence())},G.prototype.sendCommandOnce=function(a,b){this.sendCommand(a,b),this.removeCommand(a)},G.prototype.removeCommand=function(a){this.room&&this.room.removeFromPresence(a)},G.prototype.setDisplayName=function(a){this.room&&(this.room.removeFromPresence("nick"),this.room.addToPresence("nick",{attributes:{xmlns:"http://jabber.org/protocol/nick"},value:a}),this.room.sendPresence())},G.prototype.setSubject=function(a){this.room&&this.isModerator()&&this.room.setSubject(a)},G.prototype.getTranscriber=function(){return void 0===this.transcriber&&(this.transcriber=new E,this.rtc.localTracks.forEach(function(a){a.isAudioTrack()&&this.transcriber.addTrack(a)}.bind(this)),this.rtc.remoteTracks.forEach(function(a){a.isAudioTrack()&&this.transcriber.addTrack(a)}.bind(this))),this.transcriber},G.prototype.addTrack=function(a){if(a.disposed)return Promise.reject(new k.default(m.TRACK_IS_DISPOSED));if(a.isVideoTrack()){var b=this.rtc.getLocalVideoTrack();if(b)return a===b?Promise.resolve(a):Promise.reject(new Error("cannot add second video track to the conference"))}if(a.ssrcHandler=function(a,b){b[this.getMSID()]&&(this._setSSRC(b[this.getMSID()]),a.room.removeListener(v.SENDRECV_STREAMS_CHANGED,this.ssrcHandler))}.bind(a,this),this.room.addListener(v.SENDRECV_STREAMS_CHANGED,a.ssrcHandler),a.isAudioTrack()||a.isVideoTrack()&&a.videoType!==D.DESKTOP){var c=u.getCurrentlyAvailableMediaDevices(),d=c.find(function(b){return b.kind===a.getTrack().kind+"input"&&b.label===a.getTrack().label});d&&x.sendActiveDeviceListEvent(u.getEventDataForActiveDevice(d))}return new Promise(function(b,c){this.room.addStream(a.getOriginalStream(),function(){a.isVideoTrack()&&(this.removeCommand("videoType"),this.sendCommand("videoType",{value:a.videoType,attributes:{xmlns:"http://jitsi.org/jitmeet/video"}})),this.rtc.addLocalTrack(a),a.startMuted&&a.mute(),a.isAudioTrack()?this.room.setAudioMute(a.isMuted()):this.room.setVideoMute(a.isMuted()),a.muteHandler=this._fireMuteChangeEvent.bind(this,a),a.audioLevelHandler=this._fireAudioLevelChangeEvent.bind(this),a.addEventListener(o.TRACK_MUTE_CHANGED,a.muteHandler),a.addEventListener(o.TRACK_AUDIO_LEVEL_CHANGED,a.audioLevelHandler),a._setConference(this),a.isVideoTrack()&&a.videoType===D.DESKTOP&&this.statistics.sendScreenSharingEvent(!0),this.eventEmitter.emit(g.TRACK_ADDED,a),b(a)}.bind(this),function(a){c(a)})}.bind(this))},G.prototype._fireAudioLevelChangeEvent=function(a){this.eventEmitter.emit(g.TRACK_AUDIO_LEVEL_CHANGED,this.myUserId(),a)},G.prototype._fireMuteChangeEvent=function(a){this.isMutedByFocus&&a.isAudioTrack()&&!a.isMuted()&&(this.isMutedByFocus=!1,this.room.muteParticipant(this.room.myroomjid,!1)),this.eventEmitter.emit(g.TRACK_MUTE_CHANGED,a)},G.prototype.onTrackRemoved=function(a){a._setSSRC(null),a._setConference(null),this.rtc.removeLocalTrack(a),a.removeEventListener(o.TRACK_MUTE_CHANGED,a.muteHandler),a.removeEventListener(o.TRACK_AUDIO_LEVEL_CHANGED,a.audioLevelHandler),this.room.removeListener(v.SENDRECV_STREAMS_CHANGED,a.ssrcHandler),a.isVideoTrack()&&a.videoType===D.DESKTOP&&this.statistics.sendScreenSharingEvent(!1),this.eventEmitter.emit(g.TRACK_REMOVED,a)},G.prototype.removeTrack=function(a){return a.disposed?Promise.reject(new k.default(m.TRACK_IS_DISPOSED)):this.room?new Promise(function(b,c){this.room.removeStream(a.getOriginalStream(),function(){this.onTrackRemoved(a),b()}.bind(this),function(a){c(a)},{mtype:a.getType(),type:"remove",ssrc:a.ssrc})}.bind(this)):(this.rtc&&this.onTrackRemoved(a),Promise.resolve())},G.prototype.getRole=function(){return this.room.role},G.prototype.isModerator=function(){return this.room?this.room.isModerator():null},G.prototype.lock=function(a){if(!this.isModerator())return Promise.reject();var b=this;return new Promise(function(c,d){b.room.lockRoom(a||"",function(){c()},function(a){d(a)},function(){d(e.PASSWORD_NOT_SUPPORTED)})})},G.prototype.unlock=function(){return this.lock()},G.prototype.selectParticipant=function(a){this.rtc.selectEndpoint(a)},G.prototype.pinParticipant=function(a){this.rtc.pinEndpoint(a)},G.prototype.getParticipants=function(){return Object.keys(this.participants).map(function(a){return this.participants[a]},this)},G.prototype.getParticipantById=function(a){return this.participants[a]},G.prototype.kickParticipant=function(a){var b=this.getParticipantById(a);b&&this.room.kick(b.getJid())},G.prototype.muteParticipant=function(a){var b=this.getParticipantById(a);b&&this.room.muteParticipant(b.getJid(),!0)},G.prototype.onMemberJoined=function(a,b,c,d){var e=Strophe.getResourceFromJid(a);if("focus"!==e&&this.myUserId()!==e){var f=new i.default(a,this,b,d);f._role=c,this.participants[e]=f,this.eventEmitter.emit(g.USER_JOINED,e,f);var h=this.xmpp.connection.disco;h&&h.info(a,"node",function(a){f._supportsDTMF=$(a).find('>query>feature[var="urn:xmpp:jingle:dtmf:0"]').length>0,this.updateDTMFSupport()}.bind(this))}},G.prototype.onMemberLeft=function(a){var b=Strophe.getResourceFromJid(a);if("focus"!==b&&this.myUserId()!==b){var c=this.participants[b];delete this.participants[b];var d=this.rtc.removeRemoteTracks(b);d.forEach(function(a){this.eventEmitter.emit(g.TRACK_REMOVED,a)}.bind(this)),c&&this.eventEmitter.emit(g.USER_LEFT,b,c)}},G.prototype.onUserRoleChanged=function(a,b){var c=Strophe.getResourceFromJid(a),d=this.getParticipantById(c);d&&(d._role=b,this.eventEmitter.emit(g.USER_ROLE_CHANGED,c,b))},G.prototype.onDisplayNameChanged=function(a,b){var c=Strophe.getResourceFromJid(a),d=this.getParticipantById(c);d&&d._displayName!==b&&(d._displayName=b,this.eventEmitter.emit(g.DISPLAY_NAME_CHANGED,c,b))},G.prototype.onTrackAdded=function(a){var b=a.getParticipantId(),c=this.getParticipantById(b);if(c){c._tracks.push(a),this.transcriber&&this.transcriber.addTrack(a);var d=this.eventEmitter;a.addEventListener(o.TRACK_MUTE_CHANGED,function(){d.emit(g.TRACK_MUTE_CHANGED,a)}),a.addEventListener(o.TRACK_AUDIO_LEVEL_CHANGED,function(a){d.emit(g.TRACK_AUDIO_LEVEL_CHANGED,b,a)}),d.emit(g.TRACK_ADDED,a)}},G.prototype.onIncomingCall=function(a,b,c){if(!this.room.isFocus(a.peerjid)){var d="Rejecting session-initiate from non-focus user: "+a.peerjid;return B.callErrorHandler(new Error(d)),t.error(d),void a.terminate("security-error","Only focus can start new sessions",null,function(a){t.warn("An error occurred while trying to terminate invalid Jingle session",a)})}this.room.setJingleSession(a),this.room.connectionTimes["session.initiate"]=c,this.wasStopped&&x.sendEventToAll("session.restart");var e=null;window.jitsiRegionInfo&&(e=window.jitsiRegionInfo.CrossRegion),x.analytics.sendEvent("session.initiate",{value:c-this.room.connectionTimes["muc.joined"],label:e});try{a.initialize(!1,this.room)}catch(a){B.callErrorHandler(a)}this.rtc.onIncommingCall(a),this.rtc.localTracks.forEach(function(a){var b=null;a.isVideoTrack()&&a.isMuted()&&(a._setSSRC(this.room.generateNewStreamSSRCInfo()),b={mtype:a.getType(),type:"addMuted",ssrc:a.ssrc,msid:a.initialMSID});try{this.room.addStream(a.getOriginalStream(),function(){},function(){},b,!0)}catch(a){B.callErrorHandler(a),t.error(a)}}.bind(this)),a.acceptOffer(b,null,function(a){B.callErrorHandler(a),t.error("Failed to accept incoming Jingle session",a)}),this.statistics.startCallStats(a,this.settings),this.statistics.startRemoteStats(a.peerconnection)},G.prototype.onCallEnded=function(a,b,c){t.info("Call ended: "+b+" - "+c),this.wasStopped=!0,x.sendEventToAll("session.terminate"),this.statistics&&(this.statistics.stopRemoteStats(),this.statistics.stopCallStats()),this.room.setJingleSession(null),this.rtc.onCallEnded();var d=this;this.rtc.localTracks.forEach(function(a){a._setSSRC(null),d.room.addListener(v.SENDRECV_STREAMS_CHANGED,a.ssrcHandler)})},G.prototype.updateDTMFSupport=function(){for(var a=!1,b=this.getParticipants(),c=0;c<b.length;c+=1)if(b[c].supportsDTMF()){a=!0;break}a!==this.somebodySupportsDTMF&&(this.somebodySupportsDTMF=a,this.eventEmitter.emit(g.DTMF_SUPPORT_CHANGED,a))},G.prototype.isDTMFSupported=function(){return this.somebodySupportsDTMF},G.prototype.myUserId=function(){return this.room&&this.room.myroomjid?Strophe.getResourceFromJid(this.room.myroomjid):null},G.prototype.sendTones=function(a,b,c){if(!this.dtmfManager){var d=this.xmpp.connection.jingle.activecall.peerconnection;if(!d)return void t.warn("cannot sendTones: no conneciton");var e=this.getLocalTracks().filter(function(a){return a.isAudioTrack()});if(!e.length)return void t.warn("cannot sendTones: no local audio stream");this.dtmfManager=new y(e[0],d)}this.dtmfManager.sendTones(a,b,c)},G.prototype.isRecordingSupported=function(){return!!this.room&&this.room.isRecordingSupported()},G.prototype.getRecordingState=function(){return this.room?this.room.getRecordingState():void 0},G.prototype.getRecordingURL=function(){return this.room?this.room.getRecordingURL():null},G.prototype.toggleRecording=function(a){return this.room?this.room.toggleRecording(a,function(a,b){this.eventEmitter.emit(g.RECORDER_STATE_CHANGED,a,b)}.bind(this)):void this.eventEmitter.emit(g.RECORDER_STATE_CHANGED,"error",new Error("The conference is not created yet!"))},G.prototype.isSIPCallingSupported=function(){return!!this.room&&this.room.isSIPCallingSupported()},G.prototype.dial=function(a){return this.room?this.room.dial(a):new Promise(function(a,b){b(new Error("The conference is not created yet!"))})},G.prototype.hangup=function(){return this.room?this.room.hangup():new Promise(function(a,b){b(new Error("The conference is not created yet!"))})},G.prototype.getPhoneNumber=function(){return this.room?this.room.getPhoneNumber():null},G.prototype.getPhonePin=function(){return this.room?this.room.getPhonePin():null},G.prototype.getConnectionState=function(){return this.room?this.room.getConnectionState():null},G.prototype.setStartMutedPolicy=function(a){this.isModerator()&&(this.startMutedPolicy=a,this.room.removeFromPresence("startmuted"),this.room.addToPresence("startmuted",{attributes:{audio:a.audio,video:a.video,xmlns:"http://jitsi.org/jitmeet/start-muted"}}),this.room.sendPresence())},G.prototype.getStartMutedPolicy=function(){return this.startMutedPolicy},G.prototype.isStartAudioMuted=function(){return this.startAudioMuted},G.prototype.isStartVideoMuted=function(){return this.startVideoMuted},G.prototype.getLogs=function(){var a=this.xmpp.getJingleLog(),b={};b.time=new Date,b.url=window.location.href,b.ua=navigator.userAgent;var c=this.xmpp.getXmppLog();return c&&(b.xmpp=c),a.metadata=b,a},G.prototype.getConnectionTimes=function(){return this.room.connectionTimes},G.prototype.setLocalParticipantProperty=function(a,b){this.sendCommand("jitsi_participant_"+a,{value:b})},G.prototype.sendFeedback=function(a,b){this.statistics.sendFeedback(a,b)},G.prototype.isCallstatsEnabled=function(){return this.statistics.isCallstatsEnabled()},G.prototype._onTrackAttach=function(a,b){var c=a.getSSRC();b.id&&c&&this.statistics.associateStreamWithVideoTag(c,a.isLocal(),a.getUsageLabel(),b.id)},G.prototype._reportAudioProblem=function(a){if(!this.reportedAudioSSRCs[a]){var b=this.rtc.getRemoteTrackBySSRC(a);if(b&&b.isAudioTrack()){var c=b.getParticipantId(),d=null;if(c){var e=this.getParticipantById(c);e&&(d=e.getDisplayName())}this.reportedAudioSSRCs[a]=!0;var f={errMsg:"The audio is received but not played",ssrc:a,jid:c,displayName:d};t.log("=================The audio is received but not played======================"),t.log("ssrc: ",a),t.log("jid: ",c),t.log("displayName: ",d);var g=b.stream,h=b.track;g&&(t.log("MediaStream:"),f.MediaStream={active:g.active,id:g.id},t.log("active: ",g.active),t.log("id: ",g.id)),h&&(t.log("MediaStreamTrack:"),f.MediaStreamTrack={enabled:h.enabled,id:h.id,label:h.label,muted:h.muted},t.log("enabled: ",h.enabled),t.log("id: ",h.id),t.log("label: ",h.label),t.log("muted: ",h.muted)),b.containers&&(f.containers=[],t.log("Containers:"),b.containers.forEach(function(a){t.log("Container:"),f.containers.push({autoplay:a.autoplay,muted:a.muted,src:a.src,volume:a.volume,id:a.id,ended:a.ended,paused:a.paused,readyState:a.readyState}),t.log("autoplay: ",a.autoplay),t.log("muted: ",a.muted),t.log("src: ",a.src),t.log("volume: ",a.volume),t.log("id: ",a.id),t.log("ended: ",a.ended),t.log("paused: ",a.paused),t.log("readyState: ",a.readyState)})),t.error("Audio problem detected. The audio is received but not played",f),delete f.displayName,this.statistics.sendDetectedAudioProblem(new Error(JSON.stringify(f)))}}},G.prototype.sendApplicationLog=function(a){x.sendLog(a)},G.prototype._isFocus=function(a){return this.room?this.room.isFocus(a):null},G.prototype._fireIncompatibleVersionsEvent=function(){this.eventEmitter.emit(g.CONFERENCE_FAILED,e.INCOMPATIBLE_SERVER_VERSIONS)},G.prototype.sendEndpointMessage=function(a,b){this.rtc.sendDataChannelMessage(a,b)},G.prototype.broadcastEndpointMessage=function(a){this.sendEndpointMessage("",a)},a.exports=G}).call(b,"JitsiConference.js")},function(a,b,c){"use strict";function i(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function j(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=c(2),f=i(e),g=c(36),h=i(g),k=function(){function a(b,c,d,e){j(this,a),this._jid=b,this._id=Strophe.getResourceFromJid(b),this._conference=c,this._displayName=d,this._supportsDTMF=!1,this._tracks=[],this._role="none",this._status=null,this._availableDevices={audio:void 0,video:void 0},this._hidden=e,this._isConnectionActive=!0,this._properties={}}return d(a,[{key:"getConference",value:function(){return this._conference}},{key:"getProperty",value:function(b){return this._properties[b]}},{key:"_setIsConnectionActive",value:function(b){this._isConnectionActive=b}},{key:"isConnectionActive",value:function(){return this._isConnectionActive}},{key:"setProperty",value:function(b,c){var d=this._properties[b];c!==d&&(this._properties[b]=c,this._conference.eventEmitter.emit(f.PARTICIPANT_PROPERTY_CHANGED,this,b,d,c))}},{key:"getTracks",value:function(){return this._tracks.slice()}},{key:"getId",value:function(){return this._id}},{key:"getJid",value:function(){return this._jid}},{key:"getDisplayName",value:function(){return this._displayName}},{key:"getStatus",value:function(){return this._status}},{key:"isModerator",value:function(){return"moderator"===this._role}},{key:"isHidden",value:function(){return this._hidden}},{key:"isAudioMuted",value:function(){return this._isMediaTypeMuted(h.AUDIO)}},{key:"_isMediaTypeMuted",value:function(b){return this.getTracks().reduce(function(a,c){return a&&(c.getType()!==b||c.isMuted())},!0)}},{key:"isVideoMuted",value:function(){return this._isMediaTypeMuted(h.VIDEO)}},{key:"getLatestStats",value:function(){}},{key:"getRole",value:function(){return this._role}},{key:"isFocus",value:function(){}},{key:"isRecorder",value:function(){}},{key:"isSipGateway",value:function(){}},{key:"isScreenSharing",value:function(){}},{key:"getUserAgent",value:function(){}},{key:"kick",value:function(){}},{key:"askToMute",value:function(){}},{key:"supportsDTMF",value:function(){return this._supportsDTMF}}]),a}();b.default=k},function(a,b,c){"use strict";function g(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function h(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),e=c(2),f=g(e),i=function(){function a(b,c){h(this,a),this._callback=c,this._eventFired=!1,b.statistics.addAudioLevelListener(this._audioLevel.bind(this)),b.on(f.TRACK_MUTE_CHANGED,this._trackMuteChanged.bind(this)),b.on(f.TRACK_ADDED,this._trackAdded.bind(this))}return d(a,[{key:"_audioLevel",value:function(b,c,d){d&&this.audioTrack&&!this._eventFired&&this.audioTrack.isMuted()&&c>.6&&(this._eventFired=!0,this._callback())}},{key:"_isLocalAudioTrack",value:function(b){return b.isAudioTrack()&&b.isLocal()}},{key:"_trackAdded",value:function(b){this._isLocalAudioTrack(b)&&(this.audioTrack=b)}},{key:"_trackMuteChanged",value:function(b){this._isLocalAudioTrack(b)&&b.isMuted()&&(this._eventFired=!1)}}]),a}();b.default=i},function(a,b,c){(function(a){"use strict";function d(a,c){var d=a.getTrack();if(!d)throw new Error("Failed to initialize DTMFSender: no audio track.");this.dtmfSender=c.peerconnection.createDTMFSender(d),b.debug("Initialized DTMFSender")}var b=c(9).getLogger(a);d.prototype.sendTones=function(a,b,c){this.dtmfSender.insertDTMF(a,b||200,c||200)}}).call(b,"modules/DTMF/JitsiDTMFManager.js")},function(a,b,c){(function(b){"use strict";function f(){var a="undefined"==typeof window?this:window;return a.localStorage}function g(){function a(){return(Math.random().toString(16)+"000000000").substr(2,8)}return a()+a()+a()+a()}function h(){var a=g();return d.log("generated id",a),a}function i(){var a=e.generateUsername();return d.log("generated callstats uid",a),a}function j(){this.userId,this.callStatsUserName;var a=f();a?(this.userId=a.getItem("jitsiMeetId")||h(),this.callStatsUserName=a.getItem("callStatsUserName")||i(),this.save()):(d.log("localStorage is not supported"),this.userId=h(),this.callStatsUserName=i())}var d=c(9).getLogger(b),e=c(143);j.prototype.save=function(){var a=f();a&&(a.setItem("jitsiMeetId",this.userId),a.setItem("callStatsUserName",this.callStatsUserName))},j.prototype.getUserId=function(){return this.userId},j.prototype.getCallStatsUserName=function(){return this.callStatsUserName},j.prototype.setSessionId=function(a){var b=f();b&&(a?b.setItem("sessionId",a):b.removeItem("sessionId"))},j.prototype.clearSessionId=function(){this.setSessionId(void 0)},j.prototype.getSessionId=function(){var a=f();return a?a.getItem("sessionId"):void 0},a.exports=j}).call(b,"modules/settings/Settings.js")},function(a,b,c){"use strict";function f(){var a=d.randomElement(e),b=d.randomAlphanumStr(3);return a+"-"+b}var d=c(31),e=["Aaliyah","Aaron","Abagail","Abbey","Abbie","Abbigail","Abby","Abdiel","Abdul","Abdullah","Abe","Abel","Abelardo","Abigail","Abigale","Abigayle","Abner","Abraham","Ada","Adah","Adalberto","Adaline","Adam","Adan","Addie","Addison","Adela","Adelbert","Adele","Adelia","Adeline","Adell","Adella","Adelle","Aditya","Adolf","Adolfo","Adolph","Adolphus","Adonis","Adrain","Adrian","Adriana","Adrianna","Adriel","Adrien","Adrienne","Afton","Aglae","Agnes","Agustin","Agustina","Ahmad","Ahmed","Aida","Aidan","Aiden","Aileen","Aimee","Aisha","Aiyana","Akeem","Al","Alaina","Alan","Alana","Alanis","Alanna","Alayna","Alba","Albert","Alberta","Albertha","Alberto","Albin","Albina","Alda","Alden","Alec","Aleen","Alejandra","Alejandrin","Alek","Alena","Alene","Alessandra","Alessandro","Alessia","Aletha","Alex","Alexa","Alexander","Alexandra","Alexandre","Alexandrea","Alexandria","Alexandrine","Alexandro","Alexane","Alexanne","Alexie","Alexis","Alexys","Alexzander","Alf","Alfonso","Alfonzo","Alford","Alfred","Alfreda","Alfredo","Ali","Alia","Alice","Alicia","Alisa","Alisha","Alison","Alivia","Aliya","Aliyah","Aliza","Alize","Allan","Allen","Allene","Allie","Allison","Ally","Alphonso","Alta","Althea","Alva","Alvah","Alvena","Alvera","Alverta","Alvina","Alvis","Alyce","Alycia","Alysa","Alysha","Alyson","Alysson","Amalia","Amanda","Amani","Amara","Amari","Amaya","Amber","Ambrose","Amelia","Amelie","Amely","America","Americo","Amie","Amina","Amir","Amira","Amiya","Amos","Amparo","Amy","Amya","Ana","Anabel","Anabelle","Anahi","Anais","Anastacio","Anastasia","Anderson","Andre","Andreane","Andreanne","Andres","Andrew","Andy","Angel","Angela","Angelica","Angelina","Angeline","Angelita","Angelo","Angie","Angus","Anibal","Anika","Anissa","Anita","Aniya","Aniyah","Anjali","Anna","Annabel","Annabell","Annabelle","Annalise","Annamae","Annamarie","Anne","Annetta","Annette","Annie","Ansel","Ansley","Anthony","Antoinette","Antone","Antonetta","Antonette","Antonia","Antonietta","Antonina","Antonio","Antwan","Antwon","Anya","April","Ara","Araceli","Aracely","Arch","Archibald","Ardella","Arden","Ardith","Arely","Ari","Ariane","Arianna","Aric","Ariel","Arielle","Arjun","Arlene","Arlie","Arlo","Armand","Armando","Armani","Arnaldo","Arne","Arno","Arnold","Arnoldo","Arnulfo","Aron","Art","Arthur","Arturo","Arvel","Arvid","Arvilla","Aryanna","Asa","Asha","Ashlee","Ashleigh","Ashley","Ashly","Ashlynn","Ashton","Ashtyn","Asia","Assunta","Astrid","Athena","Aubree","Aubrey","Audie","Audra","Audreanne","Audrey","August","Augusta","Augustine","Augustus","Aurelia","Aurelie","Aurelio","Aurore","Austen","Austin","Austyn","Autumn","Ava","Avery","Avis","Axel","Ayana","Ayden","Ayla","Aylin","Baby","Bailee","Bailey","Barbara","Barney","Baron","Barrett","Barry","Bart","Bartholome","Barton","Baylee","Beatrice","Beau","Beaulah","Bell","Bella","Belle","Ben","Benedict","Benjamin","Bennett","Bennie","Benny","Benton","Berenice","Bernadette","Bernadine","Bernard","Bernardo","Berneice","Bernhard","Bernice","Bernie","Berniece","Bernita","Berry","Bert","Berta","Bertha","Bertram","Bertrand","Beryl","Bessie","Beth","Bethany","Bethel","Betsy","Bette","Bettie","Betty","Bettye","Beulah","Beverly","Bianka","Bill","Billie","Billy","Birdie","Blair","Blaise","Blake","Blanca","Blanche","Blaze","Bo","Bobbie","Bobby","Bonita","Bonnie","Boris","Boyd","Brad","Braden","Bradford","Bradley","Bradly","Brady","Braeden","Brain","Brandi","Brando","Brandon","Brandt","Brandy","Brandyn","Brannon","Branson","Brant","Braulio","Braxton","Brayan","Breana","Breanna","Breanne","Brenda","Brendan","Brenden","Brendon","Brenna","Brennan","Brennon","Brent","Bret","Brett","Bria","Brian","Briana","Brianne","Brice","Bridget","Bridgette","Bridie","Brielle","Brigitte","Brionna","Brisa","Britney","Brittany","Brock","Broderick","Brody","Brook","Brooke","Brooklyn","Brooks","Brown","Bruce","Bryana","Bryce","Brycen","Bryon","Buck","Bud","Buddy","Buford","Bulah","Burdette","Burley","Burnice","Buster","Cade","Caden","Caesar","Caitlyn","Cale","Caleb","Caleigh","Cali","Calista","Callie","Camden","Cameron","Camila","Camilla","Camille","Camren","Camron","Camryn","Camylle","Candace","Candelario","Candice","Candida","Candido","Cara","Carey","Carissa","Carlee","Carleton","Carley","Carli","Carlie","Carlo","Carlos","Carlotta","Carmel","Carmela","Carmella","Carmelo","Carmen","Carmine","Carol","Carolanne","Carole","Carolina","Caroline","Carolyn","Carolyne","Carrie","Carroll","Carson","Carter","Cary","Casandra","Casey","Casimer","Casimir","Casper","Cassandra","Cassandre","Cassidy","Cassie","Catalina","Caterina","Catharine","Catherine","Cathrine","Cathryn","Cathy","Cayla","Ceasar","Cecelia","Cecil","Cecile","Cecilia","Cedrick","Celestine","Celestino","Celia","Celine","Cesar","Chad","Chadd","Chadrick","Chaim","Chance","Chandler","Chanel","Chanelle","Charity","Charlene","Charles","Charley","Charlie","Charlotte","Chase","Chasity","Chauncey","Chaya","Chaz","Chelsea","Chelsey","Chelsie","Chesley","Chester","Chet","Cheyanne","Cheyenne","Chloe","Chris","Christ","Christa","Christelle","Christian","Christiana","Christina","Christine","Christop","Christophe","Christopher","Christy","Chyna","Ciara","Cicero","Cielo","Cierra","Cindy","Citlalli","Clair","Claire","Clara","Clarabelle","Clare","Clarissa","Clark","Claud","Claude","Claudia","Claudie","Claudine","Clay","Clemens","Clement","Clementina","Clementine","Clemmie","Cleo","Cleora","Cleta","Cletus","Cleve","Cleveland","Clifford","Clifton","Clint","Clinton","Clotilde","Clovis","Cloyd","Clyde","Coby","Cody","Colby","Cole","Coleman","Colin","Colleen","Collin","Colt","Colten","Colton","Columbus","Concepcion","Conner","Connie","Connor","Conor","Conrad","Constance","Constantin","Consuelo","Cooper","Cora","Coralie","Corbin","Cordelia","Cordell","Cordia","Cordie","Corene","Corine","Cornelius","Cornell","Corrine","Cortez","Cortney","Cory","Coty","Courtney","Coy","Craig","Crawford","Creola","Cristal","Cristian","Cristina","Cristobal","Cristopher","Cruz","Crystal","Crystel","Cullen","Curt","Curtis","Cydney","Cynthia","Cyril","Cyrus","Dagmar","Dahlia","Daija","Daisha","Daisy","Dakota","Dale","Dallas","Dallin","Dalton","Damaris","Dameon","Damian","Damien","Damion","Damon","Dan","Dana","Dandre","Dane","D'angelo","Dangelo","Danial","Daniela","Daniella","Danielle","Danika","Dannie","Danny","Dante","Danyka","Daphne","Daphnee","Daphney","Darby","Daren","Darian","Dariana","Darien","Dario","Darion","Darius","Darlene","Daron","Darrel","Darrell","Darren","Darrick","Darrin","Darrion","Darron","Darryl","Darwin","Daryl","Dashawn","Dasia","Dave","David","Davin","Davion","Davon","Davonte","Dawn","Dawson","Dax","Dayana","Dayna","Dayne","Dayton","Dean","Deangelo","Deanna","Deborah","Declan","Dedric","Dedrick","Dee","Deion","Deja","Dejah","Dejon","Dejuan","Delaney","Delbert","Delfina","Delia","Delilah","Dell","Della","Delmer","Delores","Delpha","Delphia","Delphine","Delta","Demarco","Demarcus","Demario","Demetris","Demetrius","Demond","Dena","Denis","Dennis","Deon","Deondre","Deontae","Deonte","Dereck","Derek","Derick","Deron","Derrick","Deshaun","Deshawn","Desiree","Desmond","Dessie","Destany","Destin","Destinee","Destiney","Destini","Destiny","Devan","Devante","Deven","Devin","Devon","Devonte","Devyn","Dewayne","Dewitt","Dexter","Diamond","Diana","Dianna","Diego","Dillan","Dillon","Dimitri","Dina","Dino","Dion","Dixie","Dock","Dolly","Dolores","Domenic","Domenica","Domenick","Domenico","Domingo","Dominic","Dominique","Don","Donald","Donato","Donavon","Donna","Donnell","Donnie","Donny","Dora","Dorcas","Dorian","Doris","Dorothea","Dorothy","Dorris","Dortha","Dorthy","Doug","Douglas","Dovie","Doyle","Drake","Drew","Duane","Dudley","Dulce","Duncan","Durward","Dustin","Dusty","Dwight","Dylan","Earl","Earlene","Earline","Earnest","Earnestine","Easter","Easton","Ebba","Ebony","Ed","Eda","Edd","Eddie","Eden","Edgar","Edgardo","Edison","Edmond","Edmund","Edna","Eduardo","Edward","Edwardo","Edwin","Edwina","Edyth","Edythe","Effie","Efrain","Efren","Eileen","Einar","Eino","Eladio","Elaina","Elbert","Elda","Eldon","Eldora","Eldred","Eldridge","Eleanora","Eleanore","Eleazar","Electa","Elena","Elenor","Elenora","Eleonore","Elfrieda","Eli","Elian","Eliane","Elias","Eliezer","Elijah","Elinor","Elinore","Elisa","Elisabeth","Elise","Eliseo","Elisha","Elissa","Eliza","Elizabeth","Ella","Ellen","Ellie","Elliot","Elliott","Ellis","Ellsworth","Elmer","Elmira","Elmo","Elmore","Elna","Elnora","Elody","Eloisa","Eloise","Elouise","Eloy","Elroy","Elsa","Else","Elsie","Elta","Elton","Elva","Elvera","Elvie","Elvis","Elwin","Elwyn","Elyse","Elyssa","Elza","Emanuel","Emelia","Emelie","Emely","Emerald","Emerson","Emery","Emie","Emil","Emile","Emilia","Emiliano","Emilie","Emilio","Emily","Emma","Emmalee","Emmanuel","Emmanuelle","Emmet","Emmett","Emmie","Emmitt","Emmy","Emory","Ena","Enid","Enoch","Enola","Enos","Enrico","Enrique","Ephraim","Era","Eriberto","Eric","Erica","Erich","Erick","Ericka","Erik","Erika","Erin","Erling","Erna","Ernest","Ernestina","Ernestine","Ernesto","Ernie","Ervin","Erwin","Eryn","Esmeralda","Esperanza","Esta","Esteban","Estefania","Estel","Estell","Estella","Estelle","Estevan","Esther","Estrella","Etha","Ethan","Ethel","Ethelyn","Ethyl","Ettie","Eudora","Eugene","Eugenia","Eula","Eulah","Eulalia","Euna","Eunice","Eusebio","Eva","Evalyn","Evan","Evangeline","Evans","Eve","Eveline","Evelyn","Everardo","Everett","Everette","Evert","Evie","Ewald","Ewell","Ezekiel","Ezequiel","Ezra","Fabian","Fabiola","Fae","Fannie","Fanny","Fatima","Faustino","Fausto","Favian","Fay","Faye","Federico","Felicia","Felicita","Felicity","Felipa","Felipe","Felix","Felton","Fermin","Fern","Fernando","Ferne","Fidel","Filiberto","Filomena","Finn","Fiona","Flavie","Flavio","Fleta","Fletcher","Flo","Florence","Florencio","Florian","Florida","Florine","Flossie","Floy","Floyd","Ford","Forest","Forrest","Foster","Frances","Francesca","Francesco","Francis","Francisca","Francisco","Franco","Frank","Frankie","Franz","Fred","Freda","Freddie","Freddy","Frederic","Frederick","Frederik","Frederique","Fredrick","Fredy","Freeda","Freeman","Freida","Frida","Frieda","Friedrich","Fritz","Furman","Gabe","Gabriel","Gabriella","Gabrielle","Gaetano","Gage","Gail","Gardner","Garett","Garfield","Garland","Garnet","Garnett","Garret","Garrett","Garrick","Garrison","Garry","Garth","Gaston","Gavin","Gay","Gayle","Gaylord","Gene","General","Genesis","Genevieve","Gennaro","Genoveva","Geo","Geoffrey","George","Georgette","Georgiana","Georgianna","Geovanni","Geovanny","Geovany","Gerald","Geraldine","Gerard","Gerardo","Gerda","Gerhard","Germaine","German","Gerry","Gerson","Gertrude","Gia","Gianni","Gideon","Gilbert","Gilberto","Gilda","Giles","Gillian","Gina","Gino","Giovani","Giovanna","Giovanni","Giovanny","Gisselle","Giuseppe","Gladyce","Gladys","Glen","Glenda","Glenna","Glennie","Gloria","Godfrey","Golda","Golden","Gonzalo","Gordon","Grace","Gracie","Graciela","Grady","Graham","Grant","Granville","Grayce","Grayson","Green","Greg","Gregg","Gregoria","Gregorio","Gregory","Greta","Gretchen","Greyson","Griffin","Grover","Guadalupe","Gudrun","Guido","Guillermo","Guiseppe","Gunnar","Gunner","Gus","Gussie","Gust","Gustave","Guy","Gwen","Gwendolyn","Hadley","Hailee","Hailey","Hailie","Hal","Haleigh","Haley","Halie","Halle","Hallie","Hank","Hanna","Hannah","Hans","Hardy","Harley","Harmon","Harmony","Harold","Harrison","Harry","Harvey","Haskell","Hassan","Hassie","Hattie","Haven","Hayden","Haylee","Hayley","Haylie","Hazel","Hazle","Heath","Heather","Heaven","Heber","Hector","Heidi","Helen","Helena","Helene","Helga","Hellen","Helmer","Heloise","Henderson","Henri","Henriette","Henry","Herbert","Herman","Hermann","Hermina","Herminia","Herminio","Hershel","Herta","Hertha","Hester","Hettie","Hilario","Hilbert","Hilda","Hildegard","Hillard","Hillary","Hilma","Hilton","Hipolito","Hiram","Hobart","Holden","Hollie","Hollis","Holly","Hope","Horace","Horacio","Hortense","Hosea","Houston","Howard","Howell","Hoyt","Hubert","Hudson","Hugh","Hulda","Humberto","Hunter","Hyman","Ian","Ibrahim","Icie","Ida","Idell","Idella","Ignacio","Ignatius","Ike","Ila","Ilene","Iliana","Ima","Imani","Imelda","Immanuel","Imogene","Ines","Irma","Irving","Irwin","Isaac","Isabel","Isabell","Isabella","Isabelle","Isac","Isadore","Isai","Isaiah","Isaias","Isidro","Ismael","Isobel","Isom","Israel","Issac","Itzel","Iva","Ivah","Ivory","Ivy","Izabella","Izaiah","Jabari","Jace","Jacey","Jacinthe","Jacinto","Jack","Jackeline","Jackie","Jacklyn","Jackson","Jacky","Jaclyn","Jacquelyn","Jacques","Jacynthe","Jada","Jade","Jaden","Jadon","Jadyn","Jaeden","Jaida","Jaiden","Jailyn","Jaime","Jairo","Jakayla","Jake","Jakob","Jaleel","Jalen","Jalon","Jalyn","Jamaal","Jamal","Jamar","Jamarcus","Jamel","Jameson","Jamey","Jamie","Jamil","Jamir","Jamison","Jammie","Jan","Jana","Janae","Jane","Janelle","Janessa","Janet","Janice","Janick","Janie","Janis","Janiya","Jannie","Jany","Jaquan","Jaquelin","Jaqueline","Jared","Jaren","Jarod","Jaron","Jarred","Jarrell","Jarret","Jarrett","Jarrod","Jarvis","Jasen","Jasmin","Jason","Jasper","Jaunita","Javier","Javon","Javonte","Jay","Jayce","Jaycee","Jayda","Jayde","Jayden","Jaydon","Jaylan","Jaylen","Jaylin","Jaylon","Jayme","Jayne","Jayson","Jazlyn","Jazmin","Jazmyn","Jazmyne","Jean","Jeanette","Jeanie","Jeanne","Jed","Jedediah","Jedidiah","Jeff","Jefferey","Jeffery","Jeffrey","Jeffry","Jena","Jenifer","Jennie","Jennifer","Jennings","Jennyfer","Jensen","Jerad","Jerald","Jeramie","Jeramy","Jerel","Jeremie","Jeremy","Jermain","Jermaine","Jermey","Jerod","Jerome","Jeromy","Jerrell","Jerrod","Jerrold","Jerry","Jess","Jesse","Jessica","Jessie","Jessika","Jessy","Jessyca","Jesus","Jett","Jettie","Jevon","Jewel","Jewell","Jillian","Jimmie","Jimmy","Jo","Joan","Joana","Joanie","Joanne","Joannie","Joanny","Joany","Joaquin","Jocelyn","Jodie","Jody","Joe","Joel","Joelle","Joesph","Joey","Johan","Johann","Johanna","Johathan","John","Johnathan","Johnathon","Johnnie","Johnny","Johnpaul","Johnson","Jolie","Jon","Jonas","Jonatan","Jonathan","Jonathon","Jordan","Jordane","Jordi","Jordon","Jordy","Jordyn","Jorge","Jose","Josefa","Josefina","Joseph","Josephine","Josh","Joshua","Joshuah","Josiah","Josiane","Josianne","Josie","Josue","Jovan","Jovani","Jovanny","Jovany","Joy","Joyce","Juana","Juanita","Judah","Judd","Jude","Judge","Judson","Judy","Jules","Julia","Julian","Juliana","Julianne","Julie","Julien","Juliet","Julio","Julius","June","Junior","Junius","Justen","Justice","Justina","Justine","Juston","Justus","Justyn","Juvenal","Juwan","Kacey","Kaci","Kacie","Kade","Kaden","Kadin","Kaela","Kaelyn","Kaia","Kailee","Kailey","Kailyn","Kaitlin","Kaitlyn","Kale","Kaleb","Kaleigh","Kaley","Kali","Kallie","Kameron","Kamille","Kamren","Kamron","Kamryn","Kane","Kara","Kareem","Karelle","Karen","Kari","Kariane","Karianne","Karina","Karine","Karl","Karlee","Karley","Karli","Karlie","Karolann","Karson","Kasandra","Kasey","Kassandra","Katarina","Katelin","Katelyn","Katelynn","Katharina","Katherine","Katheryn","Kathleen","Kathlyn","Kathryn","Kathryne","Katlyn","Katlynn","Katrina","Katrine","Kattie","Kavon","Kay","Kaya","Kaycee","Kayden","Kayla","Kaylah","Kaylee","Kayleigh","Kayley","Kayli","Kaylie","Kaylin","Keagan","Keanu","Keara","Keaton","Keegan","Keeley","Keely","Keenan","Keira","Keith","Kellen","Kelley","Kelli","Kellie","Kelly","Kelsi","Kelsie","Kelton","Kelvin","Ken","Kendall","Kendra","Kendrick","Kenna","Kennedi","Kennedy","Kenneth","Kennith","Kenny","Kenton","Kenya","Kenyatta","Kenyon","Keon","Keshaun","Keshawn","Keven","Kevin","Kevon","Keyon","Keyshawn","Khalid","Khalil","Kian","Kiana","Kianna","Kiara","Kiarra","Kiel","Kiera","Kieran","Kiley","Kim","Kimberly","King","Kip","Kira","Kirk","Kirsten","Kirstin","Kitty","Kobe","Koby","Kody","Kolby","Kole","Korbin","Korey","Kory","Kraig","Kris","Krista","Kristian","Kristin","Kristina","Kristofer","Kristoffer","Kristopher","Kristy","Krystal","Krystel","Krystina","Kurt","Kurtis","Kyla","Kyle","Kylee","Kyleigh","Kyler","Kylie","Kyra","Lacey","Lacy","Ladarius","Lafayette","Laila","Laisha","Lamar","Lambert","Lamont","Lance","Landen","Lane","Laney","Larissa","Laron","Larry","Larue","Laura","Laurel","Lauren","Laurence","Lauretta","Lauriane","Laurianne","Laurie","Laurine","Laury","Lauryn","Lavada","Lavern","Laverna","Laverne","Lavina","Lavinia","Lavon","Lavonne","Lawrence","Lawson","Layla","Layne","Lazaro","Lea","Leann","Leanna","Leanne","Leatha","Leda","Lee","Leif","Leila","Leilani","Lela","Lelah","Leland","Lelia","Lempi","Lemuel","Lenna","Lennie","Lenny","Lenora","Lenore","Leo","Leola","Leon","Leonard","Leonardo","Leone","Leonel","Leonie","Leonor","Leonora","Leopold","Leopoldo","Leora","Lera","Lesley","Leslie","Lesly","Lessie","Lester","Leta","Letha","Letitia","Levi","Lew","Lewis","Lexi","Lexie","Lexus","Lia","Liam","Liana","Libbie","Libby","Lila","Lilian","Liliana","Liliane","Lilla","Lillian","Lilliana","Lillie","Lilly","Lily","Lilyan","Lina","Lincoln","Linda","Lindsay","Lindsey","Linnea","Linnie","Linwood","Lionel","Lisa","Lisandro","Lisette","Litzy","Liza","Lizeth","Lizzie","Llewellyn","Lloyd","Logan","Lois","Lola","Lolita","Loma","Lon","London","Lonie","Lonnie","Lonny","Lonzo","Lora","Loraine","Loren","Lorena","Lorenz","Lorenza","Lorenzo","Lori","Lorine","Lorna","Lottie","Lou","Louie","Louisa","Lourdes","Louvenia","Lowell","Loy","Loyal","Loyce","Lucas","Luciano","Lucie","Lucienne","Lucile","Lucinda","Lucio","Lucious","Lucius","Lucy","Ludie","Ludwig","Lue","Luella","Luigi","Luis","Luisa","Lukas","Lula","Lulu","Luna","Lupe","Lura","Lurline","Luther","Luz","Lyda","Lydia","Lyla","Lynn","Lyric","Lysanne","Mabel","Mabelle","Mable","Mac","Macey","Maci","Macie","Mack","Mackenzie","Macy","Madaline","Madalyn","Maddison","Madeline","Madelyn","Madelynn","Madge","Madie","Madilyn","Madisen","Madison","Madisyn","Madonna","Madyson","Mae","Maegan","Maeve","Mafalda","Magali","Magdalen","Magdalena","Maggie","Magnolia","Magnus","Maia","Maida","Maiya","Major","Makayla","Makenna","Makenzie","Malachi","Malcolm","Malika","Malinda","Mallie","Mallory","Malvina","Mandy","Manley","Manuel","Manuela","Mara","Marc","Marcel","Marcelina","Marcelino","Marcella","Marcelle","Marcellus","Marcelo","Marcia","Marco","Marcos","Marcus","Margaret","Margarete","Margarett","Margaretta","Margarette","Margarita","Marge","Margie","Margot","Margret","Marguerite","Maria","Mariah","Mariam","Marian","Mariana","Mariane","Marianna","Marianne","Mariano","Maribel","Marie","Mariela","Marielle","Marietta","Marilie","Marilou","Marilyne","Marina","Mario","Marion","Marisa","Marisol","Maritza","Marjolaine","Marjorie","Marjory","Mark","Markus","Marlee","Marlen","Marlene","Marley","Marlin","Marlon","Marques","Marquis","Marquise","Marshall","Marta","Martin","Martina","Martine","Marty","Marvin","Mary","Maryam","Maryjane","Maryse","Mason","Mateo","Mathew","Mathias","Mathilde","Matilda","Matilde","Matt","Matteo","Mattie","Maud","Maude","Maudie","Maureen","Maurice","Mauricio","Maurine","Maverick","Mavis","Max","Maxie","Maxime","Maximilian","Maximillia","Maximillian","Maximo","Maximus","Maxine","Maxwell","May","Maya","Maybell","Maybelle","Maye","Maymie","Maynard","Mayra","Mazie","Mckayla","Mckenna","Mckenzie","Meagan","Meaghan","Meda","Megane","Meggie","Meghan","Mekhi","Melany","Melba","Melisa","Melissa","Mellie","Melody","Melvin","Melvina","Melyna","Melyssa","Mercedes","Meredith","Merl","Merle","Merlin","Merritt","Mertie","Mervin","Meta","Mia","Micaela","Micah","Michael","Michaela","Michale","Micheal","Michel","Michele","Michelle","Miguel","Mikayla","Mike","Mikel","Milan","Miles","Milford","Miller","Millie","Milo","Milton","Mina","Minerva","Minnie","Miracle","Mireille","Mireya","Misael","Missouri","Misty","Mitchel","Mitchell","Mittie","Modesta","Modesto","Mohamed","Mohammad","Mohammed","Moises","Mollie","Molly","Mona","Monica","Monique","Monroe","Monserrat","Monserrate","Montana","Monte","Monty","Morgan","Moriah","Morris","Mortimer","Morton","Mose","Moses","Moshe","Mossie","Mozell","Mozelle","Muhammad","Muriel","Murl","Murphy","Murray","Mustafa","Mya","Myah","Mylene","Myles","Myra","Myriam","Myrl","Myrna","Myron","Myrtice","Myrtie","Myrtis","Myrtle","Nadia","Nakia","Name","Nannie","Naomi","Naomie","Napoleon","Narciso","Nash","Nasir","Nat","Natalia","Natalie","Natasha","Nathan","Nathanael","Nathanial","Nathaniel","Nathen","Nayeli","Neal","Ned","Nedra","Neha","Neil","Nelda","Nella","Nelle","Nellie","Nels","Nelson","Neoma","Nestor","Nettie","Neva","Newell","Newton","Nia","Nicholas","Nicholaus","Nichole","Nick","Nicklaus","Nickolas","Nico","Nicola","Nicolas","Nicole","Nicolette","Nigel","Nikita","Nikki","Nikko","Niko","Nikolas","Nils","Nina","Noah","Noble","Noe","Noel","Noelia","Noemi","Noemie","Noemy","Nola","Nolan","Nona","Nora","Norbert","Norberto","Norene","Norma","Norris","Norval","Norwood","Nova","Novella","Nya","Nyah","Nyasia","Obie","Oceane","Ocie","Octavia","Oda","Odell","Odessa","Odie","Ofelia","Okey","Ola","Olaf","Ole","Olen","Oleta","Olga","Olin","Oliver","Ollie","Oma","Omari","Omer","Ona","Onie","Opal","Ophelia","Ora","Oral","Oran","Oren","Orie","Orin","Orion","Orland","Orlando","Orlo","Orpha","Orrin","Orval","Orville","Osbaldo","Osborne","Oscar","Osvaldo","Oswald","Oswaldo","Otha","Otho","Otilia","Otis","Ottilie","Ottis","Otto","Ova","Owen","Ozella","Pablo","Paige","Palma","Pamela","Pansy","Paolo","Paris","Parker","Pascale","Pasquale","Pat","Patience","Patricia","Patrick","Patsy","Pattie","Paul","Paula","Pauline","Paxton","Payton","Pearl","Pearlie","Pearline","Pedro","Peggie","Penelope","Percival","Percy","Perry","Pete","Peter","Petra","Peyton","Philip","Phoebe","Phyllis","Pierce","Pierre","Pietro","Pink","Pinkie","Piper","Polly","Porter","Precious","Presley","Preston","Price","Prince","Princess","Priscilla","Providenci","Prudence","Queen","Queenie","Quentin","Quincy","Quinn","Quinten","Quinton","Rachael","Rachel","Rachelle","Rae","Raegan","Rafael","Rafaela","Raheem","Rahsaan","Rahul","Raina","Raleigh","Ralph","Ramiro","Ramon","Ramona","Randal","Randall","Randi","Randy","Ransom","Raoul","Raphael","Raphaelle","Raquel","Rashad","Rashawn","Rasheed","Raul","Raven","Ray","Raymond","Raymundo","Reagan","Reanna","Reba","Rebeca","Rebecca","Rebeka","Rebekah","Reece","Reed","Reese","Regan","Reggie","Reginald","Reid","Reilly","Reina","Reinhold","Remington","Rene","Renee","Ressie","Reta","Retha","Retta","Reuben","Reva","Rex","Rey","Reyes","Reymundo","Reyna","Reynold","Rhea","Rhett","Rhianna","Rhiannon","Rhoda","Ricardo","Richard","Richie","Richmond","Rick","Rickey","Rickie","Ricky","Rico","Rigoberto","Riley","Rita","River","Robb","Robbie","Robert","Roberta","Roberto","Robin","Robyn","Rocio","Rocky","Rod","Roderick","Rodger","Rodolfo","Rodrick","Rodrigo","Roel","Rogelio","Roger","Rogers","Rolando","Rollin","Roma","Romaine","Roman","Ron","Ronaldo","Ronny","Roosevelt","Rory","Rosa","Rosalee","Rosalia","Rosalind","Rosalinda","Rosalyn","Rosamond","Rosanna","Rosario","Roscoe","Rose","Rosella","Roselyn","Rosemarie","Rosemary","Rosendo","Rosetta","Rosie","Rosina","Roslyn","Ross","Rossie","Rowan","Rowena","Rowland","Roxane","Roxanne","Roy","Royal","Royce","Rozella","Ruben","Rubie","Ruby","Rubye","Rudolph","Rudy","Rupert","Russ","Russel","Russell","Rusty","Ruth","Ruthe","Ruthie","Ryan","Ryann","Ryder","Rylan","Rylee","Ryleigh","Ryley","Sabina","Sabrina","Sabryna","Sadie","Sadye","Sage","Saige","Sallie","Sally","Salma","Salvador","Salvatore","Sam","Samanta","Samantha","Samara","Samir","Sammie","Sammy","Samson","Sandra","Sandrine","Sandy","Sanford","Santa","Santiago","Santina","Santino","Santos","Sarah","Sarai","Sarina","Sasha","Saul","Savanah","Savanna","Savannah","Savion","Scarlett","Schuyler","Scot","Scottie","Scotty","Seamus","Sean","Sebastian","Sedrick","Selena","Selina","Selmer","Serena","Serenity","Seth","Shad","Shaina","Shakira","Shana","Shane","Shanel","Shanelle","Shania","Shanie","Shaniya","Shanna","Shannon","Shanny","Shanon","Shany","Sharon","Shaun","Shawn","Shawna","Shaylee","Shayna","Shayne","Shea","Sheila","Sheldon","Shemar","Sheridan","Sherman","Sherwood","Shirley","Shyann","Shyanne","Sibyl","Sid","Sidney","Sienna","Sierra","Sigmund","Sigrid","Sigurd","Silas","Sim","Simeon","Simone","Sincere","Sister","Skye","Skyla","Skylar","Sofia","Soledad","Solon","Sonia","Sonny","Sonya","Sophia","Sophie","Spencer","Stacey","Stacy","Stan","Stanford","Stanley","Stanton","Stefan","Stefanie","Stella","Stephan","Stephania","Stephanie","Stephany","Stephen","Stephon","Sterling","Steve","Stevie","Stewart","Stone","Stuart","Summer","Sunny","Susan","Susana","Susanna","Susie","Suzanne","Sven","Syble","Sydnee","Sydney","Sydni","Sydnie","Sylvan","Sylvester","Sylvia","Tabitha","Tad","Talia","Talon","Tamara","Tamia","Tania","Tanner","Tanya","Tara","Taryn","Tate","Tatum","Tatyana","Taurean","Tavares","Taya","Taylor","Teagan","Ted","Telly","Terence","Teresa","Terrance","Terrell","Terrence","Terrill","Terry","Tess","Tessie","Tevin","Thad","Thaddeus","Thalia","Thea","Thelma","Theo","Theodora","Theodore","Theresa","Therese","Theresia","Theron","Thomas","Thora","Thurman","Tia","Tiana","Tianna","Tiara","Tierra","Tiffany","Tillman","Timmothy","Timmy","Timothy","Tina","Tito","Titus","Tobin","Toby","Tod","Tom","Tomas","Tomasa","Tommie","Toney","Toni","Tony","Torey","Torrance","Torrey","Toy","Trace","Tracey","Tracy","Travis","Travon","Tre","Tremaine","Tremayne","Trent","Trenton","Tressa","Tressie","Treva","Trever","Trevion","Trevor","Trey","Trinity","Trisha","Tristian","Tristin","Triston","Troy","Trudie","Trycia","Trystan","Turner","Twila","Tyler","Tyra","Tyree","Tyreek","Tyrel","Tyrell","Tyrese","Tyrique","Tyshawn","Tyson","Ubaldo","Ulices","Ulises","Una","Unique","Urban","Uriah","Uriel","Ursula","Vada","Valentin","Valentina","Valentine","Valerie","Vallie","Van","Vance","Vanessa","Vaughn","Veda","Velda","Vella","Velma","Velva","Vena","Verda","Verdie","Vergie","Verla","Verlie","Vern","Verna","Verner","Vernice","Vernie","Vernon","Verona","Veronica","Vesta","Vicenta","Vicente","Vickie","Vicky","Victor","Victoria","Vida","Vidal","Vilma","Vince","Vincent","Vincenza","Vincenzo","Vinnie","Viola","Violet","Violette","Virgie","Virgil","Virginia","Virginie","Vita","Vito","Viva","Vivian","Viviane","Vivianne","Vivien","Vivienne","Vladimir","Wade","Waino","Waldo","Walker","Wallace","Walter","Walton","Wanda","Ward","Warren","Watson","Wava","Waylon","Wayne","Webster","Weldon","Wellington","Wendell","Wendy","Werner","Westley","Weston","Whitney","Wilber","Wilbert","Wilburn","Wiley","Wilford","Wilfred","Wilfredo","Wilfrid","Wilhelm","Wilhelmine","Will","Willa","Willard","William","Willie","Willis","Willow","Willy","Wilma","Wilmer","Wilson","Wilton","Winfield","Winifred","Winnifred","Winona","Winston","Woodrow","Wyatt","Wyman","Xander","Xavier","Xzavier","Yadira","Yasmeen","Yasmin","Yasmine","Yazmin","Yesenia","Yessenia","Yolanda","Yoshiko","Yvette","Yvonne","Zachariah","Zachary","Zachery","Zack","Zackary","Zackery","Zakary","Zander","Zane","Zaria","Zechariah","Zelda","Zella","Zelma","Zena","Zetta","Zion","Zita","Zoe","Zoey","Zoie","Zoila","Zola","Zora","Zula"];
a.exports={generateUsername:f}},function(a,b,c){(function(b){"use strict";function f(a){this.versions={},this.conference=a,this.conference.addCommandListener("versions",this.processPresence.bind(this))}var d=c(9).getLogger(b),e=c(59);f.FOCUS_COMPONENT="focus",f.VIDEOBRIDGE_COMPONENT="videobridge",f.XMPP_SERVER_COMPONENT="xmpp",f.prototype.processPresence=function(a,b,c){if("http://jitsi.org/jitmeet"!==a.attributes.xmlns)return void d.warn("Ignored presence versions node - invalid xmlns",a);if(!this.conference._isFocus(c))return void d.warn("Received versions not from the focus user: "+a,c);var g=[];a.children.forEach(function(a){var b=a.attributes.name;if(b!==f.FOCUS_COMPONENT&&b!==f.XMPP_SERVER_COMPONENT&&b!==f.VIDEOBRIDGE_COMPONENT)return void d.warn("Received version for not supported component name: "+b);var c=a.value;this.versions[b]!==c&&(this.versions[b]=c,d.info("Got "+b+" version: "+c),g.push({id:"component_version",component:b,version:c}))}.bind(this)),g.length>0&&e.sendLog(JSON.stringify(g))},f.prototype.getComponentVersion=function(a){return this.versions[a]},a.exports=f}).call(b,"modules/version/ComponentsVersions.js")},function(a,b,c){(function(b){"use strict";function h(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function p(a){this.conference=a,a.on(g.TRACK_MUTE_CHANGED,function(b){b.isLocal()&&a.statistics&&a.statistics.sendMuteEvent(b.isMuted(),b.getType())})}var d=c(1),e=h(d),f=c(2),g=h(f),i=c(9).getLogger(b),j=c(146),k=c(35),l=c(49),m=c(38),n=c(59),o=c(36);p.prototype.setupChatRoomListeners=function(){var a=this.conference,b=a.room;this.chatRoomForwarder=new j(b,this.conference.eventEmitter),b.addListener(k.ICE_RESTARTING,function(){a.rtc.closeAllDataChannels()}),b.addListener(k.REMOTE_TRACK_ADDED,function(b){var c=a.rtc.createRemoteTrack(b);c&&a.onTrackAdded(c)}),b.addListener(k.REMOTE_TRACK_REMOVED,function(b,c){a.getParticipants().forEach(function(d){for(var e=d.getTracks(),f=0;f<e.length;f++)if(e[f]&&e[f].getStreamId()==b&&e[f].getTrackId()==c){var h=d._tracks.splice(f,1)[0];return a.rtc.removeRemoteTrack(d.getId(),h.getType()),a.eventEmitter.emit(g.TRACK_REMOVED,h),void(a.transcriber&&a.transcriber.removeTrack(h))}})}),b.addListener(k.AUDIO_MUTED_BY_FOCUS,function(b){a.rtc.setAudioMute(b).then(function(){a.isMutedByFocus=!0},function(){i.warn("Error while audio muting due to focus request")})}),this.chatRoomForwarder.forward(k.SUBJECT_CHANGED,g.SUBJECT_CHANGED),this.chatRoomForwarder.forward(k.MUC_JOINED,g.CONFERENCE_JOINED),b.addListener(k.MUC_JOINED,function(){for(var a in b.connectionTimes){var c=b.connectionTimes[a];n.analytics.sendEvent("conference."+a,{value:c})}for(var d in b.xmpp.connectionTimes){var e=b.xmpp.connectionTimes[d];n.analytics.sendEvent("xmpp."+d,{value:e})}}),this.chatRoomForwarder.forward(k.ROOM_JOIN_ERROR,g.CONFERENCE_FAILED,e.CONNECTION_ERROR),this.chatRoomForwarder.forward(k.ROOM_CONNECT_ERROR,g.CONFERENCE_FAILED,e.CONNECTION_ERROR),this.chatRoomForwarder.forward(k.ROOM_CONNECT_NOT_ALLOWED_ERROR,g.CONFERENCE_FAILED,e.NOT_ALLOWED_ERROR),this.chatRoomForwarder.forward(k.ROOM_MAX_USERS_ERROR,g.CONFERENCE_FAILED,e.CONFERENCE_MAX_USERS),this.chatRoomForwarder.forward(k.PASSWORD_REQUIRED,g.CONFERENCE_FAILED,e.PASSWORD_REQUIRED),this.chatRoomForwarder.forward(k.AUTHENTICATION_REQUIRED,g.CONFERENCE_FAILED,e.AUTHENTICATION_REQUIRED),this.chatRoomForwarder.forward(k.BRIDGE_DOWN,g.CONFERENCE_FAILED,e.VIDEOBRIDGE_NOT_AVAILABLE),b.addListener(k.BRIDGE_DOWN,function(){n.analytics.sendEvent("conference.bridgeDown")}),this.chatRoomForwarder.forward(k.RESERVATION_ERROR,g.CONFERENCE_FAILED,e.RESERVATION_ERROR),this.chatRoomForwarder.forward(k.GRACEFUL_SHUTDOWN,g.CONFERENCE_FAILED,e.GRACEFUL_SHUTDOWN),b.addListener(k.JINGLE_FATAL_ERROR,function(b,c){a.eventEmitter.emit(g.CONFERENCE_FAILED,e.JINGLE_FATAL_ERROR,c)}),b.addListener(k.CONNECTION_ICE_FAILED,function(){b.eventEmitter.emit(k.CONFERENCE_SETUP_FAILED,new Error("ICE fail"))}),this.chatRoomForwarder.forward(k.MUC_DESTROYED,g.CONFERENCE_FAILED,e.CONFERENCE_DESTROYED),this.chatRoomForwarder.forward(k.CHAT_ERROR_RECEIVED,g.CONFERENCE_ERROR,e.CHAT_ERROR),this.chatRoomForwarder.forward(k.FOCUS_DISCONNECTED,g.CONFERENCE_FAILED,e.FOCUS_DISCONNECTED),b.addListener(k.FOCUS_LEFT,function(){n.analytics.sendEvent("conference.focusLeft"),a.eventEmitter.emit(g.CONFERENCE_FAILED,e.FOCUS_LEFT)});var c=function(b){n.sendEventToAll("conference.error."+b)};b.addListener(k.SESSION_ACCEPT_TIMEOUT,c.bind(null,"sessionAcceptTimeout")),this.chatRoomForwarder.forward(k.CONNECTION_INTERRUPTED,g.CONNECTION_INTERRUPTED),b.addListener(k.CONNECTION_INTERRUPTED,function(){n.sendEventToAll("connection.interrupted")}),this.chatRoomForwarder.forward(k.RECORDER_STATE_CHANGED,g.RECORDER_STATE_CHANGED),this.chatRoomForwarder.forward(k.PHONE_NUMBER_CHANGED,g.PHONE_NUMBER_CHANGED),this.chatRoomForwarder.forward(k.CONNECTION_RESTORED,g.CONNECTION_RESTORED),b.addListener(k.CONNECTION_RESTORED,function(){n.sendEventToAll("connection.restored")}),this.chatRoomForwarder.forward(k.CONFERENCE_SETUP_FAILED,g.CONFERENCE_FAILED,e.SETUP_FAILED),b.setParticipantPropertyListener(function(b,c){var d=a.getParticipantById(c);d&&d.setProperty(b.tagName.substring("jitsi_participant_".length),b.value)}),this.chatRoomForwarder.forward(k.KICKED,g.KICKED),b.addListener(k.KICKED,function(){a.room=null,a.leave.bind(a)}),this.chatRoomForwarder.forward(k.MUC_LOCK_CHANGED,g.LOCK_STATE_CHANGED),b.addListener(k.MUC_MEMBER_JOINED,a.onMemberJoined.bind(a)),b.addListener(k.MUC_MEMBER_LEFT,a.onMemberLeft.bind(a)),this.chatRoomForwarder.forward(k.MUC_LEFT,g.CONFERENCE_LEFT),b.addListener(k.DISPLAY_NAME_CHANGED,a.onDisplayNameChanged.bind(a)),b.addListener(k.LOCAL_ROLE_CHANGED,function(b){a.eventEmitter.emit(g.USER_ROLE_CHANGED,a.myUserId(),b),a.statistics&&a.isModerator()&&a.on(g.RECORDER_STATE_CHANGED,function(a,b){var c={id:"recorder_status",status:a};b&&(c.error=b),n.sendLog(JSON.stringify(c))})}),b.addListener(k.MUC_ROLE_CHANGED,a.onUserRoleChanged.bind(a)),b.addListener(m.IDENTITY_UPDATED,function(b,c){a.authEnabled=b,a.authIdentity=c,a.eventEmitter.emit(g.AUTH_STATUS_CHANGED,b,c)}),b.addListener(k.MESSAGE_RECEIVED,function(b,c,d,e,f){var h=Strophe.getResourceFromJid(b);a.eventEmitter.emit(g.MESSAGE_RECEIVED,h,d,f)}),b.addListener(k.PRESENCE_STATUS,function(b,c){var d=Strophe.getResourceFromJid(b),e=a.getParticipantById(d);e&&e._status!==c&&(e._status=c,a.eventEmitter.emit(g.USER_STATUS_CHANGED,d,c))}),a.room.addListener(k.LOCAL_UFRAG_CHANGED,function(a){n.sendLog(JSON.stringify({id:"local_ufrag",value:a}))}),a.room.addListener(k.REMOTE_UFRAG_CHANGED,function(a){n.sendLog(JSON.stringify({id:"remote_ufrag",value:a}))}),b.addPresenceListener("startmuted",function(b,c){var d=!1;if(a.myUserId()===c&&a.isModerator())d=!0;else{var e=a.getParticipantById(c);e&&e.isModerator()&&(d=!0)}if(d){var f="true"===b.attributes.audio,h="true"===b.attributes.video,i=!1;f!==a.startMutedPolicy.audio&&(a.startMutedPolicy.audio=f,i=!0),h!==a.startMutedPolicy.video&&(a.startMutedPolicy.video=h,i=!0),i&&a.eventEmitter.emit(g.START_MUTED_POLICY_CHANGED,a.startMutedPolicy)}}),b.addPresenceListener("videomuted",function(b,c){a.rtc.handleRemoteTrackMute(o.VIDEO,"true"==b.value,c)}),b.addPresenceListener("audiomuted",function(b,c){a.rtc.handleRemoteTrackMute(o.AUDIO,"true"==b.value,c)}),b.addPresenceListener("videoType",function(b,c){a.rtc.handleRemoteTrackVideoTypeChanged(b.value,c)}),b.addPresenceListener("devices",function(b,c){var d=!1,e=!1;b.children.forEach(function(a){"audio"===a.tagName&&(d="true"===a.value),"video"===a.tagName&&(e="true"===a.value)});var f;if(a.myUserId()===c)f=a.availableDevices;else{var h=a.getParticipantById(c);if(!h)return;f=h._availableDevices}var i=!1;f.audio!==d&&(i=!0,f.audio=d),f.video!==e&&(i=!0,f.video=e),i&&a.eventEmitter.emit(g.AVAILABLE_DEVICES_CHANGED,c,f)}),a.statistics&&(b.addListener(k.CONNECTION_ICE_FAILED,function(b){a.statistics.sendIceConnectionFailedEvent(b)}),b.addListener(k.CREATE_OFFER_FAILED,function(b,c){a.statistics.sendCreateOfferFailed(b,c)}),b.addListener(k.CREATE_ANSWER_FAILED,function(b,c){a.statistics.sendCreateAnswerFailed(b,c)}),b.addListener(k.SET_LOCAL_DESCRIPTION_FAILED,function(b,c){a.statistics.sendSetLocalDescFailed(b,c)}),b.addListener(k.SET_REMOTE_DESCRIPTION_FAILED,function(b,c){a.statistics.sendSetRemoteDescFailed(b,c)}),b.addListener(k.ADD_ICE_CANDIDATE_FAILED,function(b,c){a.statistics.sendAddIceCandidateFailed(b,c)}))},p.prototype.setupRTCListeners=function(){var a=this.conference;this.rtcForwarder=new j(a.rtc,this.conference.eventEmitter),a.rtc.addListener(l.DOMINANTSPEAKER_CHANGED,function(b){a.lastDominantSpeaker!==b&&a.room&&(a.lastDominantSpeaker=b,a.eventEmitter.emit(g.DOMINANT_SPEAKER_CHANGED,b)),a.statistics&&a.myUserId()===b&&a.statistics.sendDominantSpeakerEvent()}),a.rtc.addListener(l.DATA_CHANNEL_OPEN,function(){var b=window.performance.now();i.log("(TIME) data channel opened ",b),a.room.connectionTimes["data.channel.opened"]=b,n.analytics.sendEvent("conference.dataChannel.open",{value:b})}),this.rtcForwarder.forward(l.LASTN_CHANGED,g.IN_LAST_N_CHANGED),this.rtcForwarder.forward(l.LASTN_ENDPOINT_CHANGED,g.LAST_N_ENDPOINTS_CHANGED),a.rtc.addListener(l.AVAILABLE_DEVICES_CHANGED,function(b){a.room.updateDeviceAvailability(b)}),a.rtc.addListener(l.ENDPOINT_MESSAGE_RECEIVED,function(b,c){a.eventEmitter.emit(g.ENDPOINT_MESSAGE_RECEIVED,a.getParticipantById(b),c)})},p.prototype.setupXMPPListeners=function(){var a=this.conference;a.xmpp.addListener(k.CALL_INCOMING,a.onIncomingCall.bind(a)),a.xmpp.addListener(k.CALL_ENDED,a.onCallEnded.bind(a)),a.xmpp.addListener(k.START_MUTED_FROM_FOCUS,function(b,c){a.startAudioMuted=b,a.startVideoMuted=c,a.getLocalTracks().forEach(function(b){switch(b.getType()){case o.AUDIO:a.startAudioMuted&&b.mute();break;case o.VIDEO:a.startVideoMuted&&b.mute()}}),a.eventEmitter.emit(g.STARTED_MUTED)})},p.prototype.setupStatisticsListeners=function(){var a=this.conference;a.statistics&&(a.statistics.addAudioLevelListener(function(b,c){var d=a.rtc.getResourceBySSRC(b);d&&a.rtc.setAudioLevel(d,c)}),a.statistics.addConnectionStatsListener(function(b){var c=b.resolution,d={};Object.keys(c).forEach(function(b){var e=c[b];if(e.width&&e.height&&e.width!=-1&&e.height!=-1){var f=a.rtc.getResourceBySSRC(b);if(f){var g=d[f]||{};g[b]=e,d[f]=g}}}),b.resolution=d,a.eventEmitter.emit(g.CONNECTION_STATS,b)}),a.statistics.addAudioProblemListener(function(b){a._reportAudioProblem(b)}),a.statistics.addByteSentStatsListener(function(b){a.getLocalTracks().forEach(function(a){var c=a.getSSRC();a.isAudioTrack()&&c&&b.hasOwnProperty(c)&&a._setByteSent(b[c])})}))},a.exports=p}).call(b,"JitsiConferenceEventManager.js")},function(a,b){"use strict";function c(a,b){if(!a||!b||"function"!=typeof a.addListener||"function"!=typeof b.emit)throw new Error("Invalid arguments passed to EventEmitterForwarder");this.src=a,this.dest=b}c.prototype.forward=function(){var a=arguments,b=a[0];a[0]=this.dest,this.src.addListener(b,Function.prototype.bind.apply(this.dest.emit,a))},a.exports=c},function(a,b,c){"use strict";var d=c(148),e=c(150),f="before",g="recording",h="transcribing",i="finished",j=80,k=function(){this.audioRecorder=new d,this.transcriptionService=new e,this.counter=null,this.startTime=null,this.transcription=null,this.callback=null,this.results=[],this.state=f,this.lineLength=0};k.prototype.start=function(){if(this.state!==f)throw new Error("The transcription can only start when it's in the\""+f+'" state. It\'s currently in the "'+this.state+'" state');this.state=g,this.audioRecorder.start(),this.startTime=new Date},k.prototype.stop=function(b){if(this.state!==g)throw new Error("The transcription can only stop when it's in the\""+g+'" state. It\'s currently in the "'+this.state+'" state');console.log("stopping recording and sending audio files"),this.audioRecorder.stop();var c=this,d=l.bind(this);this.audioRecorder.getRecordingResults().forEach(function(a){c.transcriptionService.send(a,d),c.counter++}),this.state=h,this.callback=b};var l=function(b){if(console.log("retrieved an answer from the transcription service. The answer has an array of length: "+b.wordArray.length),b.wordArray.length>0){var c=b.startTime.getUTCMilliseconds()-this.startTime.getUTCMilliseconds();c<0&&(c=0);var d="[";b.wordArray.forEach(function(a){a.begin+=c,a.end+=c,d+=a.word+","}),d+="]",console.log(d),b.wordArray.name=b.name}this.results.push(b.wordArray),this.counter--,console.log("current counter: "+this.counter),this.maybeMerge()};k.prototype.maybeMerge=function(){this.state===h&&0===this.counter&&this.merge()},k.prototype.merge=function(){console.log("starting merge process!\n The length of the array: "+this.results.length),this.transcription="";var a=this.results,b=[];m(a),a.forEach(function(a){n(b,a)});for(var c,d,e;m(a);)for(c=a[0],a.forEach(function(a){a[0].begin<c[0].begin&&(c=a)}),d=c.shift(),this.updateTranscription(d,c.name);!e&&c.length>0;)a.forEach(function(a){a[0].begin<c[0].begin&&(e=!0)}),e||(d=c.shift(),this.updateTranscription(d,null));this.state=i,this.callback&&this.callback(this.transcription)},k.prototype.updateTranscription=function(a,b){void 0!==b&&null!==b&&(this.transcription+="\n"+b+":",this.lineLength=b.length+1),this.lineLength+a.word.length>j&&(this.transcription+="\n ",this.lineLength=4),this.transcription+=" "+a.word,this.lineLength+=a.word.length+1};var m=function(b){var c;for(c=0;c<b.length;c++)0===b[c].length&&b.splice(c,1);return b.length>0},n=function(b,c){if(0===b.length)b.push(c);else{if(b[b.length-1].begin<=c.begin)return void b.push(c);var d;for(d=0;d<b.length;d++)if(c.begin<b[d].begin)return void b.splice(d,0,c);b.push(c)}};k.prototype.addTrack=function(a){this.audioRecorder.addTrack(a)},k.prototype.removeTrack=function(a){this.audioRecorder.removeTrack(a)},k.prototype.getTranscription=function(){if(this.state!==i)throw new Error("The transcription can only be retrieved when it's in the\""+i+'" state. It\'s currently in the "'+this.state+'" state');return this.transcription},k.prototype.getState=function(){return this.state},k.prototype.reset=function(){this.state=f,this.counter=null,this.transcription=null,this.startTime=null,this.callback=null,this.results=[],this.lineLength=0},a.exports=k},function(a,b,c){"use strict";function h(a){if(void 0===a.recorder)throw new Error("Passed an object to startRecorder which is not a TrackRecorder object");a.recorder.start(),a.startTime=new Date}function i(a){if(void 0===a.recorder)throw new Error("Passed an object to stopRecorder which is not a TrackRecorder object");a.recorder.stop()}function j(a){var b=new g(a),c=b.track.getOriginalStream(),d=m();return c.getAudioTracks().forEach(function(a){d.addTrack(a)}),b.recorder=new MediaRecorder(d,{mimeType:l.fileType}),b.data=[],b.recorder.ondataavailable=function(a){a.data.size>0&&b.data.push(a.data)},b}function k(){if(MediaRecorder.isTypeSupported(e))return e;if(MediaRecorder.isTypeSupported(f))return f;throw new Error("unable to create a MediaRecorder with theright mimetype!")}function m(){if("undefined"!=typeof MediaStream)return new MediaStream;if("undefined"!=typeof webkitMediaStream)return new webkitMediaStream;throw new Error("cannot create a clean mediaStream")}var d=c(149),e="audio/webm",f="audio/ogg",g=function(b){this.track=b,this.recorder=null,this.data=null,this.name=null,this.startTime=null},l=function(b){this.recorders=[],this.fileType=k(),this.isRecording=!1,this.jitsiConference=b};l.determineCorrectFileType=k,l.prototype.addTrack=function(a){if(a.isAudioTrack()){var b=j(a);this.recorders.push(b),this.updateNames(),this.isRecording&&h(b)}},l.prototype.removeTrack=function(a){if(!a.isVideoTrack()){var c,b=this.recorders;for(c=0;c<b.length;c++)if(b[c].track.getParticipantId()===a.getParticipantId()){var d=b[c];this.isRecording?i(d):b.splice(c,1)}this.updateNames()}},l.prototype.updateNames=function(){var a=this.jitsiConference;this.recorders.forEach(function(b){if(b.track.isLocal())b.name="the transcriber";else{var c=b.track.getParticipantId(),d=a.getParticipantById(c),e=d.getDisplayName();"undefined"!==e&&(b.name=e)}})},l.prototype.start=function(){if(this.isRecording)throw new Error("audiorecorder is already recording");this.isRecording=!0,this.recorders.forEach(function(a){h(a)}),console.log("Started the recording of the audio. There are currently "+this.recorders.length+" recorders active.")},l.prototype.stop=function(){this.isRecording=!1,this.recorders.forEach(function(a){i(a)}),console.log("stopped recording")},l.prototype.download=function(){var a=this;this.recorders.forEach(function(b){var c=new Blob(b.data,{type:a.fileType}),d=URL.createObjectURL(c),e=document.createElement("a");document.body.appendChild(e),e.style="display: none",e.href=d,e.download="test."+a.fileType.split("/")[1],e.click(),window.URL.revokeObjectURL(d)})},l.prototype.getRecordingResults=function(){if(this.isRecording)throw new Error("cannot get blobs because the AudioRecorder is stillrecording!");this.updateNames();var a=[],b=this;return this.recorders.forEach(function(c){a.push(new d(new Blob(c.data,{type:b.fileType}),c.name,c.startTime))}),a},l.prototype.getFileType=function(){return this.fileType},a.exports=l},function(a,b){"use strict";var c=function(b,c,d,e){this.blob=b,this.name=c,this.startTime=d,this.wordArray=e};a.exports=c},function(a,b,c){"use strict";function h(){var a="config does not contain an url to a Sphinx4 https server";if(void 0===config.sphinxURL)console.log(a);else{var b=config.sphinxURL;if(void 0!==b.includes&&b.includes("https://"))return b;console.log(a)}}var d=c(151),e=c(152),f=c(148),g=function(){this.url=h()};g.prototype=Object.create(d.prototype),g.constructor=g,g.prototype.sendRequest=function(a,b){console.log("sending an audio file to "+this.url),console.log("the audio file being sent: "+a);var c=new XMLHttpRequest;c.onreadystatechange=function(){if(c.readyState===XMLHttpRequest.DONE&&200===c.status)b(c.responseText);else if(c.readyState===XMLHttpRequest.DONE)throw new Error("unable to accept response from sphinx server.status: "+c.status)},c.open("POST",this.url),c.setRequestHeader("Content-Type",f.determineCorrectFileType()),c.send(a),console.log("send "+a)},g.prototype.formatResponse=function(a){var b=JSON.parse(a).objects;b.shift();var c=[];return b.forEach(function(a){a.filler||c.push(new e(a.word,a.start,a.end))}),c},g.prototype.verify=function(a){if(console.log("response from server:"+a.toString()),"string"!=typeof a)return!1;var b;try{b=JSON.parse(a)}catch(a){return console.log(a),!1}if(void 0===b.objects)return!1;var c=b.objects;return!(!c[0]||!c[0]["session-id"])},a.exports=g},function(a,b){"use strict";var c=function(){throw new Error("TranscriptionService is abstract and cannot becreated")};c.prototype.send=function(b,c){var d=this;this.sendRequest(b.blob,function(a){d.verify(a)?(b.wordArray=d.formatResponse(a),c(b)):(console.log("the retrieved response from the server is not valid!"),b.wordArray=[],c(b))})},c.prototype.sendRequest=function(a,b){throw new Error("TranscriptionService.sendRequest is abstract")},c.prototype.formatResponse=function(a){throw new Error("TranscriptionService.format is abstract")},c.prototype.verify=function(a){throw new Error("TranscriptionService.verify is abstract")},a.exports=c},function(a,b){"use strict";var c=function(b,c,d){this.word=b,this.begin=c,this.end=d};c.prototype.getWord=function(){return this.word},c.prototype.getBeginTime=function(){return this.begin},c.prototype.getEndTime=function(){return this.end},a.exports=c},function(a,b,c){(function(b){"use strict";function j(a){return a&&a.__esModule?a:{default:a}}function k(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function q(a,b,c){this.rtc=a,this.conference=b,this.trackTimers={},this.rtcMuteTimeout="number"==typeof c?c:p,l.info("RtcMuteTimeout set to: "+this.rtcMuteTimeout)}var d=c(2),e=k(d),f=c(8),g=k(f),h=c(59),i=j(h),l=c(9).getLogger(b),m=c(36),n=c(32),o=c(49),p=2e3;q.prototype.init=function(){this._onEndpointConnStatusChanged=this.onEndpointConnStatusChanged.bind(this),this.rtc.addListener(o.ENDPOINT_CONN_STATUS_CHANGED,this._onEndpointConnStatusChanged),n.isVideoMuteOnConnInterruptedSupported()&&(this._onTrackRtcMuted=this.onTrackRtcMuted.bind(this),this.rtc.addListener(o.REMOTE_TRACK_MUTE,this._onTrackRtcMuted),this._onTrackRtcUnmuted=this.onTrackRtcUnmuted.bind(this),this.rtc.addListener(o.REMOTE_TRACK_UNMUTE,this._onTrackRtcUnmuted),this._onRemoteTrackAdded=this.onRemoteTrackAdded.bind(this),this.conference.on(e.TRACK_ADDED,this._onRemoteTrackAdded),this._onRemoteTrackRemoved=this.onRemoteTrackRemoved.bind(this),this.conference.on(e.TRACK_REMOVED,this._onRemoteTrackRemoved),this._onSignallingMuteChanged=this.onSignallingMuteChanged.bind(this))},q.prototype.dispose=function(){this.rtc.removeListener(o.ENDPOINT_CONN_STATUS_CHANGED,this._onEndpointConnStatusChanged),n.isVideoMuteOnConnInterruptedSupported()&&(this.rtc.removeListener(o.REMOTE_TRACK_MUTE,this._onTrackRtcMuted),this.rtc.removeListener(o.REMOTE_TRACK_UNMUTE,this._onTrackRtcUnmuted),this.conference.off(e.TRACK_ADDED,this._onRemoteTrackAdded),this.conference.off(e.TRACK_REMOVED,this._onRemoteTrackRemoved)),Object.keys(this.trackTimers).forEach(function(a){this.clearTimeout(a)}.bind(this))};var r=function(b){return b.getTracks().some(function(a){var b=a.getTrack();return a.getType()===m.VIDEO&&b&&b.muted===!0})};q.prototype.onEndpointConnStatusChanged=function(a,b){if(l.debug("Detector RTCEvents.ENDPOINT_CONN_STATUS_CHANGED("+Date.now()+"): "+a+": "+b),a!==this.conference.myUserId()){var c=this.conference.getParticipantById(a);b&&n.isVideoMuteOnConnInterruptedSupported()&&c&&r(c)&&!c.isVideoMuted()?l.debug("Ignoring RTCEvents.ENDPOINT_CONN_STATUS_CHANGED - will wait for unmute event"):this._changeConnectionStatus(a,b)}},q.prototype._changeConnectionStatus=function(a,b){var c=this.conference.getParticipantById(a);return c?void(c.isConnectionActive()!==b&&(c._setIsConnectionActive(b),l.debug("Emit endpoint conn status("+Date.now()+"): ",a,b),i.default.sendLog(JSON.stringify({id:"peer.conn.status",participant:a,status:b})),i.default.analytics.sendEvent("peer.conn.status",{label:b}),this.conference.eventEmitter.emit(e.PARTICIPANT_CONN_STATUS_CHANGED,a,b))):void l.warn("Missed participant connection status update - no participant for endpoint: "+a)},q.prototype.clearTimeout=function(a){this.trackTimers[a]&&(window.clearTimeout(this.trackTimers[a]),this.trackTimers[a]=null)},q.prototype.onRemoteTrackAdded=function(a){a.isLocal()||a.getType()!==m.VIDEO||(l.debug("Detector on remote track added: ",a.getParticipantId()),a.on(g.TRACK_MUTE_CHANGED,this._onSignallingMuteChanged))},q.prototype.onRemoteTrackRemoved=function(a){a.isLocal()||a.getType()!==m.VIDEO||(l.debug("Detector on remote track removed: ",a.getParticipantId()),a.off(g.TRACK_MUTE_CHANGED,this._onSignallingMuteChanged),this.clearTimeout(a.getParticipantId()))},q.prototype.onTrackRtcMuted=function(a){var b=a.getParticipantId(),c=this.conference.getParticipantById(b);return l.debug("Detector track RTC muted: ",b),c?void(c.isVideoMuted()||(this.trackTimers[b]=window.setTimeout(function(){!a.isMuted()&&c.isConnectionActive()&&(l.info("Connection interrupted through the RTC mute: "+b,Date.now()),this._changeConnectionStatus(b,!1)),this.clearTimeout(b)}.bind(this),this.rtcMuteTimeout))):void l.error("No participant for id: "+b)},q.prototype.onTrackRtcUnmuted=function(a){l.debug("Detector track RTC unmuted: ",a);var b=a.getParticipantId();a.isMuted()||this.conference.getParticipantById(b).isConnectionActive()||(l.info("Detector connection restored through the RTC unmute: "+b,Date.now()),this._changeConnectionStatus(b,!0)),this.clearTimeout(b)},q.prototype.onSignallingMuteChanged=function(a){l.debug("Detector on track signalling mute changed: ",a,a.isMuted());var b=a.isMuted(),c=a.getParticipantId(),d=this.conference.getParticipantById(c);if(!d)return void l.error("No participant for id: "+c);var e=d.isConnectionActive();b&&e&&this.trackTimers[c]&&(l.debug("Signalling got in sync - cancelling task for: "+c),this.clearTimeout(c))},a.exports=q}).call(b,"modules/connectivity/ParticipantConnectionStatus.js")},function(a,b,c){"use strict";function f(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b.default=a,b}function m(a,b){var c=b.find(function(b){return"audiooutput"===b.kind&&b.deviceId===a});c&&k.sendActiveDeviceListEvent(i.getEventDataForActiveDevice(c))}var d=c(5),e=f(d),g=c(14),h=c(49),i=c(48),j=c(36),k=c(59),l=new g;i.addListener(h.DEVICE_LIST_CHANGED,function(a){l.emit(e.DEVICE_LIST_CHANGED,a)}),i.addListener(h.DEVICE_LIST_AVAILABLE,function(a){m(n.getAudioOutputDevice(),a)});var n={enumerateDevices:function(b){i.enumerateDevices(b)},isDeviceListAvailable:function(){return i.isDeviceListAvailable()},isDeviceChangeAvailable:function(b){return i.isDeviceChangeAvailable(b)},isDevicePermissionGranted:function(b){var c=i.getDeviceAvailability();switch(b){case j.VIDEO:return c.video===!0;case j.AUDIO:return c.audio===!0;default:return c.video===!0&&c.audio===!0}},getAudioOutputDevice:function(){return i.getAudioOutputDevice()},setAudioOutputDevice:function(b){var c=i.getCurrentlyAvailableMediaDevices();return c&&c.length>0&&m(b,i.getCurrentlyAvailableMediaDevices()),i.setAudioOutputDevice(b)},addEventListener:function(b,c){l.addListener(b,c)},removeEventListener:function(b,c){l.removeListener(b,c)},emitEvent:function(b){l.emit.apply(l,arguments)}};a.exports=n},function(a,b,c){(function(b){"use strict";var d=c(9).getLogger(b),e=c(32),f={getVideoElementName:function(){return e.isTemasysPluginUsed()?"object":"video"},findVideoElement:function(b){var c=f.getVideoElementName();if(!e.isTemasysPluginUsed())return $(b).find(c)[0];var g=$(b).find(" "+c+'>param[value="video"]');return g.length?(g.length>1&&d.warn("Container with more than one video elements: ",b),g.parent()[0]):void 0},setVolume:function(b,c){e.isIExplorer()||(b.volume=c)},setAutoPlay:function(b,c){e.isIExplorer()||(b.autoplay=c)}};a.exports=f}).call(b,"modules/RTC/RTCUIHelper.js")}])});